软工热身作业--我和计算机
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2020春季计算机学院软件工程(罗杰 任健) |
这个作业的要求在哪里 | 第一次作业-热身! |
我在这个课程的目标是 | 学习软工的思想方法,写出好的软件并维护 |
这个作业在哪个具体方面帮助我实现目标 | 总结了自己对于计算机的所思所想,有了更多动力去搞好这门课 |
第一部分 结缘计算机
1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
选择计算机专业我认为完全是收到家庭的影响。我父亲从事于计算机专业,他认为计算机的前景是光明的。因此在我高中的时候,曾去报名参加了一个c++的基础编程课,那是我第一次接触计算机编程,虽然之前在初中小学时也有计算机课,但是那时无非是学一些excel,word的用法,或者在课上玩一些小游戏,对计算机的感觉就像是一个玩具,供人娱乐消遣。直到我在课外班上完第一节编程课,我对计算机有了一些完全不同的感受——高深晦涩难懂。看着c程序开头的#include<cstdio>,using namespace std,完全搞不清楚这都是些什么东西。但是等到课程结束时,发现自己学会了冒泡排序,学会了用程序来解决一些数学问题,每当点击运行,跳出黑色运行框,并输出一个你期望的答案时,总有一股成就感,也是在那时培养了对计算机的兴趣,乐于去看一些关于计算机的文章,这也导致我最后高考结束后,在考虑专业时第一个考虑的计算机。至于条件,只能说我比较幸运吧,高考算是有点超常发挥进入了北航学习,算是有着不错的条件。然而在读了一些博主的文章后,我发现他们本科不算是得到了非常好的学习机会,但是凭借着很强大的个人学习能力,在毕业后不断学习进步努力,最后有了一些不错的成就。我认为我的学习能力还算是及格,但是我不是一个很勤奋的人,在这一点上略有不足。因此更应当珍惜本科北航提供的学习机会,在有老师同学督促下的环境里多学一点。
2.计算机是你喜欢的领域吗?是你擅长的领域吗?
在学习了计算机组成,编译原理,oo之后,对于计算机科学有了一些了解,计算机的深奥神奇很是吸引我,很开心学习了这个专业。所以说至少到目前为止,对于计算机这个学科是热爱的。
计算机这个领域需要严谨的理工科思想,需要能读懂别人的代码,需要结合硬件等各方面因素去考虑问题,我认为我在读别人代码上不是很强,经常会看到别人写的好的代码在某一处搞不懂为什么要这么写。但总体上,我认为计算机领域还算是我擅长的领域。
3.你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?
依我看来,我对计算机的感情谈不上热爱。热爱应该是指对其感兴趣,愿意花费很多时间沉浸其中,不论干多久也不会觉得烦躁。而我选择计算机更多的是出入对自己未来人生的考虑,计算机就业好工资高而且还在不停的发展,是一门前景很好的专业。所以说我其实算不上热爱。
但是有时想一想,在大学学了三年计算机,写了上万行代码了,似乎也没烦躁。在新的任务来的时候还是愿意去学一学看看,我想我可能对计算机也不讨厌吧。总体来看我对于这门专业应该算是有好感,还不算热爱。
第二部分 在计算机系里学习
1.你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
吐槽点主要在于计算机学院的课程设计,我们有着非常好的比如计算机组成,oo这些课,也有着不合理的数学建模等等,学生在核心专业上投入了很多的精力,像计组,oo真的能学到一些东西,让你的投入有回报。但是也有一些课,投入了,也被伤害了,不仅学生最重要的分儿没拿到,甚至也没学到太多的东西。
理想的大学教育真的没仔细思考过,我总认为,中国大学办了这么多年,也培养了成千上万的人才,必然也经历过改革,创新,所以我认为可能现在的大学教育是适合中国国情的。可能我们的水平没有世界顶尖大学那么强,但是也是值得肯定的。唯一有一些我认为不太符合预期的是,学生会有选不上课而学分修不够的问题,会有一门平行课几个班老师水平却差很多的问题。这些在我以前的想法里都认为是不合理的不存在的。
大学本科的所有知识都可以自学获得
-- 引用自【野生程序员】:优先招聘
大学中的很多课要想考高分,只需要在期末好好地看看ppt即可。这点和外国很“像”,很多优秀的大学会让学生自己做实验,研究课题,甚至连最后的期末考核题目都可以自己去定,但是外国的大学注重于培养学生的创新意识,合作意识,以及自主学习的能力,而我们的自学是为了学分成绩的自学,学完之后那些知识,最长在脑海中停留一年便消散了,而我认为中国和国外最大的区别便是在培养如何学,如何创新,如何合作相处,如何做人做事方面的培养有所欠缺。
2.迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
现在回想一下,大一上了c程序设计,数据结构,大作业加上各种小作业和练习估计写了2000行左右,大二的计算机组成,oo,os。其中最累的是oo,每个作业都几百行甚至上千行,估计大二整体写了8000行,大三的编译原理写的编译器有4000行。再算上在软件学院的小学期写的小程序3000行,估计总体上满打满算20000行。
其中我认为最复杂的是编译原理的编译器,为了实现一个类c文法的编译,从词法分析语法分析到最后的中间代码生成和优化,每一部分在写的时候都觉得很复杂,而且在调试时的各种bug也很费劲,总体来说这个程序算是我写过的最复杂的程序,不论是难度还是长度都远大于我写过的其他程序。
3.速成的培训班和打基础的大学教育还有mooc之间有区别吗?
现在回想过去,才发现自己当时多么无知、多么机械。其实,不懂的时候,不管任何时候,你都可以去问老师、同学,从而节省大量的时间和精力。我们必须在年轻的时候有意地培养自己独立思考的能力,经常想一想,我要的是什么、为什么要做这件事、做这件事有什么好方法、这样做有什么好处和坏处、如何改进等,也要与人交流、沟通,讲出自己的想法,请别人指正。我们需要培养的是自己的思考方式,而不是简单地获取知识。
-- 引用自刘帅:在失望中寻找希望
就像博主[B]说的一样速成培训班学到的是某一个工具的使用,比如Python速成,java速成,无外乎教你怎么用这种语言写程序,最后成为一个普通的码农。你若问他如何根据计算机的硬件特征去优化程序,什么是面向对象,他都不一定知道。而大学,注重的是打好基础,我们从计算机的底层学,打牢了基础后,以后工作时,需要用什么软件,再去学软件的使用即可,也非常容易上手。这样一来,我们能对工作有更深的理解,做出的成品肯定效果会更好。
然而大学还教给我们领导能力,这也是成为好的程序员的金线所在。有思路,有想法,有责任感,有担当,有大局观,对系统和业务都有深刻的理解,不仅完成自己的任务,还给团队贡献力量,在技术上引领大家向前看,在项目推进过程中某些地方起主导作用。当进度遇到问题时,挺积极协调资源,帮助控制进度,走出困境。当技术遇到壁障的时候,能加班加点,集思广益,追根究底,解决问题。当设计遇到问题,需求需要变更,能抓住核心问题,找到关键点,帮助大家理清问题。好的程序员,作为程序员中的贵族,不仅自身的工作做的很漂亮,而且能影响和引导周围的同事,在更大的舞台发挥作用。
第三部分 未来规划
1.对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
我未来想从事游戏开发相关的行业。之所以想当一个游戏设计师,主要是因为我平时也爱打游戏。我父亲总是说游戏有什么好玩的,都是人编号的程序而已。但我却以为不然,真正的好游戏是有灵魂的,是用心去做的。可以带你体验洛杉矶的风光,也可以带你领略美国西部的生活。所以我一直希望能加入这个行业,做一些让大家认可的作品。对于未来的道路我的想法是在国内985读研,然后出国深造读博士。正如博客D所说,第一要打牢基础,第二要培养逻辑思维,第三要开阔眼界,这也是我考虑继续读研读博的原因。而全世界最顶尖的计算机技术不在中国,所以我认为出国留学镀金是很必要的。在见识了外国的技术教育后,也算是一个开拓眼界,增长知识,锻炼交流能力的好机会。
之后考虑就业时,我第一梦想是加入R*公司成为一名游戏工程师。这是一件非常难的事情,我会为之付出努力,即使最终失败,也希望自己拼搏过而无悔青春。
2.你对于实现自己的梦想已经做了或者计划做什么样的准备?
没有考虑研究生之后的事情,先着手于研究生阶段。由于我的成绩保研估计有些难度,所以现在在学好本学期课程的同时,也在准备考研的复习。除此以外英语是每天都要学的必修课,不论是考研还是未来的出国,英语都至关重要。至于研究生之后,我认为对于现在还是本科的我有些远,虽然想着要读博,但是具体细节还没考虑。我认为现阶段最关键的坚持!每天学习新学期的新知识并且要复习以前的课程。
(2020.3.5修改)具体来说,我对我期望的未来职业有什么规划和准备呢?对游戏工程师这个职业现在只能算稍有了解,从网上曾自己了解过一些游戏开发的过程,并且了解一些大型游戏的引擎(当然只是很肤浅的看了一下),未来更多的可能想找时间去相关的公司实习看一下,深入的了解一个游戏开发的流程以及某一游戏引擎的原理。同时在研究生期间去学一下Unity3D和Shader编程,这些都是一些游戏开发的必修课。目前的规划以及现阶段已经做了的准备也就这么多了,计划已有,而接下来就需要刻苦实干了。
第四部分 结语
梦想都是美好的,要想实现它,则要付出辛劳的汗水。大学生涯已接近尾声,回望这3年的大学生活,有付出也有懒惰,我希望我能抓住这最后的时间,为将来的路做好铺垫,让大学的付出有一个好的收获。
希望在15年后,再看到这篇文章时可以自豪的说我完成了我的梦想,而不是满怀悔恨。
相关博客
博客B:在失望中寻找希望
博客I:我的软件开发生涯 (10年开发经验总结和爆栈人生)
博客H:【野生程序员】:优先招聘