1.先回答老师的问题

第一部分:结缘计算机

      读了进入2012 -- 回顾我走过的编程之路后,我试着回顾了我的编程生涯的开始。我最原始的记忆就是老爸教我用电脑玩连连看,那时候的显示器应该是CTR显示器,像电视机一样,屏幕都是凸起来的,没记错的话它应该还在车库里呆着,但是主机好像被家人甩了。一直以来电脑在我手里都是看电影玩游戏,后来在初中,可能是初二还是初三吧,可能是因为想要实现自己想要的功能,我产生了自己编程的想法,于是在网上找C++的教程,因为需要C编译器,得知Linux自带gcc编译器后还尝试了安装Linux,因为不懂虚拟机,英语也是初中水平,于是向老爸请教如何安装系统,然后老爸就不让我动他电脑了。
虽然第一次接触编程就半途而废了,但是隐约还记得“C语言从include开始”。现在学习cs的时候,想起初中开始的编程生涯,总是会感到遗憾。相比优秀的程序员,他们在DOS时代就开始了编程生涯,没有因为业余学习的困难而放弃。如果我坚持学习,经历这么多年,肯定会具备一定的水平的。我觉得并不是坚持很难得,而是我太容易放弃了。我需要做的是谨记这次经历,每一次学习都付出全力,不轻易地放弃。
      后来,在三年后,我巧合地被计算机专业录取了。在新学期学习C语言的时候,我才恍然想起来这就是我初中接触过的编程课程。在后来课堂上得知很多人都在高中阶段从事过编程学习,还有些人参加过OI竞赛。跟这些人比起我,我的水平真是太浅了,我们大部分人唯一接触过的编程就是高中数学学习的VB。但是,得益于老师一视同仁的教导,我们这些不具备基础的人都逐渐入门了C语言。当时我还以为学好了C语言就可以工作了,后来,我们逐渐接触了JAVA,JavaEE,Microsoft.NET,我才发现还有这么多编程语言具备C语言所不具备的特性。现在回忆起来我真是目光短浅了,听说游戏都是用C语言写的,就准备用C语言的水平去工作了,想起来就觉得好笑呢。
      为什么喜欢计算机呢,因为在学习中,我得知了还有许多我没有学习过的技术,工程师们用这些技术实现了我们生活和学习中必需的各种功能,科研工作者们探索计算机领域的更多技术。我希望我也能成为他们中的一员,实现用户需求的功能,使我的努力和工作发挥价值。我想我现在的水平是远远不够的,还需要先学习计算机领域的基础。
 

第二部分:在计算机系里学习

      结束了高中最后阶段的学习后,进入大学后就失去了当年的勤劳,每天只想躺在床上不想动。我真是太懒惰了,好在后来逐渐找回了对编程的喜爱,有了开发个人产品服务用户的想法,开始加入老师的项目组和课外知识的自学。上大学之后感觉人与人之间都有距离感了,不像高中那么熟悉,所以我觉得沉浸在个人学习中挺好的。国内外的大学区别我也不清楚,不过我认为我们的老师都是很和蔼的,但是我们的课上都是沉默的,而外教上课一般都是踊跃发言的,有留学经历的老师应该感觉更深刻。其实老师上课问问题,我脑子里有想法,但是我不想吭声。我觉得现在的教学我就可以接受,毕竟计算机专业需要靠我们自觉地课后学习。关于国外大学的教育,希望以后有机会可以接触吧。
      我学习过的MOOC是Coursera和iTunes U,在Coursera上学习Machine Learning和在iTunes U上学习iOS,但是目前的成果是有限的。MOOC可以自由选择感兴趣的课程,并且没有严格时间要求,而且学习的内容可以立刻采用自己的电脑来自己尝试,可以立刻发现问题和尝试解决问题。但是这种没有监督的学习方式非常自由,我很容易在缺乏时间的时候放置应该进行的学习。而大学课堂学习,每节课都会按时到场,并且可以在课后和老师讨论问题。这两种方式都是可以采取的,我们在学习中可以结合这两种方式,在课堂上学习老师安排的课程,在MOOC中学习个人感兴趣的课程,这样我们业余学习的技能也会具备一定的水平,有利于未来从事相关行业。
      其实,Machine Learning和Developing iOS这两门课差别很大,我只看英文字幕的情况下,iOS完全没有问题,而Machine Learning看完都是一脸懵逼,做题得时候需要根据题意在Slide里面找答案,还经常做错。Programing的时候特别费脑,都是靠SOF上面参考完成的。不过,我感觉国外高校的老师上课很有趣,没错,我说的就是Developing iOS的老师,他语速特别快,但是很容易就可以听懂,很感谢iTunes U和Stanford University和Coursera提供免费的课程供我们学习。
      学习线性代数和概率论对计算机科学是十分必要的。比如Machine Learning就对我们的线性代数水平有一定的要求,概率论对软件的设计也是有参考价值的。所以学习计算机科学是要保证数学水平的。
 
 

第三部分:未来规划

      前文有提到,未来想实现用户迫切需求的功能,使我的努力和工作发挥价值。另外替我的家人开发一些移动应用可以方便他们的生活。另外,我和很多游戏爱好者一样,想加入Video Game团队制作受欢迎的游戏。但是,不管从事什么职业,都是可以在自己的职业中发挥个人价值的。马上面临实习了,我认为不管在实验室学习计算机领域备受关注的新技术,或者在企业学习应用广泛的成熟技术都是可取的,我们都能在实习中不断进步,提升个人实力,具备一定的基础进入未来的学习和工作。
 

2.另外的感想

      阅读了博文美国读研期间的一些计算机课程作业后,我认为老师划分检查点实现股票交易系统任务的方式我十分赞成,因为我们学期末一般有课程设计,我们总是倾向于做一个完整且具备一定功能的软件或者系统,但是在限定的一周时间内很难完成,总是耗费大量时间在某些没有意料到的问题上,结果最后很多预期的功能都来不及实现就参与答辩了。但是在老师的指导下,我们可以在课程的学习中逐步实现预期的功能,也有充足的时间来排除意外的问题。我希望在这学期就想好我的课题并且制定计划来分步骤完成,在此途中遇到的问题也可以咨询老师的意见。我打算编写一个MacOS app来方便管理我的相机照片,可以按时间分类照片,添加说明和重命名照片,可以查看照片细节和直方图,可以选择用LightRoom编辑或者用其它轻量的处理软件编辑,可以选择上传到相册或者网盘,这些就是大致上相机管理功能了,其它细节的功能就在之后的阶段来慢慢设想和实现。单元测试对我来说是第一次接触,因为之前的课程设计都是非常简单的,谈不上软件的规模,但是在开发一个具有复杂功能的软件的时候,就需要单元测试来排查问题,通过了单元测试,才能发挥该软件应有的功能。所以,在我即将开发的app基本成型的时候,就需要通过单元测试来保证它的正确性。

第一次写博客,纪念一下。2017.9.17

第1次作业:no blog no fun的更多相关文章

  1. java实验报告三

    实验三 敏捷开发与XP实践 一.实验内容 1. XP基础 2. XP核心实践 3. 相关工具 二.实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上 ...

  2. hadoop本地运行与集群运行

    开发环境: windows10+伪分布式(虚拟机组成的集群)+IDEA(不需要装插件) 介绍: 本地开发,本地debug,不需要启动集群,不需要在集群启动hdfs yarn 需要准备什么: 1/配置w ...

  3. 结对编程收获-Core10组-PB16110698

    本周结对编程追加作业:记录收获.坦白说,我的收获多而杂,一时不知从何说起,以下试图从各方面简要谈谈. 一.编程能力收获 从编程能力方面,我收获的主要是类的设计思路和算法设计.在作业要求blog的指引下 ...

  4. Flink集群监控

    prometheus+grafana 监控hadoop.yarn https://blog.csdn.net/c275090933/article/details/82108014 Prometheu ...

  5. [Beta]the Agiles Scrum Meeting 11

    会议时间:2020.5.26 21:00 1.每个人的工作 今天已完成的工作 成员 已完成的工作 issue yjy 帮助解决技术问题 tq 完成评测机新增评测指标 评测部分增加更多评测指标 wjx ...

  6. Blog总结02(4~6次作业总结)

    Blog总结02(4~6次作业总结) 1.前言 (1)题目集04共有三道题目,第一题难度较大,第二题和第三题难度适中,第一题考察的知识点是 Java 中的字符串处理类以及正则表达式对输入字符串数据进行 ...

  7. 2019年上-C语言程序设计-第1次blog作业

    准备工作(20分) 1.在博客园申请个人博客,以真实姓名和学号加入班级博客(链接地址) 2.关注邹欣老师博客(并寻找答案:邹欣老师是谁?是做什么的?).关注任课老师博客 3.注册登录中国大学MOOC网 ...

  8. 第一次OOP作业-Blog总结

    前言 第一次作业一共八道题,此次作业也是这三次作业中最接近面向过程程序设计的题目集,整体难度偏低,总耗时1.5h,主要的知识点在熟悉Java的语法上,整体题目的逻辑非常清晰简单,但最后一个判断三角形类 ...

  9. Blog总结(前三次作业总结)

    前三次作业总结 1.前言 (1)第一次题目集共有8道题目,难度较为简单,知识点为JAVA的一些编程基础知识点,如输入输出,选择,循环,一维数组等. (2)第二次题目集共有5道题目,难度较第一次题目集有 ...

随机推荐

  1. angular自定义过滤器操作实例

    //模块名字var filters = angular.module("customFilter",[]);//过滤器名字filters.filter("uniqueCa ...

  2. Maven使用中央仓库下载慢的解决办法

    配置Maven仓库的方法 打开Maven配置文件Setting.xml,如下: vim /Users/yuanweipeng/.m2/settings.xml 在配置文件中添加如下配置: <mi ...

  3. _vimrc 的配置

    windows set nocompatible set guifont=Consolas:h17 color molokai set backspace=2 set sts=4 set ts=4 s ...

  4. 【BZOJ3930】选数(莫比乌斯反演,杜教筛)

    [BZOJ3930]选数(莫比乌斯反演,杜教筛) 题面 给定\(n,K,L,R\) 问从\(L-R\)中选出\(n\)个数,使得他们\(gcd=K\)的方案数 题解 这样想,既然\(gcd=K\),首 ...

  5. SpringMVC 注解式开发

    SpringMVC的注解式开发是指,处理器是基于注解的类的开发.对于每一个定义的处理器,无需再配置文件中逐个注册,只需在代码中通过对类与方法的注解,便可完成注册.即注解替换是配置文件中对于处理器的注册 ...

  6. javaScript数组操作整理

    一.js数组 1.创建数组: var arr = new Array();//创建没有元素空数组 var arr1 = new Array("value1","valeu ...

  7. HTTP请求过程-域名解析和TCP三次握手建立链接

    我们在浏览器输入http://www.baidu.com想要进入百度首页,但是这是个域名,没法准确定位到服务器的位置,所以需要通过域名解析,把域名解析成对应的ip地址,然后通过ip地址查找目的主机.整 ...

  8. TestNG的简单使用

    TestNG的简单使用 TestNG(Test Next Generation)是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便. TestNG是 ...

  9. assert断言检测

    assert 是宏,非函数,包含在assert.h 头文件中. 如果其后面括号里的值为假,则程序终止运行,并提示出错.这个 宏只在 Debug 版本上起作用,而在 Release 版本被编译器完全优化 ...

  10. ZOJ3946:Highway Project(最短路变形)

    本文转载自:http://www.javaxxz.com/thread-359442-1-1.html Edward, the emperor of the Marjar Empire, wants ...