软件工程 第一周博客作业
一. 自我介绍
在你一生中身体最健康,精力最旺盛的时候,能在大学全职学习和研究,这是少有的机会。请说明一下,你是怎么选择了这个专业的?离成为一个合格的 IT专业毕业生,在专业知识、技能、能力上还差距哪些?
我是中国科学技术大学少转计专业的。说来也巧,当时并没有打算报科大少年班学院的想法,但是在给其他同学看报名少年班的时候,偶然看到科大开放对应届生的少院招生制度——创新试点班,所以当时就抱着多一次高考的心态报了一下,没想到竟然考上了。当时想着不需要念一年高三,省下来的时间不需要重复学习旧知识,可以学习一些新知识,所以就最终决定去科大少院。说到兴趣和技能,其实我对很多事情都有兴趣,比如乒乓球,比如小提琴,比如辩论。我觉得一个优势的培养既需要天赋,又需要兴趣,还需要时间。就拿辩论来说,我从小对辩论和哲学方面的书比较感兴趣,对儿童文学上面也看了很多,之后上了初中,每次必看新闻周刊,非常喜欢关注社会热点事件以及相关的新闻评论,所以对热点事件都能形成自己的见解。 举个例子,我在小时候喜欢看郑渊洁的童话系列,他的童话其实比较特别,背景都是源于生活,刻画了普通人的日常生活,其中包含了他自己的人生观和价值观,能给人很多入世的启发。所以我从小就对国民和中国社会的现状很关注,可以说一定程度的“忧国忧民”吧。之后接触到柴静、白岩松一辈新闻理想主义者,觉得十分钦佩,又阅读了他们的自传,比如《白说》、《看见》,以及他们曾经主持过的节目,比如《新闻周刊》。他们的书里面从记者的视角传达了很多价值观,很有启发。久而久之,一旦形成了自己的价值观,对事物就有了自己的判断,而且这种世界观和价值观越坚定,就越能对很多社会事件的解释包容到世界观中,从而不可动摇。因此在辩论中就有有力而读到的观点。我觉得我对辩论的兴趣在于,辩论是一个说服的过程,大家并不是仅仅语言上吵架,而是相互传递观点,相互理解和相互说服,这是非常吸引我的一点。每一次辩论可能都是价值观的一种推到和重塑。
二、现状,经验和计划
(1)技能自评
技能 | 目前的水平 | 课后想达到的水平 | 计划提高的手段 |
Programming Comprehension | 2 | 5 | a. 学习使用源码和数据结构解析工具来帮助理解 b。多阅读程序的语法书,在语法方面不至于遇到障碍 c。自己画图理解 d。自己单步、插入和删除片段尝试运行 e。从项目的整体结构和分类理解,比如数据结构、脚本、流水线和数据库 |
cutting edge technology | 0 | 5 | a。多览科技类新闻 b。关注科技论坛和公众号 c。多与他人交流前沿技术 d。科学而快速地看会议的论文集 e。多动手自己玩一玩 |
ability to learn | 5 | 7 | a。多动手,不要只看书 b。动手的过程中思考,而不是单纯的抄代码 c。动手写一些练手项目 d。能在工作的过程中合适的时机想到运用这些工具 e。能在工作的过程中优化这些工具 |
Work: code lines | 1 | 5 | a。多动手 b。多动手 c。多动手 |
Task Execution | 4 | 6 | a。拿到事情就马上拿去干完不拖延,不因为对任务时间的预估就拖延 |
Work with others | 5 | 5 | a。任务进度及时汇报,对其他人进度了解 b。合理分配任务 |
(2)博客心得
其实即使看了博客我仍然认为对于课程听讲应该具有选择性。因为我们知道人的水平和学习能力是参差不齐的,但是老师上课的速度是一样的,所以对于某些成绩正常的学生应该按步就班,因为这些学生由于学习方法和学习效率的原因自学确实比不上老师教课系统。但是对于某些学习效率很高的同学,如果他们也按照普通学生的学习进度,就会对他们自身水平造成影响,包括学习方向的选择问题。我记得听过一句话,要拔尖就要搞特殊化,如果只是为了提高平均水平,那么应该趋同这没问题。事实上人的精力是有限的,再举个例子,对于那些搞竞赛的学生,如果他们和能力一般的同学一起上课,那么他们就没什么时间去搞竞赛了,大家的水平也会趋同。关于专注的问题,其实我觉得能在课堂上专心做自己的事情防止干扰其实已经能说明专注能力了。其实关键不是在于听不听课,而是在于不听课的时候干什么,如果不听课,但是同时自己在花一半的时间已经自学了把作业做完了,其实没什么问题。
b)你在大学中体验到了哪种师生关系,你希望这门课是什么师生关系?如果老师布置的作业对你来说有些困难, 你会怎么样
我觉得老师和学生之间的关系更像是一种商业关系。老师教授知识,学生获取知识。学生不学对老师丝毫不会造成影响,并且学生是否认真学完全靠学生的积极性。对于学生来说,我觉得正常的心态应该是,跟着老师学习是不可多得的提升自己的好机会。在以后进入社会以后不仅仅只要学习就要付学费,而且甚至有钱可能都找不到好老师,接受老师的训练是对自己有百利而无一害的事情。
c)在工作中,我们要引用文献,参考别人的资料,在别人工作的基础上继续开发, 这些活动和抄袭、剽窃的区别是什么?请仔细阅读相关文章,并询问老师在这门课中的要求,了解学校对于抄袭的处理规定。
引用和参考别人资料和抄袭和剽窃之间的最主要区别在于,抄袭和剽窃是盗用了他人的成果以后不注明作者和出处,而是为自己谋利。而引用参考别人资料在别人研究结果的基础上,注明了别人的作者和出处。而注明出处的意义在于,能够知道你的论文中有多少内容是别人的贡献,有多少是你自己做出的突破。
(3)几年后,你可以做学术研究、做软件项目、做其他专业的工作,做公务员,出国深造,回家继承家族企业... ,不同的选择有不同的努力方向, 你今天是怎么为将来准备的?
我的选择是先读一个研究型硕士,然后根据情况变化和自己的现状做决定。我周围很多人读博士,现在选择读硕士的人也越来越多;同样,读完硕士以后直博的有,博士读了两年quit成硕士的也不少。读博士是5年的长远计划,我个人觉得在自己还没有深思熟虑和对就业前景和自身水平等现状有深刻了解之前,并不想直接为自己的今后五年做决定。所以我的想法是申请研究型硕士,一方面如果在科研的过程中发现了自己的能力和价值,很容易转成博士;如果发现自己不适合做科研,就业前景也比普通的工作性硕士要好。并且很多研究型硕士都有funding。至于硕士毕业之后,是继续科研还是直接去工作,取决于读硕过程中眼界和心境的变化吧。本学期的规划就是好好写代码提升代码能力好好做科研争取发论文。
(4)你在这门课的计划是什么?参考一些学校的教学(美国本科,中国软件工程本科1,美国大学软件专业),你对这个课程有什么期待?你打算怎样度过这个课程?你想当助教么?
你目前的代码量是多少(列出语言和代码量,精确到100行)? 为了有资格入职一流的软件公司/互联网/人工智能公司,需要多少代码量?从事高校教学科研工作呢?
我对这门课的计划是认真地用心做好每一个项目,对自己负责,抱着让自己多学点东西的态度做一点自己真正喜欢的和不一样的东西,而不是仅仅为了完成任务而去做作业。我对这个课程的期待是能够严格要求学生,让学生真正能够实践出书里面的方法论,同时又能够留给学生足够的自由选择的机会,做一些创新性的项目。
如果按照一门课4个实验来计算,一个实验的代码量大概在1000行~2000行,这样的课程本科大概有10门左右,这样代码行数大概在4~5万行。我觉得如果要入职一流的公司,平均每天至少要写300行代码,这样一年大概10w行代码,坚持三年。我计划在课程结束时完成本课程中的2w代码量。每周应该完成1000行代码量。
(5)你现在的道路很多前人曾经走过,他们有什么经验教训?请从博客末尾的文章列表任选一些阅读,针对其中一篇发表感想。
阅读了vczh的博客,同时也联系一些以前读过的人物传记。感想是真正的大佬都是从小培养自己的兴趣,并且自己能够主动探索的。他们会主动学习大量的知识,会去动手实现自己的想法。和科班出身的人不同,他们会有自己的一整套逻辑和想法,有自己想学的知识和想做的东西,这些都使他们和那些按部就班从学校出来的人不同。所以最大的感受是无论是工作还是研究,要self-motivated,有自己的想法才是最重要的。
三、对构建之法所提出的问题
1. 第4章 两人合作
我对结对编程的效率还是有一点疑惑,双方对于解决一个问题需不需要有单独的自己的想法,如果仅仅是一个Navigator另一个人按照想法执行,那么仍然就只有一个人的想法,只有一个人在思考。如果两个人都有自己的想法,那么互相说服和解释是不是又会拉低团队的效率
2. 第16章 IT行业的创新 P345
那么怎样才能让别人喜欢(至少不痛恨)你的创新呢?
其实我并不赞同必须要让用户喜欢自己的创新的这一想法。在刘海屏出来之前,很多人也说刘海屏是最丑的屏幕,但是很多旗舰机比如华为后来仍然纷纷效仿刘海屏,或者发展成水滴屏。乔布斯之前也说,用户不知道他们需要什么,我们让他们知道他们需要什么。无论是macintosh中鼠标的创新,还是在iphone中取消2.5mm耳机接口用lightning接口取代耳机接口并推出无线耳机,苹果在很多方面都是push着用户走出舒适区,去接受新的创新,虽然这些创新中有成功的也有失败的。所以我并不觉得创新应当完全考虑用户的感受。
3. 第16章 IT行业的创新 P348
为什么领域的专家有时候没有领域外的创新者那么有创意?
我觉得这个其实并不是领域的专家没有创意,而是因为领域的专业往往对一个问题有多种解决办法,而某些办法可能需要比较高的专业知识和技能。所以他们没有创新的需求。但是对于领域外的人,他们没有相应的知识和技能,所以他们有创造出方便易用的物品的需求,所以他们会去创新。所以我觉得并不是创意的问题,而是需求推动创新。
4. 第16章 IT行业的创新 P365
关于产品四个象限的划分
我个人的疑惑是必要需求和杀手功能是矛盾的,如果一个需求是必要需求,就不会成为杀手功能,反而是辅助需求可能成为杀手功能,因为可以拓展面向用户的群体。以即时通讯软件为例,他们的必要需求都是实时通讯,但是有人把外围功能做强就会成为杀手功能。比如腾讯的QQ把辅助功能比如QQ秀,QQ空间和QQ游戏大厅做好,成功地黏住了用户。微信把支付的外围手段做好,成为社交人群间转账的重要途径。而telegram专注通讯的加密,对于一般群体而言没有什么用处,但是对于需要机密通讯的群体(比如恐怖分子)就是杀手功能。
5. 17章 人,绩效和职业道德 P395
每个环节有且只有一个R
我查了一下responsible和acountable的区别是accountable的责任是不能被shared,所以感觉这个地方应该是每个环节有且只有一个A?