现代软件工程 第一周

介绍本身,建博客

你们好,我是潘杰,来自中国科大数学学院,是计算数学专业的学生,如今在MSRA的IG组实习。程序员

我比较喜欢各类音乐,喜欢去音乐节和Livehouse,如今尤为喜欢hiphop和张悬的歌。以前也喜欢看书,有兴趣的书都会看,如今读书的时间愈来愈少了,看书的时间大多都用来看电影。大学在合肥常常会以为很无聊,周末就一我的看电影,三年大概看了150+。杨德昌说过,电影发明以后人类的生命至少延长了三倍,对此我很认同,我在电影中看到了不少触动人心的真实或者虚构的世界。每次去其余城市,若是有好的博物馆和艺术馆,我都会去看展览,有时候会独自在里面待一天。我心中一个好的城市必定要有很好的博物馆,好比北京和巴黎,这样它基本也会具备良好的城市文化氛围,才适合长久温馨的生活。其实不管看书听音乐,仍是看电影和逛博物馆,都是适合一我的去作,人多的时候不免喧闹。算法

我喜欢认识不一样文化背景的人,和不一样的人相处,听别人的经历和观点能让本身少一些狭隘和闭塞,听他们的故事是一种颇有趣的事情。因此我不喜欢在一个地方生活过久的时间,但愿能够常常换环境,这样能接触新的圈子,不至于让生活一成不变。数据库

我一直都比较喜欢数学,曾经学过不少年的数学竞赛,尤为是初高中花费了大量精力,周末和寒暑假都在学数学,最后结果还不错,进了CMO。本科在科大数院很幸运认识了许多良师益友,学习了不少的数学课。编程

现状、经验和计划

1.设计模式

在你一辈子中身体最健康,精力最旺盛的时候,能在大学全职学习和研究,这是少有的机会。请说明一下,你是怎么选择了这个专业的?离成为一个合格的 IT专业毕业生,在专业知识、技能、能力上还差距哪些?安全

选择计算机图形学,是由于大一听完科大刘利刚老师的报告后我感受这正是本身所喜欢的学科。微信

以后在科大GCL实验室与EPFL的LGG实验室学习了两年,以为比较喜欢图形学,想继续作下去。数据结构

本科学习数学的缘由:1.数院前两年半的数学课质量很高,收获很大 2.学数学感受内心面充实和愉悦 3.大一结束后没有想清楚是否转计院 4.我所在的图形学实验室氛围很好架构

距离一个合格的IT专业学生,还差不少,本科70%以上的时间都在学数学,CS知识严重薄弱。工具

技能 目前水平 但愿课程结束后的水平 如何完成目标
程序理解 4 6 多实践,多请教其余同窗
代码质量 3 5 多实践和练习
处理大数据 3 5 持续多学习
效能分析和改进 3 6 阅读相关的资料和方法
我的源码管理(Github) 2 5 须要坚持

 

2.

(a)你为什么要来上课而且认真参与

来上课的缘由:1.以前一直听闻邹欣老师授课高屋建瓴水平极高,想和老师多学习 

                         2.本身没有学习过软工课程,也不了解软件工程,想要提升能力

                         3.提升本身专心作事情的能力

(b)你在大学中体验到了哪一种师生关系,你但愿这门课是什么师生关系?若是老师布置的做业对你来讲有些困难, 你会怎么样:

本科时候师生关系大多数为:Stranger / Stranger 或 Prison Guard / Prisoner ,有少数Retailer / customer。

我所认知的理想关系也是Coach / Trainee。若是老师的课程较难,同时也是我所喜欢和想要掌握的,我会尽可能达到C: 向老师和同窗请教,花更多时间,把做业所有完成。

(c)在工做中,咱们要引用文献,参考别人的资料,在别人工做的基础上继续开发, 这些活动和抄袭、剽窃的区别是什么?

不管完成课程做业仍是科研,代码和文档都不能抄袭别人。关于引用和抄袭的区别,我认同祁琳峰同窗的观点。

 

3.几年后,你能够作学术研究、作软件项目、作其余专业的工做,作公务员,出国深造,回家继承家族企业...  ,不一样的选择有不一样的努力方向, 你今天是怎么为未来准备的?

若是phD期间比较顺利,会考虑毕业后继续research,想去欧洲或北美作postdoc,这样也能游历不一样的城市。若是考虑薪酬方面,直接国内找一个CV或CG相关的工做会更好。现阶段就是想要多补一补CS相关的技能。

 

4.你在这门课的计划是什么?参考一些学校的教学(美国本科,中国软件工程本科1,美国大学软件专业),你对这个课程有什么期待?你打算怎样度过这个课程?你想当助教么?

我计划经过这门课系统的学习软件工程,掌握这门课须要的各类技能。我想尽量多花时间和精力来完成这门课做业,作出本身所满意的项目。

你目前的代码量是多少(列出语言和代码量,精确到100行)? 为了有资格入职一流的软件公司/互联网/人工智能公司,须要多少代码量?从事高校教学科研工做呢?

语言 代码量 来源
C 8000 课程做业:C语言,数据结构,算法基础,偏微分方程数值解,数值代数
C++ 4000 1.课程做业:计算机图形学,数值代数  2.今年的暑研项目
Matlab 4000 1.课程做业:数值分析,数学建模 2.一些小的科研项目 

Python

1000 1.课程做业:人工智能原理 2.一些小的科研项目

这个代码量距离入职或科研,都相差弗远

你打算平均每周拿出多少个小时用在这门课上(时间包括上课时间)?

每周20+小时,若是还不够就周末多刷夜吧

 

若是你在前面说过,你在前两年浪费了不少时间,如今要发奋遇上,请问你打算:

我以为前两年也没有浪费太多时间...大多数数学课都很值得上,只不过一些计算数学的专业课内容过于陈旧或老师讲得太差了,应该把那些课从培养方案里面删掉。

我如今想要遇上其余人,要一直努力,直到达到目标为止。

你计划在本课程结束时,完成多少代码量?每周应完成多少代码量?

学期总高代码量5000+行,每周高质量的代码500+行

 

5.你如今的道路不少前人曾经走过,他们有什么经验教训?请从博客末尾的文章列表任选一些阅读,针对其中一篇发表感想。

 我读了陈梓瀚(vzch)的博文,文章回顾了他一路学习编程的经历。以前我有在知乎上看过他的回答,这篇博客和他在知乎上的风格是很类似的,诸如“高考数学选择题在发卷后不准动笔的10分钟内就被我所有心算出答案,并且全对了”之类的话语出现了不少...抛开这点不谈,他有不少值得学习的地方:

(a).“若是要快速提升本身的编程水平的话,你必须老是去作一些你作得出来,可是难度大到只要再难一点点你就作不出来的事情。再这么坚持好些年以后,确定会进入高手的行列。”要给本身不断地创造一些足够困难可是又有办法完成的挑战,这样才能够老是让本身保持着一个快速前进的状态。就是要避免本身一直沉浸在温馨区,要不断推到学习区。

(b).“设计模式的存在就是为了抵御需求变动”一段好的代码是具有好的维护性,在后续被别人继续开发中,不会出现混乱不堪以致于要重写,所以代码的架构必定要好。

(c).“在程序员的生涯里面,最重要的就是保持对编程的热情,不要被生活的杂事所磨灭。其次是要给本身不断地创造一些足够困难可是又有办法完成的挑战,这样才能够老是让本身保持着一个快速前进的状态。”

 

提有质量的问题, 给认真的反馈

请快速阅读《构建之法》全书,发布随笔1篇,要求列出5个问题,能够是读后不理解的,或者读后反对的。注明是哪一章哪一节。要有观点、有证据或分析。要求篇幅长到能把观点表述清楚。 

1.给任课老师和助教的建议(第9页)第五条:模拟实战,用客观数据来评分。

这一节提到:为了客观的评分,把学生做业当作比赛,比博客的阅读量,比下载量等等。

这样其实也是在考核学生的推广宣传能力,产品的创新思路,是否投合市场客户需求。我以为虽然考察内容更加综合宽泛,但可能会带来做业目的的误差。由于有些产品虽然质量很高,可是并非迎合市场的,下载量不免会通常。而有些CV方面的APP,好比变脸自动美颜,每每很受欢迎。

2.第六章 敏捷流程(第120页)

冲刺阶段,外部需求的改变将留待冲刺结束后再讨论,同时天天要开例会依次报告。

个人疑惑在于:第一,若是外部需求是必要且重要的,那么不理会他们的需求,即便作完项目也须要从新再作,这样是否是只会浪费更多的时间?第二,如何能够保证天天例会的高效性,这一点老师在122页有很详细的叙述了,但我还有建议:就是不一样成员须要提出本身对于项目新的思考想法,而不是仅仅汇报工做进度。思想上互相沟通,开会会更有价值。

3.第八章 需求分析(第173页)

关于四种划分:杀手功能\外围功能,必要需求\辅助需求, 以及所以划分出的四个象限。

这里我也想讨论微信与QQ直接的比较(这个问题我本身从高三就想了好久,同时我也读过祁琳峰的博客),谈谈个人见解。首先,我以为腾讯推出微信的目的不是想要替代QQ,而是去占有QQ以外的人群市场,这个市场既包含陌生人社交,也包含中老年人群。微信的杀手功能在于:1.摇一摇和附近的人等功能,提供了潜在的陌生人社交。2.大量优质的公众号内容以及朋友圈分享功能,客观上说微信公众号质量远高于其余社交软件,为愈来愈忙碌的生活提供了好的阅读方式。3.隐私保护的很是好,朋友圈三天可见,非共同好友没法看到朋友圈评论,添加好友的方式相对QQ比较安全。4.界面简洁,易于中老年人上手。

这些杀手功能足以让微信成为最好的社交软件。至于群文件管理等方面,虽然是必要需求,可是是外围功能,对于学生来讲用QQ来互补微信正好,对于公司来讲每每有内部本身的特有APP。

4.第十六章 IT行业的创新(第334页)

“不但大众不喜欢创新,甚至连创新者本身都不例外,有些创新者甚至恨创新。”

关于这一点,我以前听到一种观点:作科研要学会去翻20年前的老论文,其中一些论文的思想方法很好,结合如今更加进步的手段或工具,每每能有很好的新成果。

在算法或数据库领域,创新的想法不被接受,多是由于这种创新超过了所处时代工具的上限,还须要时间,等待技术的突破或新的社会需求。

5.第十二章 用户体验(第251页)

若是一个产品呈现的方式具备好的短时间刺激的效果,同时它又有不断更新的好的内容,我以为也能很好的生存下去。好比ins,它界面简单优雅,同时内容质量很高。

 

认真写反馈:为了改进教学,收集资料,老师在教学过程当中会要求学生填写对课程的反馈, 你会怎么作?

我会常常讲本身的问题和困惑与老师和助教沟通,提出反馈。

相关文章
相关标签/搜索