我不相信什么冥冥之中自有安排,我只相信我现在所做的一切都会在未来有所体现。
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021春季软件工程(罗杰 任健) |
这个作业的要求在哪里 | 2021年软工-热身阅读作业 |
我在这个课程的目标是 | 学习软件开发的工程化方法,第一视角体会结对编程、团队协作的软件开发流程 |
这个作业在哪个具体方面帮助我实现目标 | 让我回顾自接触计算机以来自己的心路历程,重新思考未来的发展 |
0. 关于听讲
阅读 Scalers 的这篇博客后关于听讲的思考...
博主简明扼要的抛出问题,“你在上课的时候,是认真听讲,还是在聊天说话玩手机?”,针对这个问题,我必须指出,问题本身不全面,课堂上不只有这些选择。接着,博主鲜明的指出自己的观点——大学生上课就是要认真听讲,然后摆出了五个论据,接下来我会针对其中几个论据提出自己的看法。
首先,“认真听讲是一种能力”。是的,认真听讲能培养我们专注的能力,而这种能力有助于我们在后续的工作和学习中也能保持专注。我的疑问是,是否每一门课都有专注听讲的必要,如果我的目标明确,是否可以将我所认为更有利于目标实现的事情置于这门课之上,选择不听讲?这何尝不是一种专注?当然,仅仅是为了自由散漫而选择不听课自然是人颓废的开始。
其次,“课程讲的不好不能成为不听讲的理由”。博主写道“我始终相信老师的整体水平还是优于学生的,所以当一个学生说老师讲得烂的时候,我其实是期待学生能说出来具体哪里烂,而且能指出明确的点以及可改进的方案的。”。的确,在所教授的课程领域,老师的专业知识远超于我们大学生,这一点是毋庸置疑的,但是这并不代表所有老师都能把自身所精通的知识以较高质量传授于我们,一堂课的开展需要老师与学生两方的配合,如果大面积的学生不愿意听讲,显然老师一方也负有责任,另外,很多时候,学生是没办法说出具体哪里烂总而言之就是味同嚼蜡,更没办法能指出明确的点以及可改进的方案,因为学生的水平绝大多数不及老师,就连老师都无法做到吸引学生听课,那学生又如何能做到?
最后是,“课程有用无用不是一个大学生的格局能判定的”。这一点我十分赞同,以一个大学生的阅历来判断一门过来人设置的课程实在是为时尚早,谁也不知道这些课程的学习经历会在未来哪个关键时刻派上用场,抑或是在某个方面潜移默化的影响了我们...
1. 关于初衷
阅读博客I之后...
读完这篇博客,我十分佩服博主。博主初二时在学校的电脑课上第一次接触到电脑,初三时拥有了自己第一台电脑,凭借着浓厚兴趣投入大量时间捣弄电脑,甚至为了电脑决心学好英文;在高中,博主更痴迷于电脑,盯着高考的“重压”仍然是“两耳不问窗外事,一心只顾编程序”。博主强烈的想成为一位 IT 人的愿望促使他坚持学习电脑知识并开始职业软件开发生涯。
你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答)
我第一次接触电脑是在小学四年级,楼下的小伙伴家有一台配置不错的电脑,我经常跑去他家跟他一起打游戏,那时候,电脑对于我而言就是一台游戏机,这个想法一直伴随我来到高中。相较于这位博主,我十分羞愧,羞愧于自己虽然同期接触电脑在先,但却走上了旁门左道,更后悔的是,有位关系较好的高中同学利用午休时间学习编程,而我在一番了解之后毅然决然选择了回宿舍睡大觉,又一次错过了深入理解电脑的机会。
我十分羡慕这位博主,羡慕博主早早就接触 DOS, GWBASIC, Quick BASIC 和 Pascal,羡慕博主有一帮志同道合的人能交流技术...
但是,为什么我又在大学选择了计算机专业呢?答案,是游戏,但是这次我的思考角度不是玩家,而是为什么电脑能够运行游戏?为什么敲敲键盘,点点鼠标,屏幕里的小人就会按照我的意图行动?我和博主都被电脑的神奇之处所吸引,目前,我还处于学习阶段,如今的我已经解决了当初的疑惑,但面临着更多的“疑惑”,将来我也希望成为一名 IT 人,不断解决“疑惑”又产生更多的“疑惑”。正如博主所言,成功贵乎坚持,我希望我也能坚持这个方向,“一入 IT 深似海,从此摸鱼是路人”。
计算机是你喜欢的领域吗?是你擅长的领域吗?
计算机是我喜欢的领域,这份喜欢是在不断接受新知识,不断体会过程中的乐趣所逐渐加深的,但是,我不敢确定我是否擅长计算机,原因在于,所有个人的涉及编程的课程或课程设计,我都完成的不是非常完美,过程也算得上十分艰辛,经常需要课下花很多时间求助于同学或老师。不过,以现在的角度来重新审视这些课程的学习,我想若不是“擅长”计算机,又怎会下功夫去闯过这些难关呢?
2. 大学教育
你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。(必答)
2.1 吐槽
大学生活最想吐槽的地方还是期末考试。相比于高中三年学那么几门课,大学几乎每学期都要结束十几门课程,其中不乏有考试课,就算每节课都认真听,课下作业认真做,还是免不了在考前加班加点突击复习。虽然年年都在吐槽烤漆,但是奈何某些课除了开展覆盖性的考试,没别的法子可以检验学生的学习情况...
2.2 理想与现实
我理想的大学教育是学生和老师亦师亦友、老师循循善诱、每门课程小而精且富有挑战、每学期的课程压力适中,保证平衡性。具体来讲,我十分羡慕这位博主所描述的朱仲涛老师的“数据结构”课,朱老师不拘泥于理论,整堂课大部分时间在带领同学们一起编程,在实践中获得认知,引人入胜。不过,我所期望的还是太过理想,目前在学校,大部分还是靠自己学,虽然有许多富有挑战性的课,但是某些课还是不太成熟,体验不是很好,另外,自选的课信息匮乏,很多时候与所期望的内容相差甚远...
2.3 国内外大学教育
由于我并没有深入了解过国外的教育模式,所以只能从旁人的只言片语中提取特征与自己接受的教育作比较。根据身边出国的同学和老师所述,国外的教育(工科)一般侧重实践与展示,且任务量比较大,课堂上交互式内容很多,学生与助教和老师的在课上和课下的交流都非常紧密。就拿本学期实时嵌入式应用系统第一节课上老师所描述的国外嵌入式系统教学作为例子来看,课程组将教学任务分为许多单元,每个单元之间可独立完成,但是需要设计好接口,以便最后集成为一个可运行的系统,在此期间,学生有任何进展或者疑问都可以在现场展示,与老师、助教和其他同学进行探讨,其中接口设计和系统集成都面临不小的挑战。另外,咨询了一位从高中就在国外念书的同学了解到,国外教育目的性很明确,高中与大学高度对接,将来在哪个大学念书,念什么专业,很大程度上都取决于高中的情况,因此学生大多有基础,而在大学感到迷茫,手足无措的情况较少。
窃以为,放眼全中国,整体大学教育相较于国外应该是有部分差距的,但是中国的教育是最适合我们的,除了比较久远的历史原因,还有一个现实情况是我们人口众多,人才选拔为了普适、公平,牺牲了个性化,从事教育的高端型人才无法支撑本科生教育做到交互式、精细化。但是就我在北航所经历的大学教育来看,我认为我们学校许多课程已经在学习国外的模式,有的课程甚至在模仿的基础上有了自己的特色。我所经历的,计算机组成原理、面向对象设计与构造表现十分出色,编译原理也值得夸,操作系统则还有很大进步空间,还有其他很多课程就不一一列举。另外,本学期咱们的软件工程课程也备受期待,希望我们学生和课程组相互配合,带来好的体验!我们学校的教育是否能对标国外,我不敢说,但至少,我们在进步。
2.4 个人学习
迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。(必答)
截止目前,粗略估计,计组大概敲了两千行,OO (四单元)大概敲了五千行,编译大概敲了两千行,数据库以及 rails 大概敲了一两千行,总的来说就是一万行上下。要说最复杂的软件项目,那应该是编译的课程设计——一个简化的类C编译器。这个小小的编译器虽然能做的十分有限,但是至少词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成一套流程都得以实现,最终能够利用递归下降子程序法编译具有一般程序语言控制结构、支持函数调用、支持 int, char 类型的常量、变量、数组(二维数组)、支持简单错误处理的编译器。
学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
引用这位博主的话就是“非没用,兔子洞”,狡兔尚且三窟,我们聪明人也应该在早期做好准备,打下基础。“成长路径中有很多的偶然,没人知道在一些关键时候需要什么样的知识储备,所以踏实地多储备一些是好事。”,仅靠我们大学生的阅历,不足以认识到现阶段学这么多数学的作用,但是在如今这个学科交叉的时代,在机遇和挑战并存的时代,我们学的数学很大几率会在未来某个关键时刻派上用场。
3. 关于未来
对于你未来在 IT 行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?(必答)
3.1 梦想
作为一名游戏玩家,接触了许多网游,也专门了解过网游发展史,得知网游的诞生必不可少的基础就是网络。就目前接触了这么多计算机专业课之后,我依旧对计算机网络感兴趣,因此希望未来能成为一名网络工程师。
3.2 规划
首先肯定是在目前阶段打好理论基础,熟悉网络的五层体系结构;技术方面细节不清楚,但是肯定是先打下手,做实施工程师,不断积累经验;之后要拓宽业务能力,纵向发展肯定是往资深工程师和总工走,而横向发展可以兼顾服务器硬件、操作系统、数据库、安全,把多个方向都做到中等水平,做综合性技术人才。
你对于实现自己的梦想已经做了或者计划做什么样的准备?
你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
我打算在实验室实习,因为我认为本科教育还是过于宽泛,我希望在各种专业课程上继续深造。另外,我还希望在实验室锻炼信息检索、如何提出问题、如何解决问题的能力。我希望能通过这两个方面更好的应对工作的多方面复杂要求。
当然,嘴上说的轻巧,关键还是要落实到行为上。目前,我还存在许多短板,最为致命的是静不下心钻研理论知识以及编程水平亟待提高。对于静心读书,看到这位博主几次三番发出“面试题怎么都那么熟悉”的感叹,我意识到我也必须广泛涉猎理论知识,我已经购买了许多实现自身梦想需要研读的书籍,我希望我可以坚持看下去;对于提高编程水平,拜读了这篇博客后,我十分赞同博主所言,“如果要快速提高自己的编程水平的话,你必须总是去做一些你做得出来,但是难度大到只要再难一点点你就做不出来的事情。再这么坚持好些年之后,肯定会进入高手的行列。”,是的,我需要保持对编程的热情,不能因琐事以及自己的懒惰总是拖延编程。
4. 写在最后
每次写完一篇带有回顾、规划性质的博客,我都会热血沸腾那么几天,尔后又陷入沉沦。
感谢课程组给予我写下这篇博客的机会,最后还是希望能坚持下去,不忘初心,牢记使命。