15231145-第0次个人作业
第0次个人作业#
第一部分 结缘计算机
1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答)
选择计算机专业,在现在的我看来,应该是一个完美的机缘巧合吧。因为在高考填志愿之前,我对编程是一窍不通的,和大多数同学一样,在这个“看分填志愿”的年代,谁也不想浪费自己寒窗苦读十二载换来的高考分数。记得那时候的我高考是675分,刚好达到了北航高工的录取分数线,因为对大学开设的专业并没有明确的最感兴趣这一说,而高工又给了大二任选专业这一说法,我便来到了高工。在大二选专业时,又本着那种“不要浪费分数与排名”的从众心理,靠着还不错的排名来到了竞争最火热的计算机专业学习。
如果就之前的基础学科来说的话,我觉得我还是算作优秀的,但是计算机真的是一门崭新的逻辑思维学科,如果论在这门领域里的造诣,我显然还太嫩了。看过那些推荐的博文后,我发现那些博主都有一些共性,就是超强的自学能力。才入门一年多的我,显然无法和他们相提并论,但是相较而言,我所在的学习环境与学习资源还是比他们优越一些,我定会珍惜这些宝贵的资源,不断提高自身的水平。
2.计算机是你喜欢的领域吗?是你擅长的领域吗?
大学以前,并不知道计算机到底是干嘛的,可能觉得最沾边的就是修电脑了,因为身边有同学沉迷电脑游戏而荒废学业的缘故,我对计算机本身也并不是那么有好感。但是大学之后,特别是大二选择计算机系之后,我发现随着对这门学科了解的加深,我所不懂的东西越来越多,我所想去探索的知识也越来越多了,不能说喜不喜欢,至少目前为止,我还是很开心能够学习这门学科。
大二上的计组课是最难熬的一门课,为了这门课的课设熬了不知道多少次夜,然而课上测试还是挂过两次,那时候经常觉得自己可能并不适合学计算机,根本没有学计算机所应该有的这套逻辑思维,但是同时又会去想,不努力到最后,怎么知道结果是好是坏,也就是这种信念让我撑到最后,起死回生一般拿到一个不错的期末成绩。对于这个领域我所不懂的东西还有太多,所以我也不知道自己到底擅不擅长,目前的评测标准似乎只有对我所学过的知识的分数上的量化,在经历计组之后我感觉似乎入门了这门学科,找到了学习计算机的方法,之后的课程分数也很可观,所以虽然不知道是否擅长,但是还是很有信心继续从事这门专业。
3.你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?
其实说句心里话,我也并不知道自己是否热爱这门专业,当时选择这门专业就是因为分数够,排名够,这门专业火,日后好就业,是前沿科技,没了。而且越往后上课老师所教的东西就感觉越不够,很多知识都需要自己上网查,自己去摸索,计算机专业应该是一门实践性很强的学科,就像那位博客[I]的爆栈大哥说的:
事实上,我们从正规电脑课程中没有得到多少专业知识,这应了一句老话:师傅领入门,修为在个人。
到底热不热爱这门学科,我还没有明确的答案,也不想给出口头的答案,还是希望在以后的实践中去证明吧,但至少现在可以给出这样的答案:“我还没有不热爱。”
第二部分 在计算机系里学习
1.你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。(必答) (8.26修改)
我的大学生活刚刚过半,吐槽的地方,每个人都会有的吧,但是多半都是自黑。比如重科研,轻教学,比如期末考试水,都是原题,再比如课堂沉闷,同学不爱发言这一类的,后来去了国外交流,发现很多国外大学其实也是这样,并没有想象中的那么完美。我理想中的大学教育,也不一定要是完美的,但是具体说来,还是要做到能够有教无类,充分发挥学生的特长,让学生个性化发展。毕竟,大学是张扬个性的地方。
有幸拜读过吴军博士的《浪潮之巅》,书里提及的作为硅谷的摇篮的斯坦福大学,那种学校和工业界紧密结合的教育模式,支持学生和老师用项目课题去创业的政策,并且支持硅谷员工来斯坦福攻读学位,我觉得是真正的实现了开放与个性化,那是我所期待的大学模式,也很向往能够去往那里攻读博士,去往硅谷创业。但是我觉得,正如书中所说:
现在的斯坦福模式正在被各国模仿,但是没有哪一个地方能够真正做到这么紧密的结合。
中国也在模仿硅谷,打造以北大清华与中关村相结合的模式,但是这更像是一种单方面的人才输送,而没有实现与工业界的紧密结合,没有将工业界对大学的作用最大化。
2.迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。(必答)(8.24修改)
迄今为止,仔细算一算,我所写的代码加起来也就几千行,绝对不会过万,而其中最长的一次竟然是计算机组成原理用Verilog所写的CPU的代码,大概五六百行,确实有点惭愧。我所做的最复杂的软件作业,也就是算法课的大作业,分别用离线与在线算法实现配送员的送餐系统,说是送餐系统,其实还是没有脱离控制台的黑框框,而算法的目的,就是最优化等待时间最长的那个配送员的最长订单等待时间。可能真要说起来,这也根本不能算作一个软件作业吧,但也确实是我所做过的最和软件沾边的作业了。
3.科班出身和北大青鸟有什么区别?
之前提过,我觉得计算机这门专业,主要还是在与自学。科班出身能够提供的,应该是一种积极的引导,让我们能够认清自己,找准人生的方向。大学不同于职业教育,就在于大学是塑造人才的地方,而不仅仅是提供谋生技能。推荐博客中有不少博主是在北大青鸟培训过的,也获得了很多职业技能,很多博主的能力都在科班出身的人之上,但是我觉得,在他们身上缺少一种领袖精神,当一个人为了谋生而去培训,他的目标就由生活变成了生存,也就注定无法对社会产生深远的影响。而大学,在教会我们职业技能外(当然很多还是自学),更能够开阔学生的眼界,帮助学生建立起宏大的世界观,带给学生处理人际关系的技能,以及很多人脉。大学大学,自然是培养领袖人才的地方,虽然很多时候情况并不如此,但是我们应该做到以此为己任,为了兴趣而学,立志去影响社会的发展,而不是简简单单的混口饭吃。最后,引用博客[E]的博主说的一句话:
或许,我个人的经历也不足以代表一般性。而我依然还是痛恨培训学校。 因为他们会教学生简历造假。 会教学生投机取巧。 会教学生“如何开发项目”。 然而,那些项目经验,几乎一文不值。 甚至不如一些学生在寝室里写出来的没有界面的小DEMO。
至于为什么是北大青鸟和达内,因为枪打出头鸟。 它们叫得最厉害。
4.速成的培训班和打基础的大学教育还有mooc之间有区别吗?
就我而言,速成班是为了基础不够时为了应付某项短期任务或考试而去上的,并没有深远的影响。打基础的大学教育则是重中之重,因为这会对我们的人生产生导向性作用。而mooc,我推荐好的mooc,如coursera,Udacity,Edx等,都是全球一流大学的课程,是课内学习之外的很好补充,也可以帮助我们了解科技前沿。
总而言之,最重要的还是大学的课内教育,编译原理,计算机组成,操作系统这些看似对日后从事的软件行业工作没什么用的课,其实恰恰帮助我们打下了深厚的基础,只有了解底层,深入底层,才能明白一个算法的原理,才能做到真正的优化,更何况很多数据结构与算法都是由操作系统和编译器的架构衍生出来的。博客[E]的博主也说:
我觉得一个正常的程序员,是不应该去参加培训的。更何况,培训真的没有什么用。 多半都是想走捷径,不劳而获。 而若要好好走好职业道路。 在走出大学校门的那一刻,应该学会自我成长,自我完善。
5.学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
大一大二开设的数学分析,高等代数,大学物理学,概率论与数理统计,数学建模,(因为我们是高工,理科实验班,所以还多学了很多基础课程),这些课程,刚学的时候的确不知道为什么还要学,以为计算机只要会编程,会写代码就可以了。现在,当然,我很庆幸当年认真学习了这些课。
不说别的,单拿我现在接触到的实验室项目为例,我在实验室做机器学习和计算机视觉方面的研究,在各种机器学习算法中,从SVM,LSTM到CNN,GAN,矩阵几乎无处不在,计算各种loss的梯度和神经网络的误差回传都要涉及矩阵的求导,GAN的生成器和判别器还都要求函数可微,各种正则化处理和批量归一化处理也要用到各种范数,有的还涉及二次规划和矩阵奇异值分解......如果让一个数学基础不好的人来做机器学习的模型研究,估计是会崩溃的吧。
第三部分 未来规划
1.对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?(必答)
对于在IT行业的发展,我的规划是在北航读完本科去申请美国的顶尖大学攻读研究生,继续从事现在研究的机器学习于计算机视觉领域。毕业后能够在微软,Google或者fb积累些工作经验,之后留在那里或者回到国内企业的研发部工作,当然希望的是最好可以步步高升了。但是总的来说,我希望自己毕业后的工作,能够满足我的兴趣,让我不是为了挣钱而去工作,当然,在需要的时候也会有足够的钱可以用就好。就像陈皓大佬所说的:
比如你的职位,薪水,福利,等,我从来都不是很关心这些东西,这些都是次要的(其次重要的),最重要的是你的能力和经历,是那些可以写在你简历上的,让你引以自豪的经历和能力。(一定要自己引以自豪)。而你的职位,薪水,只不过是你能力和经历的附属品。
2.你对于实现自己的梦想已经做了或者计划做什么样的准备?
首先是对于出国吧,我的gpa维持在3.7,应该不算差。语言成绩,今年11.5去考GRE,之后考Toefl。在实验室找了导师跟着做科研,期待大三可以发一篇顶会。计划在大三下或者暑假去做一段实习,这是出国的一些准备。对于专业技能的提升,就在课内的学习和主动去学习相关知识。这学期要做的事情很多,考语言,实验室,还有数据库与编译的重担,我也不知道选择软工是对是错,在学分和能力面前我还是偏向了后者,但大家也都是这么过来的吧,想要成为大佬,吃得苦不够多怎么行呢。
再次引用大佬的话:
把自己对待遇和职位的那个目标放在心里,踏踏实实做好今天的事,炼好自己的内功,注重经验的积累和总结,等待一个能让你量变引发质变的机会,用你的能力抓住它不要放手,你会发现你的路就在前方,通往这条路的门不知不觉已经开了。功到自然成,水到渠成。
3.你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
因为想要出国,所以在企业内和实验室我都要实习。目前在实验室我已经有了实习,并且正在赶11月的CVPR论文。计划在大三下或者暑假去企业实习,希望能找到一个大企业吧。
4.实习经验究竟有多重要?是否需要马上开始积累实习经验?
我觉得这是和自己的日后想从事的方向有关吧。但是就我而言,还是希望能够在本科有一段实习经历的。我是在大二下学期找的导师,当时和导师讨论了一下午,发现前两年的基础还是很重要的,还是要以学业为重,毕竟出国保研都是要gpa的。
现在的我在实验室已经呆了有好几个月了,我觉得实验室的实习是很有必要的(特别对于我要出国),因为可以帮助我们提前了解到研究生该干些什么,帮助我们确立以后的目标,该不该从事科研,还是去企业工作,亦或创业。再者,科研的主题是在快速发展的,比如前段时间的R-CNN,到今年的GAN,新的理论新的架构层出不穷,实验室的实习可以帮助我们了解到世界最新的科研方向和计算机领域整体的走向,帮助我们宏观上把握整个行业的大方向。
企业的实习我觉得也是必要的,但是在大三快结束或大四的时候进行比较好吧。这时候专业课都学完了,可以提前进入社会体验真正的工作是怎样的,提前适应社会与职场不同于学校的人情冷暖,作为一名即将走上社会的待就业生,这是极其宝贵的机会啊。
最后,引用博文[K]的大佬的话结束这篇博客,对我对大家,对广大的程序员同胞,或者千千万正在迷茫的同学们,互相勉励吧!
“人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。也许,最让一个人感到最有成就的事情,不是他做成了什么,而是他选择了什么。”