2021年软工-第一次阅读作业

2021年软工-第一次阅读作业

项目 内容
这个作业属于哪个课程 2021春季软件工程(罗杰 任健)
这个作业的要求在哪里 2021年软工-热身阅读作业
我在这个课程的目标是 了解软件开发工程的具体流程,学习项目实践开发的方法与步骤。
这个作业在哪个具体方面帮助我实现目标 学习通过撰写博客来进行积累总结的具体方法,训练个人语言表达能力,并对未来发展进行简要的规划思考。

第一部分 结缘计算机

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


    选择计算机作为自己的专业,对于我个人而言,主要因为自幼培养的对计算机相关领域的兴趣。

    在小学和初中阶段,由于我的父亲本身从业于计算机互联网行业,受其影响,我较早接触了计算机相关的应用软件,并逐渐能够熟练使用它们。而由于年幼,此时的我还只是把计算机作为娱乐的工具使用。对此时的我而言,与其说是直接对计算机本身工作原理与相关研究产生兴趣,不如说是音乐、视频和游戏等娱乐活动引导我对计算机相关软件的使用产生了兴趣。

    在高中学习阶段,在父母的指导下,我尝试着报名了全国青少年信息学奥林匹克联赛,并进入了高中的信息竞赛班进行学习。这一阶段的学习与培训,则让我跳出了单一的计算机软件使用的领域,开始简单了解计算机的工作原理,并学习到大量竞赛算法等基础知识。而除去知识层面上的收获,我也在心理层面上认识到计算机工作原理的奇妙之处,以及开发属于自己的简单应用程序的乐趣。

    总之,正是上述两个阶段的经历,培养了我对计算机相关领域的兴趣,并最终选择了计算机作为自己的专业。


    那么,至于说我个人条件的评价,可以从基础和提升两个方面来进行总结。

    在基础方面,由于我高中参加了信息学竞赛,对于部分基础算法的理解与应用可能占有一定优势。但是,高中的信息学竞赛培训仍然属于应试教育内容,其中学习到的部分工具性的知识我虽然会使用,却对其具体的实现原理与基础理论不够清楚,而这部分知识则往往包含于大学计算机专业的专业课程内。因此,我始终认真对待大学期间专业课程的学习,确保自己在基础知识上没有遗漏。

    在提升方面,我认为主要是指个人的工程能力。在高中参加信息学竞赛期间,我写出的往往都是较为短小的程序代码,工程经验相当于零。尽管在进入大学后,通过编写计算机组成原理、操作系统和编译原理等专业课程的课程设计代码后,我的工程能力有所提升,但还是处于很原始的水平,仍需通过训练来不断提升。


    上述文章里的博主大多是已经在行业中打拼多年的大佬,还有不少从小就参与了程序编写工作,以我的能力而言,当然与他们之间还有相当大的差距。


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


    经过幼时兴趣的培养和这几年计算机专业的学习,我已经可以确定的说,计算机是我喜欢的领域。计算机相关领域的底层原理知识不仅吸引着我,专业课实践项目的完成也能够带给我极大的成就感。至于说是否是我擅长的领域,我无法给出很肯定的答案。对我个人而言,我在计算机领域的工程实践也才算是刚刚开始,相较于学校里或者已经工作的各位大佬来说,肯定是还有很大的差距,但是我相信自己将会很乐意在接下来的学习和工作生涯广泛地吸收开发经验,借以不断提升自己在该领域的能力。


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

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


    经过将近三年的大学生活,目前感觉,最想吐槽的方面就是每个学期设置的专业课总任务量过重。由于疫情的原因,2020春季学期计算机学院没有开设任何一般专业课。但是我们的培养方案选修一般专业课的学分要求并没有进行调整,这就导致剩下的两个学年需要选修更多的一般专业课。对我而言,在刚刚过去的2020秋季学期,七门一般专业课以及两门核心专业课各自的工程任务量加在一起有些过于庞大,以至于我每天都是从早忙到晚,但是部分专业课程的学习却浮于表面,而缺失了主动深入思考的环节,此外,也没能完成部分专业课程布置的申优作业。当然,课程这样设置确实有助于训练我们的工程能力和抗压能力。


    在我看来,理想中的大学教育应当是基础理论与实践能力并重的。基础理论是从原理上给定我们工程中常使用的计算机相关技术的具体解释,理解基础理论将有利于后续逻辑思维和工程能力的培养。相反,如果只是“知其然而不知其所以然”,则会导致自己只能成为最底层的代码搬运工。这方面正如博客D所说,“计算机专业(或其他相关专业)虽然重视实践,但是实践是在掌握好理论的前提之上。”另一方面,实践能力则是计算机领域工作的必需品,培养实践能力能够为将来走向工作岗位奠定良好的基础,同时也是辅助理解理论知识的关键环节。


    目前,学校所给予我的教育基本符合我理想中的大学教育。稍有区别的地方在于,部分专业课程所要求的任务工程量大但时间却过于紧迫,导致我个人在完成实践任务的过程中往往还是依靠直觉去写代码,也因此很难在实践任务中尝试自己在理论课中所学到的部分基础知识。


    至于说国内与国外的大学教育,我认为还是有所差距的。由于我对国外的大学教育情况了解并不是很深,所以只能是结合一些调研和自己的理解简单谈谈。国外大学相较于国内大学更加重视实践课程的作用,同时课程的教学会融入许多时下新颖热门且与课程相关的概念来讲给学生。目前我们学校的许多专业课都进行了改革,应该说是已经在尝试向国外的大学看齐,这也是相当好的一个趋向。


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


    对于写了多少代码这个问题,个人认为很难统计。这其中不仅包括大学进入计算机专业后完成的各个专业课程的实践作业,还包含高中参加信息学竞赛所编写的一些简单的小程序,时间跨度较长且内容杂乱,因此我目前为止所写的代码量实在难以统计。


    至于说我目前所完成的最复杂的软件项目,我认为是编译原理课程中所写的编译器。该编译器面向课程给定的类C语言文法,目标生成自己规定的中间代码以及最终的MIPS汇编代码。在这个项目之前,我虽然使用过C++语言,但也仅限于C语言的使用方式,编写过一些简单功能的小程序,既没有面向对象的编程思想,也没有尝试写过完整的一个工程项目。但通过完成这个软件项目,则让我迅速地掌握了较为简单的C++软件项目编写能力,尽管还有很多细节需要完善。当然,这个项目也有遗憾。正如上文所说,2020秋季学期我个人的专业课程任务总量实在过大,导致时间不多充足,所以我并没有对编译器进行完整的编译优化,仅仅完成了复写传播和简单的死代码删除的部分,这一点实在是让我感到很遗憾。


第三部分 未来规划

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


    关于个人未来在IT行业的具体工作或者规划,说实话在写这篇博客前,我的认知还是处于一个非常模糊的状态。不过,通过阅读博客L中所给的关于程序员职业的一些建议以及个人的一些思考后,我发现自己目前仍然对技术的相关工程任务充满热情,并愿意在这些工作上花费足够的时间。因此,我个人认为,自己未来仍然应当从事技术相关的岗位。


    那么,我的个人规划大致如下:

    技术方面,由于我个人目前目标是研究生,所以需要培养的技术领域更多应该是与科研内容相关,这也就需要我对相关科研领域进行大量的阅读与实践。

    职业方面,尽管上文中已经提到未来很可能会选择技术相关的岗位,但是仍然是一个比较模糊的规划。因此,我认为自己在接下来仍应该对不同计算机领域的技术岗位搜集资料情报,借以进一步缩小自己想要从事的技术岗位的范围,从而让自己的职业道路规划更加清晰。


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


    我目前是想在实验室实习,借以实际体验一下实验室内进行科学研究的具体氛围,提前适应实验室内的工作环境,即使是一些实验室打杂的工作我也十分乐意接受。

posted @ 2021-03-08 10:48  OmedetoHe  阅读(123)  评论(1编辑  收藏  举报