软工个人阅读作业一
软工个人阅读作业一
Q | A |
---|---|
这个作业属于哪个课程 | 2021春季计算机学院软件工程(罗杰 任健) |
这个作业的要求在哪里 | 个人阅读作业#1要求 |
我在这个课程的目标是 | 锻炼自己的工程开发、团队协作和沟通能力 |
这个作业在哪个具体方面帮助我实现目标 | 对过去、现在、未来的思考:Only the goal could push you to the limit |
第一部分:结缘计算机
1.1 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
其实吧,在进入计算机学院学习之前,我对于计算机的热爱没有数学那么深。只不过从小时候接触计算机开始,我对于计算机的迷恋就愈发上涨:从小时候在电脑上打游戏,到初中、高中的信息技术,生活中我十分珍惜自己用电脑的机会(虽然很多时候都在打游戏),但是这并不影响我对这个普及到全世界的电子产品的热爱。其实我的爱好比较广泛,在高中时想要学习土木工程;数学基础较好的我还想要学数学系;最后当然也不能忘了计算机专业。最后在了解了多方信息后,我选择了会用到数学比较多的计算机专业。
从条件来说,我家里的条件并不算差,家里人很支持我去做自己有意义的事情,在生活上也从来不会让我省着。从个人条件上来说,我自己对于数学相关的学科、棋类、策略类的游戏十分着迷,经常会潜心钻研。我想这是我在思维上的小优势;但我更大的优势在于健康,我高中的时候每天会运动一个小时,到了大学每周会踢5-9小时的足球。其实我并不愿意把这个算作我的优势,因为这只是我的爱好。但人们总说“身体是革命的本钱”,我想至少我还是有那么点本钱的。
相比于知乎和CSDN上的大佬博主们,我的专业素养当然不及他们,甚至对于这门学科的热爱程度都有所不及。但我从不认为这是一件坏事,我能够从他们那里学到知识就是我的进步。
1.2 计算机是你喜欢的领域吗?是你擅长的领域吗?
前面已经讲过,我其实很喜欢计算机,但在喜欢的程度上不及数学,所以很多时候我会钻研数学问题,而非计算机学科上的问题。
具体上来讲,我对于硬件上的技术并不太感冒,但是非常喜欢数据挖掘和人工智能领域。人们对于人工智能的思考总是能吸引我(或许我现在看到的或能看懂的思考都还十分片面),但这并不影响我思考这门宏大学科的各个方面——技术、伦理等等。另一方面,我十分喜欢数据挖掘的原因,或许是我对于心理学和社会学很有兴趣。
我曾经跟我的朋友讲到以后从事的工作:“我更喜欢去研究人,而不是机器。”这句话很像是一位文科生说出口的,这也并不意味着我会“弃工从文”,但是当把人作为研究对象时,一切都复杂而神奇了起来。人工智能学科研究的是如何让机器像人一样思考;数据挖掘领域背后研究的是人产生数据的特征与原因,这都无不与人紧密相关。我在空闲的时间里补了很多人文社科类、设计类的书籍,我觉得在计算机和这些领域所交叉的范围中研究是一件非常幸福的事。
而对于擅不擅长这件事,在上大学之前,我的编程基础几乎为零。只在信息技术课和高考完的暑假学过一些微不足道的编程。所以我一开始的基础并没有很多人那么好,所以说我并不能说我很擅长这个领域。
第二部分:在计算机系里学习
2.1 你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
大学生活可以吐槽的东西很多呀,比如经常抽风的教务系统,学院路校区烂到不能再烂的小足球场等等。只不过在我看来,这些也都是和朋友闲聊时的调侃,并不会对我产生太多的影响(可能学院路的小足球场会产生很大的影响)。所谓“别人的学校再好也没有母校好”,我对北航对我的培养和教育是非常感激的,我也很荣幸能够在北航计算机学院“被虐”到经常怀疑自己。
或许我会经常跟朋友抱怨这抱怨那,但是我打心里认为北航是非常适合我的学校。在我的理想中的大学教育,老师们会在课程和作业的布置中一步步的让同学领会这门课的核心思想,培养学生思考和实践的能力。正所谓“润物细无声”的教育才是最难而最好的教育,这一点我觉得我接触的几乎所有课程(有的课程确实不敢恭维)都还比较符合这样的思路。
首先要明确的是,国外的部分课程的教育也是畸形的,但我有幸去听过一些国外一些大学的lecture(通常是第一节导论)。我们所崇拜的国外的教育或许就是我上面所说的,“润无私无声”地、潜移默化地教育,这样的教育是需要花费非常多时间去思考和实践的。我认为我所看到的很多国外的课程都是经过了很多届学生的打磨,才能够打磨出的“完美”课程。我相信北航计算机学院的老师也有这样的实力,只是有些课程正在努力中,我也很荣幸能够成为众多“小白鼠”中的一只。
2.2 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
可能已经数不清楚了,大概不止1w行吧。
我印象中代码量非常高的工程不多:计组、编译、OO、OS和数据库。而相比理论和实践结合得非常紧密,工程思维要求很高的计组编译这些课,我印象更加深刻的是数据库大作业。
我们团队所开发的是一个类似于网易云的音乐网站,但是团队中三名成员只有我一位是计算机学院的学生,其他两位都是计算机学院二学位。我跟他们合作时是他们在计算机学院学习的第一学期(我也纳闷为什么一来就选数据库)。于是我就带着两位工程能力几乎为零的同学开始了。可以说从前端到后端,几乎所有工作都是我一个人实现的,我也成为了以为全栈工程师。他们做的最多的事,就是一葫芦画瓢的用我写好的html模板去生成新的网页。
这段经历让我真正体验到了“从0到1”的完整工程:从数据库设计,到前后端代码,再到最后的优化。可惜的是,我一个人的精力有限(他们代码学习阅读能力也有限),我最后完成的网站功能非常基础,连我们一开始设计的模块都没有全部写完。
2.3 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
从小学到大学我都不断地在思考这个问题:我为什么要去学怎么求面积、我为什么要学怎么去求特征向量等等。每一个阶段我的回答都不尽相同。
上了初中的我会说:小学知识就是在给初中知识打基础;上了大学之后,尤其是在阅读了人文社科类的书籍、当了助教之后,我才慢慢明白:我们很多时候学习知识,其实并不是要为了以后能用到这些知识(当然有必要的话肯定还是要用),我们学习的是思路、思考的方式,我们学习的不仅是“what & how”,还要是“why”。
学习理科不仅是用理科(我十分后悔自己没有多学一些线性代数,现在看深度学习的书简直看不懂),而是去学习理科如何建立一套完备的体系;我们学习编程不仅是为了以后工作,而是培养我们的工程化的、严密的思维;我们学文科不仅是为了看论文,会说话“高情商”,而是拥有人文关怀的思想、培养思辨能力......
所以我为什么要恶补人文社科的书?为什么要去多选那么多超学分的课,而不是花时间使劲卷个保研?保研当然香,但我认为我还有更加重要的知识需要学,更重要的能力去培养。当然这并不能作为我自己专业课成绩不太好的理由,但我始终相信学习这些学科的作用远比我多去卷几分,gpa好看一点,能保个研更加重要。
第三部分:未来规划
3.1 对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
其实我一直对自己的职业规划有比较明确但却很矛盾的目标(当然也只是目标,我对于怎么达到这些目标还是不太清楚)
一方面,我很喜欢数据分析师、交互设计师、游戏设计师这些职业。之前我也说过,我希望去做一些与人“打交道”的工作。数据分析师可以从用户的数据中读出用户的心理,从而改进产品;交互设计师在用户体验等方面有深入的理论研究;而游戏就更不用说了,游戏的好坏完全是用户的体验决定的。我未来就非常想从事这方面的工作。
另一方面,我非常想当一名高中或大学教师(虽然这听起来十分“浪费”,至少我的家人会有些这么觉得)在我时间不长的21年人生当中,我有18年都在读书上课。我深刻的体会到,一名老师对于一位学生有多么重要的影响。我非常感激我遇到的所有的老师,他们塑造了现在的我。而我自己也很想通过我自己的思考与教导,去引导下一代。为什么是高中或大学教师呢,我认为在我高中和大学的时候,我才能不断深入的思考周围的一切事物,在这个阶段老师的引导一定会让我受益终身。投身到伟大的教育事业,难道不是一件非常充实而幸福的事吗?
所以其实看起来虽然目标比较明确,但是我内心确实很纠结的,因为这两条路截然不同。不过从好的方面来想,有一个目标总是好的,“Only goal can push you to limit”,现阶段不断地充实自己,提升自己各方面的素养和能力才是最重要的。