软工个人阅读作业 #1

项目内容
这个作业属于哪个课程 2021春季软件工程(罗杰 任健)
这个作业的要求在哪里 2021年软工-热身阅读作业
我在这个课程的目标是 系统了解并参与软件开发过程,提升自身工程能力
这个作业在哪个具体方面帮助我实现目标 回顾学习历程,吸收前人经验,思考发展方向

第一部分:结缘计算机

你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?

我选择计算机专业的理由非常现实。我生长在北方,有着较强的恋家情结。在北方的工科院校中,我去不了清华,于是来到了北航,来到了录取分数线最高的信息大类,来到了受欢迎程度最高的计算机专业。

虽然但是,选择计算机专业并非完全由于其受欢迎程度最高;在信息大类一年的学习中,编程给我留下了相当美好的印象,让我真正下定了选择计算机专业的决心。这之中有个小故事:

大一上,学院开设的程序设计课程,推荐使用 Dev-C++Code::Blocks 这两款 IDE 编写程序。那时,不成熟的我对这两款 IDE 只有一个看法——丑。通过检索,我得知了 Atom 这款文本编辑器,并花费了一个下午的时间成功配置了基于 AtomC 语言编程环境。当死气沉沉的代码有了花花绿绿的颜色,当微小隐蔽的错误被插件自动检查,我很难不喜欢上编程。

这位博主相比,我与计算机的结缘显得随意而草率。我的初高中生活,没有语言和程序,有的只是无数的试卷和分数。虽然如此,我并不羡慕这位博主,闻道有先后,是生长背景决定的,术业有专攻,是个人能力决定的。只要有兴趣,肯投入时间和精力,我也能在计算机领域找到自己的位置。

计算机是你喜欢的领域吗?是你擅长的领域吗?

我不敢说计算机是我喜欢的领域。就我个人理解而言,我对计算机的喜欢更多的是片面的喜欢,我不喜欢组成原理和操作系统这些纯正的计算机课程,它们都涉及到了底层的计算机知识。

我也不敢说计算机是我擅长的领域。在计算机领域,我还没有任何生产力。

第二部分:在计算机系里学习

你对你的大学生活有什么想要吐槽的地方吗?

首先是课业内卷。一门课程,就因为课堂提问有奖励分,总能看到一些同学提出一些无意义的问题。犹记得一次课上,一位同学起身长篇大论,提出了一个答案显而易见的问题,老师的回复大概是,你提出这个问题你心里没有答案吗,场面让人忍俊不禁。

其次是信息封闭。内卷如此激烈的情况下,学生竟然不知道自己的学业成绩在学院内的排名。如果公开了排名,我想更多的学生会更早做出自己的规划吧。

你理想的大学教育应该是什么样的?和学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?

我讲不出理想的大学教育,也讲不出国内外教育的差距。我认为,一路走来,能在北航读书是我的幸运。

讲一下每个学期留下深刻印象的几门课程吧。

  • 大一上:程序设计基础训练。这门课是我的编程第一课,理论课的内容我已记不大清,但上机课的场景我却记忆深刻。上机课就像考试,我可以实时看到每一个人的上机情况——通过了哪些题,分别花费了多少时间。老实说,当看到几百人的上机情况排在自己之前,内心的挫败感还是很强烈的(于是我开始在洛谷、杭电、力扣等平台刷题)。现在看来,这门课影响深远,既提升了我的码力,又锻炼了我的心性。

  • 大一下:数据结构与程序设计。通过前述的刷题过程,我已经拥有了大部分语言基础和数据结构基础。在这门课的学习过程中,我根据老师的推荐,开始阅读计算机领域的经典书籍——《数据结构与算法分析》。这个习惯一直保留到现在,每每涉足一个新技术领域,我的第一反应就是,这个技术领域有无经典书籍可供我研读。

  • 大二上:计算机组成原理。从零搭建一个处理器的过程,并没有传闻的那么艰难。按照课程讲义提供的工程化方法,按部就班地编码,就能完成课程的绝大多数任务。

  • 大二下:面向对象设计与构造。这门课全程都在写代码,就是一个字,爽。在这门课的学习过程中,我阅读了《Java编程思想》、《Effective Java》等经典书籍,边读边敲书中的代码实例,真正体会到了设计与实现的优美。

  • 大三上:编译原理。这门课大部分时间也在写代码,同样给我带来了较为舒爽的体验。

如果总结一下以上课程的共同点,我想就是理论与实践相结合吧。就我而言,读大学是为了学习技能,如果一门课程不能做到理论与实践相结合,这门课程又会给人带来什么收获呢?

迄今为止,你写了多少代码,描述你做的最复杂的软件作业?

粗略估计,代码总数,一万余行。

最复杂的软件作业?都不复杂,就码量而言,一个类 C 文法的编译器吧。

你是否有过疑问,为什么要学数学,这和计算机有关系吗,你现在是否还有这样的疑问?

我没有过如上疑问。正如这位博主所言:

成长路径中有很多的偶然,没人知道在一些关键时候需要什么样的知识储备,所以踏实地多储备一些是好事。

学习数学的过程,让我养成了诸多优良习惯:

  • 计算习惯,每每手动计算,我一定会用整洁的白纸列计算式。

  • 思考习惯,遇到一个问题,我一定会分析其条件和结果,在这之间正推、反推,一步步构造问题的解。

我相信,这些习惯,在未来的工作中,都会带来积极的反馈。

第三部分:未来规划

对于未来发展,你有什么样的梦想或想从事什么样的工作?你准备怎样规划你的技术道路,职业道路和社会道路?

读研,而后希望从事后端开发工作。

陈皓博主在博客中提到:

在到上海的头一年中,看了四、五十本书,研究的技术包括 PB, SQL, HTML, CSS, DHTML, Java, Perl, CGI, ASP, PHP, JSP, XML, UML, MFC, Lotus Notes, Unix, Oracle, C++......

看了许多许多的书,完全没有好好想想自己应该走什么方向。现在回头看来也不知道是好还是不好。

以陈皓博主为鉴,在我的技术道路中,我会广泛地阅读各类书籍,但不会涉猎如此多的领域。于我而言,我会更多地阅读后端开发的相关书籍,更多地积累项目经验,争取更多地解决现实生活中存在的问题。

至于职业道路和社会道路,我还并不清楚。但我希望,在年轻的时候,我能获得更充分的锻炼,能掌握更专业的技能。

参考博客

  1. 我的软件开发生涯 (10年开发经验总结和爆栈人生)

  2. 徐宥:掉进读书的兔子洞

  3. 谈谈职业规划——CSDN对我的采访

posted @ 2021-03-09 22:23  小树o3o  阅读(126)  评论(2编辑  收藏  举报