[2017BUAA软工]第0次个人作业
软工第0次个人作业
Part1: 结缘计算机
1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
老实讲,当初选择计算机专业也仅仅是因为分数原因,抱着那种不能让辛辛苦苦考出来的分数吃亏的想法,然后查看了一下教育部学科排名便选择了北航计算机专业。上大学之前我对计算机专业基本上算是一个一无所知的“小白”,脑海中对于编程没有一点概念,电脑对我而言就是用来娱乐,上网以及用一用办公软件。人生的第一行代码也是在大学期间才完成的,这和那些经常出现在各种编程竞赛的小学生比差距不要太大。
现在在计算机系也经过了两年的学习了,对于这个专业也算有了较多的认识了。我觉得自己在这个专业方面并没有很高的天赋,也没有像博主I那样对计算机的痴迷和热爱。但从内心而言,我对于这个专业是热爱的,无论是基本的编程还是基础知识的学习都没有让我感到枯燥,反而会有一种愈战愈勇的感觉,我自己也非常享受这种感觉。
对于这些博主,我非常的佩服他们对计算机某个领域的痴迷和热爱程度,这一点是我所不及的。他们对于计算机的热爱远远高于我,再加上他们很强的学习钻研能力,他们自然能够在各自的领域取得不错的成就。这一点是我要向他们学习的。
2.计算机是你喜欢的领域吗?是你擅长的领域吗?
正如前一个问题我所回答的,我内心对于计算机是喜爱的,它能够带给我特殊的成就感,这让我有动力深入学习下去。但和那些博主相比,我对它的喜爱程度简直是九牛一毛,这可能也是我和大牛之间差距的原因所在吧。经过了两年的学习,我仍不敢说计算机是自己擅长的领域。计算机各个子领域的技术革新都很快,每个从事这个行业的人都得不断的学习进步,不然只能面临淘汰。况且,没有一门技术能够万金油,往往每个人都需要学习很多相关的技术才能立足。不敢说擅长这个领域,只能说比这个专业外的人多知道一些罢了。
3.你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?
1.我对它有基本的热爱,但我觉得还不够。
2.比如常常为了一个bug能够埋头钻研数个小时直到解决它。为了AC一个题目也是会忘记饭点或者熬夜到很晚。
3.一直在坚持自学很多自己感兴趣或者比较流行的技术和知识
Part2: 在计算机系里学习
1.你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
我们这一届正好遇上学院改革很多们课程,总的来说效果还不错吧。我们系的绝大多数专业必修课我觉得是OK的,不管是教学效果还是体量都挺给力的。但很多专业选修课就有点说不过去了。此外,我发现系里面很多课的课程团队都很不完善,一门课往往是只有一个任课老师和1,2个见不到面的助教。这一点我觉得和国外大学差别很大。国外顶尖大学的课程往往都有非常完整的教学团队,特别是助教的数量比较多,很多project比较多的课程除了上课之外都会有专门的实验课时间以及office time,这对学生的学习很有帮助。我感觉原因还是在于老师们对于本科教育投入的精力和时间不如国外大学的老师多,对本科教育的重视程度不太够。我个人认为这种情况的出现与国情是会有一定的关系(评职称,申请科研基金),但我觉得在这方面还是有很大的改进空间的。最后还有一点是教学内容和技术革新速度不一致,导致很多古老的技术还在一成不变的教授,这一点同样与老师对本科教育投入的精力少有关。
2.迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业
代码行数不太好估计出来,说说迄今为止做的比较复杂的作业吧。一个是OO最终版的出租车程序,涉及到多线程编程,线程之间的协同关系的确保十分重要,而线程的切换又是不确定的,故保证互斥和协同十分重要。另一个是计组的CPU设计,虽然代码量上面并不是很多,但它要求我们对整个工程,整个CPU系统在更高的抽象层次上有非常深的理解。如果对整个系统的架构的理解不深非常容易导致课上测试时的失败。
3.科班出身和北大青鸟有什么区别?
总的来说还是科班出身的计算机底子更好一些。培训机构绝大多数的学生都是短期内工厂化训练产出的。一般都是老师带着一步步的做几个小项目就出师了。他们大多数不具备持续学习的能力,这就意味着他们很容易被淘汰。然后由于缺乏计算机相关的理论基础知识,他们对很多问题都无法从本质上看破解决,更多的从事着底层码农工作。相反的是,科班出身一般在理论知识上面都有着较好的基础,他们的学习能力也更强,虽然可能工程实践能力稍有欠缺,但在进入职场后一般都会学习的很快,提升的很快,这点是培训班所不能比拟的。
4.速成的培训班和打基础的大学教育还有mooc之间有区别吗
有区别。培训班可能会在工程能力上迅速的拔高你,但大多数学生往往都是知其然而不知其所以然。相反,经过基础的科班教育,毕业生往往能够厚积而薄发,工程能力上的欠缺能够迅速的提升上来并且能够持续进步上升。对于MOOC而言,我认为是一种非常好的教学模式。通过MOOC,我们也能非常便捷的享受到更好的教育资源,能够更好的自我补充,这对于我们的大学教育是一个非常好的补充。
5.学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
首先,我认为这几门基础学科是必不可少的。因为这是组成我们每一个人基本素质的必要部分,他对我们的帮助是潜移默化的。其次,这几门课对于计算机专业也非常重要。比如当你要接触机器学习时,你会感到线性代数和概率统计的重要性,在一些偏理论的机器学习教材中,通篇都充斥着各种各样的概率公式,矩阵运算,没有牢靠的基础知识是很难在机器学习方面深入下去的,因为很快就会被各种各样的数学问题所击倒。
Part3: 未来规划
1.对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路
想要成为一名算法工程师,也挺喜欢和数据打交道的。
2.你对于实现自己的梦想已经做了或者计划做什么样的准备?
一直在从理论和应用两个方面补充ML和DM的相关知识。也打算进入工业界找找相关的实习,看看现在企业的工作模式和应用的技术都是哪些,补充自己不足的地方。
3.你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
目前已经在实验室实习,也打算去工业界实习。这两者的侧重点还是有些不同的,并且想要真正了解目前工业界的一些情况必须进入企业去实习,熟悉工业界的模式并且积累相关经验对于将来应聘还是很重要的。
4.实习经验究竟有多重要?是否需要马上开始积累实习经验?
实习经验固然重要,甚至必不可少,但也不需要趋之若鹜。实习经验并不是越多越好,它只是对自己的补充。当你觉得自己需要去工业界锻炼锻炼时,需要去那里突破自己瓶颈时去找实习即可。单纯堆积实习经历其实意义不大