阅读与思考
阅读
具体阅读内容较长,可以查看作业原文:软件工程实践2017第一次作业,感想之类的在下面的回答中会有所体现。
思考
(1)回想一下你初入大学时对计算机专业的畅想
- 当初你是如何做出选择计算机专业的决定的?
- 你认为过去两年中接触到的课程是否符合你对计算机专业的期待,为什么?
- 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?
当初选择计算机专业,并不是什么经过深思熟虑的结果(像决定一些其他重要的事,最后是”不管了,豁出去“)。确定学校之后,再结合成绩,没有特别喜欢的专业就排除掉不喜欢的,计算机好像很厉害,心里也不排斥,就先待定。另一方面,自己大学之前都没怎么接触过计算机,可是现在计算机是必备技能,各行各业多少都要用到,想着那不如大学就学这个吧。所以,大概就是一个白得不能再白的小白,怀着对计算机的憧憬,就这么选择了计算机这个专业。
一开始,我都没怎么了解大学的教学模式,唯一的期待就是学完之后能用计算机做出一些很牛的东西,不过我也不清楚具体是什么东西。大一下上栋哥的C++之前,也是这样的教学模式(learning by doing),也被要求写了一次大一上的总结(是不是写总结是程序员的优良传统啊,之前还看到个段子是个程序员“我就是昨天发表白贴的那位,虽然失败了,但是我来总结一下经验“),那时写到课程是不符合自己期待的。大一上很多课程是公共基础课(C语言也是吧),先学点常识也是合情合理,可以接受,但是那个上机的效果和我想象的差得有点远。上机是一道道的小题,你写完代码,编译一下,运行跳出来一个黑框框,输出一个结果就没然后了(不过出结果还是有点成就感的)。小白不理解,这到底能用来干啥啊。那时还有一个念头是觉得自己以后不会当一辈子的程序员,只是为了以后其他需要来学计算机的相关技能。所以,大学上了一学期,基本上是处在迷茫得不能再迷的情况,反正就先规规矩矩地按高中方法学那些不知道有啥用的课。然后,大一寒假可以算是一个转折点吧,那时下学期给我们上C++的栋哥在寒假给我们布置了任务,印象深刻的是让我们先自学C++。于是我开始意识到了对程序员很重要的一点:自学(觉得课无聊,可以自己学点好玩的东西,是不是傻),最近读了那些博文,这个感觉也是越发强烈(下面还会提到关于自学的思考)。后来跟着课程一步步往下,最终是做了个计算器的半成品吧(大一暑假的时候倒是有再去完善一下),自学和自控都有待加强啊。虽然,这个计算器还是上不了大雅之堂,但是对我来说,可以算得上是我这二十多年来最伟大的个人成就之一了(感谢栋哥,感谢《构建之法》)。后来大二上学期也是规规矩矩的过,课程没有学得特别好。数据结构老师看得出来很想教好,但是上课不知为啥我老是走神(佩服前排那些全程全神贯注的童鞋),布置的上机题目倒是都有好好打(代码量也是读后感之一,下面再提),最后笔试也是挺渣的。偶然在知乎上看到Python学习路径及练手项目合集,觉得挺好玩的(最初的动力就是玩),于是大二寒假就想着自学。不过后来的结果是前置的linux课程都没学完,学了点Python2.7(后来再去看时,教程已经变成Python3.5了),就又开学了。看到一些同学仍然用博客记录学习,感觉挺好的,也试着写了一些(现在像是只是“搬运”,可自我感觉效果不错,忘记了像是也有笔记可以查)。所以我自学的意识是有,动机是无聊想玩,不过实际自学能力真是很糟糕。大二下开始选导师,选完我就兴冲冲的开始联系,导师倒是也很棒,给我们布置了入门任务回去做(论自学是多么的重要),后来也“烂尾”的感觉,忙着复习还是干嘛去了(现在暑假捡起来继续入门)。大二下的系统结构、组成原理和网络也是规规矩矩,算是对计算机的认识又更加深入了一点。数据库的话,主要是大作业,仍然是自学能力啊,组队大概还有团队协作的能力(论志同道合队友的重要性)。有些同学学HTML,做出来真的是相当beautiful,记得第一队的同学演示了将近二十分钟。说来惭愧,我还在啃计算器的老本,用当初学的点QT做了个功能极其简单,界面极其丑陋的东西。作为一名冷漠的社交障碍,或许和同学多交流会好点。以上是大学两年来对课程的一些体会和经历(好像有点跑偏,最近睡前总是止不住的东想西想)。现在来看,过去两年的课程还是比较符合自己的期待的,基础性的东西为主(然后下学期好多专业方面的课啊),规规矩矩的学过去,感觉问题不大,但回想起来有点“间歇性踌躇满志,持续性混吃等死”(某篇博文下印象深刻的自嘲评论)的意思。
现在计算机肯定是我喜欢的领域,原来就没有什么特别喜欢的专业,就比较反感金融那种看上去很无聊的行业。计算机算是一个比较有趣的创造性的领域吧,或许是因为栋哥课上做出来的计算器,或许是这两天看了一些博文心情还比较激动。擅长也是肯定说不上的,原来是白得不能再白得小白,现在可能只是没原来那么白的小白,我还差得远,连野生程序员都算不上。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?
- 离成为一个合格的计算机专业本科毕业生,在专业知识、技能、能力上还差距哪些?
专业知识就课堂上学的,现在还记得的就一些基础,一点数据结构、一点操作系统、一点组成原理、一点网络等,也就比非计算机专业的同学好点。自我感觉并没有掌握什么特别了不起的技能,主要还是课堂上的东西。了解C、C++,会解决一些简单的问题。自学了一点Java,但是还谈不上运用。能力的话,也没啥特突出的的能力,一丢丢亟待培养的自学能力。真是苍白。
合格的计算机专业本科毕业生,专业知识就还没学的那些吧(其实我觉得这些专业知识只能算是这一行业的常识,工作时候用到的估计是还要学的)。技能也不好说啊,至少得熟练掌握一门高级语言吧。我现在是觉得工作时需要的技能比较专,比较细,在实际工作中才能学到,或者你有确切的目标,然后再去细学它需要的技能。在没有明确自己需要什么技能之前,打好基础(算法呀,常识呀),广泛的涉猎,也是极好的(这也是我现在的想法)。能力的话倒是有几个感觉比较重要的能力,像是自学能力。计算机新技术层出不穷,不同的工作可能也需要不同的能力,自学肯定是无法避免的。一个好的程序员,应该是终生学习的。还有英语,现在感觉可能不是那么强烈。但是举例来说,国外的水平会比国内好点吧,你自学的时候往往就不得不看英文的资料。你要是想去外企工作,这也会是需要的吧。就算不去外企,我觉得作为程序员这也会是一个加分项。最后还有一个是团队协作与人沟通交流的能力吧(程序员都比较不会说话?),肯定会和别人一起打代码,完成项目。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
- 针对你的选择,你给自己的大三设定的规划安排是什么?
纠结的一直都是是考研和工作,考公和出国完全没有考虑过。原来想要考研是觉得大学四年,前两年主要基础,后面才专业一点,毕业出去总觉得自己学了两年又能找到什么工作呢。但是据说考研比高考还难,光是听说还要自己再去看高数,就开始怀疑自己能不能办到。所以纠结的点主要就是想考研来让自己更有竞争力,能做点比较有趣顺心的工作,但是又觉得自己可能会读不下去,也有点想保研的念头。这两天看了不少博文,不少同学表明了自己想考研的大方向,让我考研的念头更加强烈,总觉得自己多少都有点随大流的趋向,或许是感觉还有别人一起会比较容易坚持下去(小伙伴约自习啊)。不过,现在是还停留在构思的阶段,需要再多多地了解这方面的信息,也不排除其他的可能性。
考研的话,有何优势,我也说不清楚,现在主要想法是想让自己变得更强,不过考研好像是往科研的方向去的,我也没啥兴趣爱好,说不定就喜欢上研究了呢。劣势的话,就工作经验啥的吧,我觉得这不是什么大问题。
关于规划,我想了不少,不过和我想选择考研倒是关系不大。大三上学期的课程,看了下课表还是挺多的,看起来也更加“专业化”,想必会花去我不少的时间。而且,一不小心被抓去当班委,多少也会有点影响。主要的一个想法是好好上软工实践,花大量时间自学需要的技术想必是免不了的,忘记在哪看到说还会见到凌晨3,4点的福大,想想就刺激。还有一个看完博文之后的想法是,增加自己的代码量,多打代码多实践,肯定不吃亏的。过去两年,我打的代码基本上都是课堂作业,应该是5000行不到。至于具体的方法,原来是想去OJ刷题,比如我就挺喜欢hihoCoder。它的题库里的题目是有提示的,更像是一个学习的平台,然后有每周一题的挑战赛。不过,小白做一题还是要花不少时间,后来也是没有养成习惯。最近看了博文,主要是受 徐宥:掉进读书的兔子洞的影响,有了刷书的念头,不出意外的话,我想就是《编程珠玑》吧。代码量,算法,自学能力,代码规范等,感觉很有利啊。所以大三上想干的事主要就是这三件吧,学好专业课,好好做软工实践,刷《编程珠玑》。想着等大三下学期没什么课的时候再去准备考研的事,大三上我忙着呐。而且忘记了哪里看到说,软工实践有点像实际工作,上完再好好考虑考研还是工作也不迟。这里还想说明一些问题其实,关于规划,更多想得是实施的问题,想得太多做得太少是毛病,得让自己的规划是可实施的。实施的话就得因人而异,现在的我乃至将来很长一段时间的我,都做不到像徐宥那样疯狂地读书,从我两次都没看完《浪潮之巅》就可以看出来,所以能做好上面的三件事我就觉得还不错了。再往深处挖,大概还要问自己的动力是什么。人类是为欲望和利益所驱使的生物,抑或deadline? 大多数一开始只是无聊想玩,自学计划相当模糊,然后往往过早退出。希望大三戒浮戒躁,多做少想,善始善终,体会计算机的乐趣。
未来的期望
(4)你从学长学姐那,听过对于这个班级或这门实践课的要求或经验,促使你选择这门课这个班的动力是什么?
并没有从学长学姐那听说过什么,主要因为是栋哥上的吧,然后还有些一起选的小伙伴,感觉小白又会学到不少东西。
(5)针对上述问题(2)、(3)、(4),你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上,以达成你的期待以及你在(2)或(3)或(4)上的目标?
对这门课的期待,肯定能学到不少,但是有点担心自己不能善始善终,所以希望不要超出太多。至于投入多少时间,具体的不好说,感觉必要的话课余时间都可以给这门课。