Loading

2021-软件工程热身阅读作业1

项目 内容
这个作业属于哪个课程 2021年春季软件工程(罗杰 任健)
这个作业的要求在哪里 2021年软工-热身阅读作业
我在这个课程的目标是 学习团队协作,学习产品设计,精进技术
这个作业在哪个具体方面帮助我实现目标 回顾自己大学以来的学习生活,从自己和他人的经历中找到自己未来期望前进的方向,找回学习和努力的初心

引言:大学生上课需要认真听讲吗?

在阅读完博客Scalers:大学上上课为什么一定要认真听讲?,我想对文中所提到的大学生上课为什么一定要认真听讲的几个角度谈一谈自己的看法:

我的看法所立足的时代背景与作者的观点所立足的时代背景有所不同,我是基于我当前的时间2021年——一个网络教学资源丰富,优秀大学公开课,培训资料充裕的年代,学生能够通过互联网方便地获取到网上资源的年代。

对于作者所提出来的“认真听讲是一种能力”,“课程有用无用不是一个大学生的格局能判断的”,“聚精会神在这个时代已经是稀缺能力,大学应该打好基础”这几个观点,我是非常认可的。

大学时期,我认为是一个从学生时代走向社会的过渡时期,需要完成从只需要会做题应试到实际应用所学知识解决问题,表达交流观点等更多维度能力的转变。在这个历程中,我们需要保持和培养的是终身学习的能力(专注能力),需要看到的是更广阔的天地,更多维的知识(有用或无用的课程),需要积累的是走向社会的资本(大学时期的基础学习)。

那么现在我有个问题,这些能力或者知识是只能够从课堂中获取的吗?

我觉得不完全是,从课堂获取内容和知识是更为简单和便捷的方式,但是获取到的不一定是最好的或者最适合自己的吸收的内容。而在当今,有着便捷和多样的网络资源,有着优秀的大学公开课,如果这些网络资源能够更好地满足自己对这方面内容的吸收,那么上课选择去专注于其他的相同内容的课堂,我认为是一种更利于个人成长和吸收知识的选择,所以上课也不一定需要认真听讲,当然前提是你专注于相同内容的学习,只不过是在其他的课堂中。

最后,我认为就算上课没有认真听讲,也是需要去课堂。首先,这是一种学生对老师的尊重,即使你不认可老师的教学内容,教学水平,但是你要尊重自己的身份,尊重老师的身份;其次,大学的课程不应该是自己一个人闷着学,你需要交流,和同学交流他学到的和你学到的,或许也能从老师的内容中收获启发

总之,不认真听可以,但是也需要去课堂哒。

第一部分:结缘计算机

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

我为什么选择计算机?

我觉得是多个时期最佳选择叠加的结果。在高考填报志愿的时候,我当时的选择方向主要有两个,一个是自己非常感兴趣的心理学,一个是有一点点感兴趣的信息方面(主要是对乔帮主的敬仰和时代背景下信息类专业的火热)。如果仅是按照兴趣报考心理学方面的专业,高考分数就有点浪费;如果选择去其他更好的大学,那么就选不到好的专业,遂放弃,于是就来到了北航信息大类。在大一专业分流的时候,我其实更多的考虑的是对于自己排名和成绩的最大化利用,然后还有对物理类课程的逃避(结果计算机也要学大物),最后选择了计算机专业。

我个人的条件,我认为是一般吧,在高中的信息课程中接触过VB可视化编程,相较于完全没有接触过计算机编程的学生可以说至少还有过一点经历;但是相较于高中时期就在参加信息学竞赛的同学而言,我的那点经历就太“单薄”了。

博主I相比,我可能在“硬件”方面会比博主占优,我所生处的年代有着更为便利的资源,我的专业能够提供给我关于计算机最直接的帮助;而在关于计算机的“软件”,我觉得我是差博主挺多的,博主从初中就开始接触计算机,并抱有着极大的热情,并在高中接触了志同道合的诸多伙伴,交流技术,再到大学之后爆栈人生。他从初高中时期就接触并找到了自己热爱的事业,而自己在初高中则是一个“两耳不闻窗外事,一心只读圣贤书”的“做题家”,在进入大学后也是非常迷茫自己所感兴趣的专业,仅仅是随着大流而做着“最正确”的选择。

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

我觉得是的。虽然在刚开始的时候被虐千遍万遍,虽然在与它熟知后,还总是写出 bug,de 个半天,但是每每在看到自己所写出的一段段小代码,完成的一个个小项目,看到自己写的测评机能够帮助别人找到 bug,在发现自己的生活确确实实因为有了它的存在而变得更加便利,自己也通过计算机帮助了别人收获了成就感,我知道我确实是喜欢着这个领域

我觉得我目前并不擅长这个领域,我现在所经历的都仅仅是学校内的课程,自己写的也仅仅是一些小项目,我还并未投入过比较成熟和完整的项目中过,没有经历过足够的练习和实践,我现在仅仅是站在这个领域的门口,我认为我还没有真正走进去

  • 你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?

热爱吗?其实我也不太懂,我对于计算机本身似乎谈不上热爱,我一直都是对计算机能够做到的事情和应用抱有着极大的热情。比如对于硬件,对于操作系统等底层方面的内容,我其实很少涉猎(课程之外挺少尝试的);而关于编程爬虫,写个有意思的前端页面,做点计算机视觉方面的工作我总是很有兴趣,比如为我弟魔改一些小游戏,比如写个前端页面祝别人生日快乐,比如为了FQ,自己搭了个境外的服务器

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

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

想要对大学生活吐槽的地方主要在于学习之外

关于学习之内,我其实想要吐槽的点没有太多,虽然存在着念 ppt,不重视教学的老师,但是大部分老师都是很认真地完成着教学任务,并且部分课程将教学与实践结合,这个给我带来了很好的体验。

但是学习之外,我就有比较多想要吐槽的点了,不论是关于学生发展还是关于学生心理建设方面,我觉得北航其实都做得不足。关于学生发展,学校除了《职业规划讲座》课程之外,似乎就没有更多能够给学生发展提供实质性建议和帮助的地方,除了少数从早期就有着明确目标的同学,其实大部分人都是到了大三才开始思考自己未来到底应该怎么发展,实在没思考出来,随大流总是不错的选择,每个人都随着其他人做着“最正确”的事情,之后大概就是“内卷”了吧,因为没有思考过其他选择;关于学生心理,学校没有健全的心理辅导办法,也没有较为积极地为学生开展心理咨询或者讲座等相关活动,这个我想要吐槽主要是因为去年学校发生的一些事,还有事情发生后才开展相关讲座来进行弥补,在日常宣传中会强调学生心理健康的重要性,而实际却是在发生了相关事情后才进行补救,我认为在建设学生心理方面并没有做好。

  • 你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。

我理想的大学教育应该是开拓视野,树立信念,允许你尝试,允许你失败和犯错

在开拓视野方面,北航的部分课程是有在做尝试的,通过引入世界上其他大学的相关课程内容,为我们进行课堂之外的知识的补充,也有着实践与理论结合,强化动手能力,但是在部分课程上也存在着课程内容老旧,与时代脱节,而最终考核还是基于这样的内容进行细节记忆,在一定程度上反而限制了我们的视野(数学建模的仿真)。

在树立信念方面,除了社会主义价值观之外,也要引导学生热爱生活,勇于创新,在大学时期慢慢养成对于人生的价值观,对于人生的信念,将视野放到终生学习上,而不仅仅是眼前的大学四年。北航我一直认为是一个科研氛围浓厚的学校,但是关于人文,终身学习,信念建立等方面还是有所不足,更多的是学生自己的摸索,而我期望学校方面是能够提供相关的帮助。

关于尝试,失败和犯错。关于这点,我可能更多从课程评价方面进行讨论(或许有点跑题了),在博客N中提到,美国的大学课程涉及很多的实践内容,最后课程的评价也是由每周的考试,作业和阅读量累积体现的;而在我接触的大学课程中,除了几门核心专业课之外,更多的课程是平时作业分+期末考试分来对学生一学期的学习进行评价,而期末考试分占据了课程评价的60%~80%,其实关于这点我一直没有想明白,为什么大学课程对于一个学生的评价和初高中一样,都是期末考试评价,难道这个人期末考试考好了就能说明他对这门课掌握得很好,没考好就可以用成绩否定他一学期的努力。并且课程成绩与个人的奖学金,保研资格,其他奖项评定直接相关,尤其是在6系,一次课程的失败就可能意味着你与这些都将无关了。感觉大学的评价体系有点片面,只注重于成绩;有点刻板,学生来到大学好像不是为了学习能力和知识,而是为了好的成绩而学习

对于国外大学的教育,我也仅仅是从博客N博客O中窥探一二,我认为我的学校和老师在一些方面很难做到与国外那样,但是关于课程方面 CO,OO 都在努力贴近国外的计算机课程的实验,确确实实在变得更好。

我认为不能做到国外那样的原因,主要是国情所致,中国的人口基数大,大学生多,并且仍然在扩招,老师助教学生比很难维持到一个合适的比例,所以课程很难像国外那样展开。

  • 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。

内容 代码量
C语言程序设计,数据结构,刷题 1000+行
CO Verilog,mips 3000+行
swift 500+行
OO java+python+shell 5000+行
OS 填空? 800+行
小型编译器 3000+行
数学建模相关 1000+行
数据库后端开发 2000+行
助教评测,ruby,零零碎碎的其他 1000+行

大概在1.7w左右的代码,感觉比起自己所预期的要少了很多(卑微)。

最复杂的作业的话,我觉得应该是OO的第一单元,时间短,任务大,第一次接触。第一单元关于表达式求导,我除了完成课程内容以外,还迭代开发了自动评测机,我认为它最复杂是因为那是我第一次进行全自动化的尝试,从生成数据,到数据检验,从评测一个人,到多人同时评测,以前的话我主要是自动生成数据,手动对拍,所以就第一次而言,这是我感觉最复杂的。

最复杂的项目应该算是类C文法的编译器,词法分析,语法分析,中间代码,错误检验,目标代码生成,算是一个比较完整的项目。

  • 科班出身和北大青鸟有什么区别?

科班出身更注重为什么,而北大青鸟更注重怎么用

  • 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?

我现在没有这样的疑问了。在参加了几次数学建模相关比赛,数据挖掘比赛和CV方面的实践,我发现其实计算机只是工具,工具的使用决定着你的下限,而对于数学知识的应用,才是能够解决问题的根本,决定着你的上限

对于我自己,我有参与数学二学位的学习,虽然感觉没有很好地吸收二学位课程的知识,但是对于很多数学名词和数学知识都有了初步的了解,不论是数理统计时的皮尔森相关系数,逐步线性回归,还是矩阵分析中的奇异值分解,它们在我的数学建模的实践中,就很好提供了帮助(虽然有的时候我用错了跑偏了)。

第三部分:未来规划

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

我未来期望从事的事业,是能够参与到一款伟大产品的开发工作中,相较于科研,我更享受自己实际开发产品,产品落地被人使用的过程,但是具体要从事这个产品的什么部分,是前端设计,还是后端开发,亦或是架构,核心算法设计等,我目前没有明确的想法。现在想要做的,就是根据博客K中所提到的,拼命看书,和博客L中所提到的,发现自己的热情所在,发现自己能力的限制,找到最适合自己的方向。

技术道路:加深对于 CV 方向和数据挖掘方面的尝试,同时对不同的技术栈都有所涉猎,不一定深入

职业道路:关于成长,我其实对读研没有明确的想法,如果能够保研,那我会愿意继续深造;关于职业,除了技术之外,我也希望未来能够有机会参与产品的设计,不仅仅局限于一个“程序员”

社会道路:或许像稚晖君一样,在进行着企业工作的同时,热衷于开发自己的小玩意,并将这些小玩意分享给其他人;参加一些开源项目,期望能够对他人有所帮助,同时感谢开源的大佬们在自己这几年的学习探索中所提供的帮助

  • 你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?

企业实习,我更期待看到自己所开发的产品到底是如何应用于市场中,也期望着自己的产品能够确确实实给他人带去便利,相较于实验室的科研,我更喜欢产品落地使用的感觉。

最后想要和大家乔布斯在斯坦福大学的演讲

  1. 人生的许多看似无用之事,会带来你人生的重大转折;
  2. 找到自己所热爱并愿为之奉献的事业,唯有热爱会在你一无所有时,支撑你走下去;
  3. “好学若饥,谦卑若愚”。

Here’s to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes… the ones who see things differently — they’re not fond of rules… You can quote them, disagree with them, glorify or vilify them, but the only thing you can’t do is ignore them because they change things… they push the human race forward, and while some may see them as the crazy ones, we see genius, because the ones who are crazy enough to think that they can change the world, are the ones who do.
— Steve Jobs, 1997

参考链接

  1. 辜新星:时刻调整方向 找到人生的蓝海
  2. 刘帅:在失望中寻找希望
  3. 徐宥:掉进读书的兔子洞
  4. 我前妻的故事:一个北大青鸟出来的,如何从月薪800元到年薪40万?
  5. 我的软件开发生涯 (10年开发经验总结和爆栈人生)
  6. 谈谈职业规划——CSDN对我的采访
  7. 对程序员职业的一些建议
  8. 美国视界(1):第一流的本科教学课堂该是什么样?
posted @ 2021-03-10 00:00  DanGuge  阅读(277)  评论(6编辑  收藏  举报