软工个人阅读作业 #1
项目 | 内容 |
---|---|
这个作业属于哪个课程 | |
这个作业的要求在哪里 | |
我在这个课程的目标是 | 系统了解并参与软件开发过程,提升自身工程能力 |
这个作业在哪个具体方面帮助我实现目标 | 回顾学习历程,吸收前人经验,思考发展方向 |
第一部分:结缘计算机
你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
我选择计算机专业的理由非常现实。我生长在北方,有着较强的恋家情结。在北方的工科院校中,我去不了清华,于是来到了北航,来到了录取分数线最高的信息大类,来到了受欢迎程度最高的计算机专业。
虽然但是,选择计算机专业并非完全由于其受欢迎程度最高;在信息大类一年的学习中,编程给我留下了相当美好的印象,让我真正下定了选择计算机专业的决心。这之中有个小故事:
大一上,学院开设的程序设计课程,推荐使用 Dev-C++
或 Code::Blocks
这两款 IDE
编写程序。那时,不成熟的我对这两款 IDE
只有一个看法——丑。通过检索,我得知了 Atom
这款文本编辑器,并花费了一个下午的时间成功配置了基于 Atom
的 C
语言编程环境。当死气沉沉的代码有了花花绿绿的颜色,当微小隐蔽的错误被插件自动检查,我很难不喜欢上编程。
与
计算机是你喜欢的领域吗?是你擅长的领域吗?
我不敢说计算机是我喜欢的领域。就我个人理解而言,我对计算机的喜欢更多的是片面的喜欢,我不喜欢组成原理和操作系统这些纯正的计算机课程,它们都涉及到了底层的计算机知识。
我也不敢说计算机是我擅长的领域。在计算机领域,我还没有任何生产力。
第二部分:在计算机系里学习
你对你的大学生活有什么想要吐槽的地方吗?
首先是课业内卷。一门课程,就因为课堂提问有奖励分,总能看到一些同学提出一些无意义的问题。犹记得一次课上,一位同学起身长篇大论,提出了一个答案显而易见的问题,老师的回复大概是,你提出这个问题你心里没有答案吗,场面让人忍俊不禁。
其次是信息封闭。内卷如此激烈的情况下,学生竟然不知道自己的学业成绩在学院内的排名。如果公开了排名,我想更多的学生会更早做出自己的规划吧。
你理想的大学教育应该是什么样的?和学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?
我讲不出理想的大学教育,也讲不出国内外教育的差距。我认为,一路走来,能在北航读书是我的幸运。
讲一下每个学期留下深刻印象的几门课程吧。
-
大一上:程序设计基础训练。这门课是我的编程第一课,理论课的内容我已记不大清,但上机课的场景我却记忆深刻。上机课就像考试,我可以实时看到每一个人的上机情况——通过了哪些题,分别花费了多少时间。老实说,当看到几百人的上机情况排在自己之前,内心的挫败感还是很强烈的(于是我开始在洛谷、杭电、力扣等平台刷题)。现在看来,这门课影响深远,既提升了我的码力,又锻炼了我的心性。
-
大一下:数据结构与程序设计。通过前述的刷题过程,我已经拥有了大部分语言基础和数据结构基础。在这门课的学习过程中,我根据老师的推荐,开始阅读计算机领域的经典书籍——《数据结构与算法分析》。这个习惯一直保留到现在,每每涉足一个新技术领域,我的第一反应就是,这个技术领域有无经典书籍可供我研读。
-
大二上:计算机组成原理。从零搭建一个处理器的过程,并没有传闻的那么艰难。按照课程讲义提供的工程化方法,按部就班地编码,就能完成课程的绝大多数任务。
-
大二下:面向对象设计与构造。这门课全程都在写代码,就是一个字,爽。在这门课的学习过程中,我阅读了《Java编程思想》、《Effective Java》等经典书籍,边读边敲书中的代码实例,真正体会到了设计与实现的优美。
-
大三上:编译原理。这门课大部分时间也在写代码,同样给我带来了较为舒爽的体验。
如果总结一下以上课程的共同点,我想就是理论与实践相结合吧。就我而言,读大学是为了学习技能,如果一门课程不能做到理论与实践相结合,这门课程又会给人带来什么收获呢?
迄今为止,你写了多少代码,描述你做的最复杂的软件作业?
粗略估计,代码总数,一万余行。
最复杂的软件作业?都不复杂,就码量而言,一个类 C
文法的编译器吧。
你是否有过疑问,为什么要学数学,这和计算机有关系吗,你现在是否还有这样的疑问?
我没有过如上疑问。正如
成长路径中有很多的偶然,没人知道在一些关键时候需要什么样的知识储备,所以踏实地多储备一些是好事。
学习数学的过程,让我养成了诸多优良习惯:
-
计算习惯,每每手动计算,我一定会用整洁的白纸列计算式。
-
思考习惯,遇到一个问题,我一定会分析其条件和结果,在这之间正推、反推,一步步构造问题的解。
我相信,这些习惯,在未来的工作中,都会带来积极的反馈。
第三部分:未来规划
对于未来发展,你有什么样的梦想或想从事什么样的工作?你准备怎样规划你的技术道路,职业道路和社会道路?
读研,而后希望从事后端开发工作。
在到上海的头一年中,看了四、五十本书,研究的技术包括 PB, SQL, HTML, CSS, DHTML, Java, Perl, CGI, ASP, PHP, JSP, XML, UML, MFC, Lotus Notes, Unix, Oracle, C++......
看了许多许多的书,完全没有好好想想自己应该走什么方向。现在回头看来也不知道是好还是不好。
至于职业道路和社会道路,我还并不清楚。但我希望,在年轻的时候,我能获得更充分的锻炼,能掌握更专业的技能。