2020BUAA软件工程 第一次我的做业 回顾与展望

2020BUAA软件工程\(\cdot\)第一次我的做业 回顾与展望

1、做业要求简介

本文是北京航空航天大学计算机学院软件工程课程的第一次做业。做为一名计算机专业的大三学生,此次做业的目的正是让咱们更好地总结过去的学习生涯,作好将来的职业规划。经过阅读前人的职业经历,借鉴他们的成功经验,同时反思本身是否在正确的道路上朝着本身想要的目标前进。html

项目 内容
本做业属于北航软件工程课程 博客园班级连接
做业要求请点击连接查看 做业要求
我在这门课程的目标是 得到成为一名软件工程师的能力
这个做业在哪一个具体方面帮助我实现目标 总结过去、规划将来

2、正文

第一部分:结缘计算机

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

博客I中的做者是一位狂热的计算机爱好者,他/她选择从业于计算机彻底是出于对行业的爱好。而博客G中的主角选择投身写程序并不是出于对计算机和写代码的热爱,而是为了生活——"因而,虽然她历来没有碰过电脑,虽然她不知道什么是编程,可是她已经有了一个理想,那就是作程序员,一个月挣 8000 块钱。"git

我认为,一我的与计算机行业的结缘的缘由并不在于其对行业的热爱或信仰,也不在于科班或非科班。而在于其所处的时代背景与我的机缘巧合的选择。程序员

博客I中的做者处于我的计算机刚刚家庭的时代,他当时家里拥有386,和同窗一块儿偷着去老师家里玩电脑。正是在这个时代背景下加之他优质的家庭条件赋予了做者对计算机的热爱。而博客G的主角处在互联网公司刚刚兴起,行业急需大量程序员的时代。她看到了计算机行业上升期的红利,于是决定投身到计算机工做中。编程

对于我本身而言,我所处的时代是计算机技术逐渐普及千家万户,互联网产业飞速发展的时代。同时也是一个高考毕业生疯狂选报计算机专业、其余行业的人员疯狂转入计算机行业的时代。计算机行业实际上已经成为当前社会发展进程中的主流行业,表明着当今时代。我并无经历过像博客I的做者同样从幼时起对计算机技术如醉如痴的过程,也并无博客G女主角同样因生活所迫从事计算机产业的压力。我之因此选择计算机专业,大概即是被互联网产业的时代洪流裹挟而冲进了这计算机领域吧。我相信有不少人会和我同样,在选择本身将来的行业时,并无一个所谓的最喜欢的方向,于是便选择了成为大多数,向着大多数人所追求的计算机行业前进着。。。数据结构

谈完了我为何选择计算机专业,再谈谈后面的问题。我在中学是一个地地道道的应试教育考生,每日沉迷高考,无时培养兴趣,报志愿时确实不知道本身将来喜欢从事什么职业。可是,应试教育也培养了我扎实的数理基础,语言表达,英语能力,学习能力等。相比于博客I做者的理科偏科,以及博客G主角的低文化水平,个人基础能够说比他们都好。有了这些文化基础,其实不论从事什么专业领域的学习,都可以很好的投入进去。因此当我选择计算机专业后,我便踏踏实实的学习计算机专业的每一门专业课,力争获得好的课程成绩。"只有无限投入,才知何为热爱。"逐渐地,两年半的时间过去了,我已经了解了计算机这门学科,真正感觉到了博客I做者的那种痴迷与热爱。架构

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

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

下文中,我只讨论我所经历的北航计算机学院的教育,其余大学或其余专业的教育模式可能不一样,我也没经历过,因此不作讨论。性能

首先,B文H文中都提到了大学教育的问题。B文指出,不少学生遵循高考模式来学习大学知识,只了解上课讲的和考试考的,使得科班出身的计算机毕业生并无真正学懂计算机。而H文更强烈地指出,"中国大学教育就一个字,渣"。并以本身一个文科生靠自学编程从而超越众多科班生实现自我价值来印证中国大学教育的失败。学习

在我看来,H文的观点过于偏激了,他并没证实,若是本身接受过计算机科班教育并依然如他所述的努力会比他自学的结果差,因此并不能以他的我的努力否定计算机科班教育。而B文所言的道理是值得思考的,即如何让大学生掌握大学的学习方式确实是当前中国高等教育面临的挑战。下面谈谈我对这个问题的理解。测试

  1. 为何中国学生愿意只掌握老师上课讲的,考试考的知识。想获得一个高的分数却不肯意深究此科目更深层次的问题?优化

    有些人可能会怪罪到应试教育头上,这当然是一个缘由。但我认为更重要的缘由是中国学生没有作好职业规划。咱们做为正在接受高等教育的成年人,实际上有能力判断出上课老师讲授的知识远远只是冰山一角(也许有些同窗真的不知道,good for them),而不肯意深刻研究的缘由正是由于咱们没有明确的职业规划。能够深刻研究的知识浩如烟海,每个方向都足够耗尽你短短的本科四年,因此要深刻研究哪个方向呢?

    依我看来,本科教育更像一个行业的科普教育,它能决定毕业者的行业知识下限。做为本科生,咱们并不知道下限是什么,这个下限正是由大学的培养方案制定者给出的,也是由各个科目的老师在课堂上的教授,期末的考试所体现的。因此,当一个本科生没有足够充分的职业规划目标时,他只能选择相信学校,学会老师所讲授的知识点,考个好成绩。这样他才能保证至少知足行业要求,从此有资本选择本身要走的职业方向。

  2. 既然学生渴望输入式教育,为何咱们的高校不作到100%输入呢?

    100%的输入换句话说能够理解为,让学生在有限时间内得到更多的知识和能力提高。B文做者谈到了本身听清华教授讲数据结构课受益不浅,NOQ三篇博文也介绍了世界一流大学的课程状况和做业状况。以上均可以理解为老师让学生在有限时间内得到更多的知识和能力提高。中国不少高校没法作到这点的缘由是教育资源的不足

    随着中国的发展,中国大学的本科教育实际上已是普及教育了,一个月3000块钱雇不了一个农民工,只能雇个大学生。普及教育致使教育资源的不足,如师资力量匮乏,教学经费不足,教辅团队水平低人员不足,课程设计差等等。举个最简单的例子,在美国上大学,一年要花30-50w,中国学费只有8000,宿舍费1000之内。你期望这些钱能买到多少教育资源呢?

    可是,能够看出,中国顶尖学府的教育质量和教育资源正在快速提高,以北航计算机为例,能够看到某些学科的教育资源和教育质量已经有很大提高。如计算机组成原理课,我有幸经历课程学习,并做为教辅团队的一员帮助下一届的同窗学习了此课程。经过从14年到19年这6年的不断改革与设计,以分Project的实验为载体,让学生亲自上机实践,大部分学生都能经过一行行代码实现一个五级流水全速转发支持中断异常与外设的高质量MIPS处理器。这种优质的课程设计使得学生在短期内学到了大量知识,提高了不少能力。其余课程也都在逐渐提高教学质量,以良好的课程设计,提高学生的知识输入。

  3. 既然教育资源有限,学校应该如何引导学生转变学习方式呢?

    如上文分析,若是能让学生有明确的职业规划,就能够解决这个问题了,学生知道本身未来要作什么方向,就能够根据方向选择须要深刻学习的知识。例若有一些学长在经验分享时指出,本身在大一入学就决定本科毕业就作开发工做,他就天然放弃了刷高学分,而把时间放在实习和作项目上,深刻研究开发所需的技术栈,最后找到了很好的工做。学校应当引导学生作好职业规划,这样才能充分发挥学生的主观学习动力,朝着他的目标努力。

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

目前,个人代码量大部分来源于各门课程大做业。数据结构大做业在500行,组成原理大概2000-3000行,面向对象一学期的做业大概累计5000行,编译原理写的编译器大概5000-6000行,一些零散的小项目的代码加起来大概2000-3000行。因此总共的代码量加起来差很少有15000行(指代码总量,有效代码量可能不多不多)。

我目前作过的最复杂的项目应该是编译原理课写的类C文法编译器,在这个项目中学到了不少东西。采用了C++语言,是我在看了C++ Primer书以后真正用C++写的第一个稍大型项目。采用了面向对象思想设计架构,学着用git管理版本,熟悉使用VS集成开发环境。代码的内容逻辑也比较复杂,尤为是后期作编译优化的阶段,为了实现inline和DAG图优化,也经历过很痛苦的熬夜debug过程。最终用5000-6000行代码独立实现了一个类C文法编译器,包括词法分析、语法分析、错误处理、符号表管理、中间代码生成、代码优化、目标代码导出等功能步骤,并达到了较好的测试性能。

第三部分:将来规划

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

个人梦想是经过技术达到自我实现,在IT的一个领域作一好项稳扎稳打的技术。2019年阿里巴巴首席架构师、阿里云之父王坚当选中国工程院院士,在我读了王坚带领团队开发阿里云的事迹以后,我深深被他那种对技术执着的追求所打动。我从心里深处发觉,原来我也想成为这样一位不懈追求技术的人。

想要追求技术必定要终身学习,本科毕业以后我要读研究生,掌握科学的研究方法。毕业以后争取去到大企业的核心业务技术部门,先积累行业最顶尖的技术。再针对待改进的问题,敢于攻克最困难的部分,这样才能真正经过技术达到自我实现。

固然,谈这些都只是目前所想,将来实际的道路充满了无限可能。当下仍是要作好眼前的工做的,在接下来一个学期的软件工程课中,我期待着能学到更多的知识,提高更多的能力,我依然会尽心尽力的。Rush!!!

3、参考文献

刘帅:在失望中寻找但愿

我前妻的故事:一个北大青鸟出来的,如何从月薪800元到年薪40万?

【野生程序员】:优先招聘

个人软件开发生涯 (10年开发经验总结和爆栈人生)

美国视界(1):第一流的本科教学课堂该是什么样?

分享下在美国读研期间的一些计算机课程做业

软件工程资料 - 优秀的大学怎么教程序开发和软件工程课

相关文章
相关标签/搜索