天天看点

软件工程作业一

项目 内容
这个作业属于哪个课程 2020春北航计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 第一次个人作业
我在这个课程的目标是 增强软件开发能力,增强沟通表达能力
这个作业在哪个具体方面帮助我实现目标 阅读博客,反思自我,展望未来

一、结缘计算机

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

我是个纯计算机小白,在上大学之前从未接触过计算机,也未曾考虑过从事计算机专业。唯一涉及过一点的可能就是高中技术课里讲过的VB,但是我又没有选考技术,只是对VB编程有种模糊的映像,当时感觉这个编程领域很强很先进,但却没有进一步了解了。可以说,选择计算机的初衷是纯功利的,因为计算机就业好,因为计算机工资高,因为现在是信息时代种种原因,我志愿选择了北航信息大类,后来进入了计算机系。我感觉这是大部分高中生专业选择的方式。凭借还算可以的数学和思维逻辑能力,在六系平凡的学习着,我感觉 我和那些博主以及我们系的一些大佬,差距太大了,差距不仅仅体现在读的书有多少,打的代码有多少,差距还体现在思想方式,对问题,对自身,对未来的思考方式,我觉得我还需要学很多。

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

计算机一开始我并不喜欢,可以说是略微有些讨厌。刚开始我一打代码就头疼,就心烦,在大一的程序设计还是数据结构课上,我都提不起兴致,其实我也是挺后悔的,当时感觉程序设计和数据结构特别枯燥,OJ上的题我都是点到为止,课设大作业我也没怎么好好做,这也导致我的代码基础就相对很薄弱。但是后来,我也逐渐接受了这个专业所带给我的种种,我也能从中获取一些乐趣。完成大大小小的项目、课设,也能给我成就感和满足,我也会想办法完善我的设计,提高它的性能,或者简化它的代码。但说实话,那种满足感的到来也已经是大三开始了。因此问我计算机是我喜爱的领域吗,答案是还行,但仅限于还行。我不擅长它,一就是因为基础薄弱和花的功夫不够深,我感觉我还有太多太多需要学习,而深层原因我觉的就是那种热情并未能激发我,让我可以孜孜不倦的盯着代码,让我可以兴致勃勃的在桌子旁边和小伙伴们讨论计算机问题,而就算可以如此,又有谁会说擅长它。

二、在计算机系里学习

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

某些课程设置不合理,例如数学建模,并没有明白它加入核心课程的意义所在,感觉纯属在浪费时间。又如操作系统课,感觉或许是中国高校对操作系统的教学本就一般,操作系统课大部分学生都听的云里雾里,课设更是变成了抄代码读懂代码课,课设教程又特别泛泛,根本没有教清楚学生东西,诸如“想必聪明的你一定明白了。。。”语句比比皆是,上机题目也十分一般,虽然大学十分看重学生的自学能力,但课程设计也太过于随意,随意到变成了学生的负担(也可能是我太菜了),就算多加一些导向文字,再详细一些,完善一些,这门课也不会变的如此不堪。而大学整体对学生的导向性,我觉得或许也做的并不算太好,博客B中有说,

​ 本科阶段是我们精力最最充沛、时间最最富裕、最最容易跟其他人拉开距离的阶段,如何处理这段生活,将会造成最后的千差万别,遗憾的是,当时却没有人告诉我这一点。我像高中阶段一样,只学习那一点点可怜的上课讲的知识,几乎不看教材、不怎么看课外资料,课后的作业基本是独立完成,却从来不是主动地思考、从各个可能的角度出发寻找到解决问题的方法,而是沿着老师讲过的固定的模式,或者寻找类似的解答方法,然后稍微变换,从而完成解答。我总是认真听老师讲课,每次上课从来不预习,从来不会计划这学期我要干什么、这堂课我要干什么,我机械地听着每一节课,机械地在迷糊中重复着作业、考试。

说实话,这应该就是我大学生活前两年的写照,看似充实,实则迷茫,我仿佛失去了方向,大学中不乏那些目标明确能力超强的大佬,但也不乏像我这样较为迷茫的普通学生,我觉得大学就是应该给他们有所导向,或许也可以不是导向,而是更多的挫折,例如一场模拟的面试,就如博客B中博主经历完美时空面试一样

HR问,你自己给自己打几分,我说80,他忽悠了我一下,我又说70~80,然后边上的Manager诡异地一笑,我意识到不对,看来真的是很惨,可能不及格……曾经寄予了太多的希望,曾经抱着无数的幻想,现在看来,我不属于完美。这次挂掉,对我来说意义很大。其实这是必然的。

好的外企或好的技术公司希望招聘到的学生是做事超级投入,特别乐意思考,充满活力,并且具备一定的行业知识的。因此,在面试准备的时候,应该充分了解自己应聘的公司,多思考,多关注架构等背后的东西,才能应付比较深层次的技术面试。

挫折让人意识到自己的不足,让人知道还差的很远,更让人在思想上受到冲击,让人转变,让人强大,或许我理想中的大学教育是这样的。当然,更多的是在于学生自身是否能常常思考,主动让自己变的更好。大学只是提供了一个平台,而更多的是在于我们如何利用这个平台。

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

到今天,我写了几千行左右的代码,集中在计组、OO、编译,由于大一比较浪,程序设计数据结构都没咋在课外练习,真正打下的代码不过百行左右,当然,这些代码都有共性,就是比较丑陋,和优美挂不上边。我做过最复杂的作业就是大三编译课设作业,写一个类c文法的编译器,由于用c语言写的,在数据结构上实现比较复杂,有很多重复造轮子的地方,同时对字符串的处理也比较麻烦,在词法分析、语法分析、错误处理阶段就带来了一些麻烦,而到中间代码生成、目标代码生成阶段,整体的构思我也想了很久,如何在生成阶段进行优化等等确实也比较复杂,中间经历了死亡debug环节,最后也算较不错的实现了功能。这是我至今做过的最复杂的软件作业,有痛苦过,但也有收获和喜悦。反思一下,真正的痛苦不是构思阶段,反而是代码是现阶段中最最基础的东西,就是数据结构那一块的内容,我意识到基础薄弱是多么令人懊恼,就算我构思出来大体框架,理论想法也比较完备了,但是一上手我就发现举步维艰,就像我知道了符号表怎么建,索引怎么搞,但是一打代码这里错那里错,这里指针忘了怎么用,那里少了什么什么,就是因为大一练习太少,基础太薄弱,我这才意识到手敲代码的重要性,博客C中写道,

我在网上搜了一圈,发现《Thinking in Java》是一本免费的英文电子书。于是,我就在数学系的机房,每天下午和晚上,开着一台计算机,屏幕上放着这个电子书,再用我很土的笔记本,运行着未注册的 JCreator,一个字母一个字母地敲TIJ上面的程序。我很偏激地认为拷贝粘帖的程序记不住,所以每个字母都自己动手敲。

而事实就是如此,实践才是最好的掌握知识的办法,一切欠的都得还,大三才知道这个也是丢人,但也不算太晚,动手嘛,啥时候都不迟,现在就开始勤勤恳恳干。

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

科班和北大青鸟的教育水平是天差地别的,首先就是老师的教学水平。我们是幸运的,所有的教师都是有着高学历的人才,在知识的灌输的同时,潜移默化的在思想上也影响着我们,可以说这是科班出身和北大青鸟最大的区别所在,那就是思想的教育。

经常想一想,我要的是什么、为什么要做这件事、做这件事有什么好方法、这样做有什么好处和坏处、如何改进等,也要与人交流、沟通,讲出自己的想法,请别人指正。我们需要培养的是自己的思考方式,而不是简单地获取知识。

这便是本科教育一直在教导我们的,我不止从一个老师口中听到过这样的话,也在课程的学习中慢慢的转变了思想。或许教的实际应用知识科班并不比北大青鸟多,但是在更深层次的教育,三个月和四年,真正改变我们的那必然是四年的教育,在面对一个问题时,北大青鸟可能只能说会或者不会,但是科班出身想的却是如何解决,这样解决已经很好了吗,有没有方法改进,能不能换其它方法。

除此之外,这两个平台所为学生提供的资源也相差甚远,科班往往会给学生提供优质的资源,不仅仅体现在老师上,还有各种图书资源、视频资源、网络资源等等的支持,而北大青鸟归根揭底,还是个纯盈利机构,正如博客F中所说的

学校网速一直没解决,经常掉线,应该是学校为了省钱,给我们三十多个学生拉了个10MB的网线,虽然不是人人都会同时看视频,但是,10MB让30个人分着用,网速自然也是一种折磨

网线也是偷工减料,想必别的资源也很一般。除这些之外,还有学习氛围的差异,科班的同学们都是十分上进的,就我身边的人来说,大多都是有着远大理想的有志青年,都在不懈的努力,我也是被带动起来了,而北大青鸟缺的还有这种氛围。所以三个月改变一生是不可能的,北大青鸟里也有人才,但是总体来说,和科班出身差距还是很大的。

第三部分:未来规划

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

我未来应该是在IT公司里打拼的,因为我知道我并不适合做科研,没有那种研究技术的狂热爱好。但是具体方向,我觉的还不好说,因为当前技术革新太快了,而我接触的又太少了。我希望先读研,因为我感觉本科学到的依然太有限了,我的学习能力等等都一般,我想通过研究生的学习进一步提高。

技术道路:广泛涉猎技术,多读书,多实践,目前掌握的技术太少了,我需要尽可能的利用有限时间,学习更多的技术,并且实时关心当今先进的技术。

职业道路:三十岁之前,勇于尝试,多跳槽,

跳槽是加薪的最佳办法,跳槽是加薪的最佳办法,跳槽是加薪的最佳办法

但是后面,我还是倾向于稳定的工作,我并不是一个跳的人,我也不喜欢改变,三十岁之前勇于尝试是我给自己的硬要求,是让我能不愁饭碗,但是我喜欢稳定。

社会道路:走中国特色社会主义道路吧,跟着国家走  :D

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

我打算在企业实习,毕竟以后还是在企业里工作,先多多实习,了解企业岗位所做的事情,才能对未来自己想从事的事有所规划。我希望进大厂实习,博客L中说

第一份工作并不决定你的人生。因为你可以在2年内换工作。但是你头四年的做的事会对你的职业有影响。

如果你觉得自己在技术有自信有热情,而且已经有一些成绩了,我强烈建议你去IT公司中锻炼,越尊重技术的的IT公司越好。就像打球一样,只有和比你厉害的人一起玩,你才会得提高。

多多实习,多多学习。