软件工程第一次作业-热身!
项目 | 内容 |
---|---|
所属课程 | 2020年春季计算机学院软件工程(罗杰 任健) |
作业要求 | 第一次作业-热身! |
课程目标 | 切身参与完整的软件开发流程,积累专业技术知识和团队合作经验 |
本次作业实现方面 | 剖析自身兴趣和所处环境,明确将来的目标方向 |
参考博客 | 博客B,博客C,博客D,博客I,博客K,博客L,博客M |
第一部分:结缘计算机
你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
- 选择计算机专业的主要原因还是兴趣驱动,小学时家里买了第一台电脑,无论是扫雷、三维弹球等各种小游戏,还是网页上只要输入关键词就可以找到想要的信息,又或者使用QQ通过打字就可以和远方的朋友进行交流,计算机的神奇深深地吸引了我,在我心中埋下最初的种子:为何小小的屏幕背后竟是如此缤纷的世界?后来刚上高中时,学校进行竞赛方向选择,其中的信息竞赛一下子抓住了我的眼球,也毫无疑问地成为了我的选择。学习竞赛的过程中,我接触到了Pascal和C++以及各种数据结构和算法,看着复杂的题目随着一行行代码的运行迎刃而解,我越来越着迷于计算机的神奇,而它越是神奇我便越想要更深入地了解。高考过后,自己所填报的志愿也几乎都和计算机相关,最终第一志愿录取到了北航信息大类,并在大二时选择了计算机系。可以说从小种下的种子如今破土出芽,而在未来的时间内我更要精心呵护,希望开出自己的梦想之花。
- 我没有博客I的博主那样从初中开始便每天废寝忘食的鼓捣电脑,也没有遇到他那样志同道合的朋友;同时我也不像博客C的博主那样喜欢读书,钻研问题;但是自己在高一接触编程,也算较早,通过高中的竞赛学习,锻炼了一定的计算机思维和能力;上了大学也是计算机专业科班出身,这是相比于上述两位英语和数学专业的博主的优势,同时北航计算机也是名声响亮,为我提供了极好的平台和资源。
计算机是你喜欢的领域吗?是你擅长的领域吗?
- 就像上面所说的兴趣使然,计算机专业毫无疑问是我喜欢的领域,我沉迷于计算机的精巧与神奇,想要去了解更多更深入。但是随着了解的深入,越来越多新技术新领域的出现,我才发现自己却是越来越不擅长了。高中之前,我会用办公软件、会打字聊天、会上网查资料,我就觉得自己擅长计算机了,因为我当时根本不知道MarkDown和Latex;上了高中,我能在编程考试中AK,我觉得自己擅长计算机了,但是我当时却不知道何为面向对象;现在,我越来越发现“计算机领域”这5个字到底有着多大的范围,如今自己所学不过是九牛一毛,实在算不上是擅长,只能说是“路漫漫其修远兮,吾将上下而求索”。
第二部分:在计算机系里学习
你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
- 我觉得对自己的大学生活没有什么要吐槽的地方,虽然课程难度大、作业内容繁重、平时被各种找不到的bug虐的死去活来,但是却让我觉得很充实,并且最终项目跑通后的成就感能将debug时的挫败一扫而空,我很享受这一过程。此外,我经常能够看到课程群里有些同学对于课程设置、考核方式等发牢骚,但我自己却没有对这些太过在意,因为我觉得一门课程真正重要的是在整个过程中收获到的知识和能力,而并非仅仅是一个分数。
- 我理想的大学教育应该是理论和实践齐头并进,同时老师能够充分发挥引导和拓展作用,而非简单的复述ppt。教师比学生多在教学经验的积累以及相关领域的知识串联,将这些充分发挥出来才能收到好的课堂效果,就像博客B中提到的朱仲涛老师的数据结构课,既有理论实践的结合,又有各方面知识的串联,整个课堂生动有趣,很受学生欢迎。
- 学校确实在专业课上分别设置了理论课程和实践课程,但实际的效果并不如人意,理论课堂显得有些枯燥,多数情况下老师没能够带动学生的学习热情,对于讲授内容也只是换一个和ppt差不多的说法,让学生感觉即使自己回去看ppt也能明白,从而不会再去集中精力认真去听。而课程设计方面,老师的身影更是少之又少,多数情况下都是助教负责项目文档的发布、内容的测试等,最后完成的项目在课程结束之后都不会再去看一眼,自己在课程的收获感觉较少。
- 我自己并没有体验过国外的教学模式,只是通过一些老师在上课时的简短介绍以及网上博主的亲身经历才有所了解,总的来说,目前我们学校的教育比较难做到像国外那样,一方面是因为资源有限,很难像国外一样小班教学,保证每个同学的学习质量;此外就是受传统文化和评分机制的影响,老师的身份总是让学生觉得需要去尊重,老师和同学之间很难形成像国外课堂一样甚至可以互开玩笑的氛围,老师不能充分了解每个学生的需求,也就导致了教学质量的下降。
迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
- 具体行数很难统计,从高中信息竞赛算起,到大学的C语言、数据结构以及面向对象课程各种作业、计组的CPU设计、操作系统和编译器的设计,以及其他专业课上的一些课程设计大作业,应该至少有一万行代码了。其中从代码行数来讲的话,最复杂的当属类C文法的编译器设计,从无到有完全手打的三千余行代码,一步一步地根据要求扩展功能最后再进行性能上的优化,颇有软件工程迭代、优化的味道。
学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
- 我没有过这样的疑问,因为高中参加信息竞赛,已经接触过各种算法,知道数学知识在其中的重要意义,而如今我的想法也得到了充分验证,无论是在最基础的数据结构还是到了机器学习和大数据分析方面,都离不开线代、概率论、离散数学的身影,计算机领域的大量论文也都充满了相关数学知识的公式和内容。而对于其他学科,比如英语,也是计算机学习的重要基础,博客I的博主学英语专业便是为了计算机,博客D也在建议中提到了英语的重要性。
第三部分:未来规划
对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
- 如博客L所说:
你的职位,薪水,只不过是你能力和经历的附属品。
我想要从事的工作偏向于技术方面,因为自己的硬实力才是最为核心的竞争力,拥有全面过硬的技术才能让自己在众多的竞争者中脱颖而出。
- 对于未来路的规划,首先是多多读书,开阔自己的眼界,了解更多方面的知识,这有助于自己在多方面去思考问题,而且实际上计算机很多领域都是融会贯通的;此外,坚持自学,一个人是很容易怠惰的,而一旦懈怠被会被时代所抛弃,在计算机这样一个日新月异的领域,各种新技术层出不穷,必须要保证不断地学习,更新知识和技能,才能跟上时代步伐。
你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
- 我打算在企业内实习,因为自己未来的目标就是在企业的这样一种职场环境,较早的进行接触可以积累更多的经验,了解真正的公司内的工作氛围和工作进程,了解目前热门的技术方向作为自身未来选择的参考;此外,就像博客M中提到的主管先生,参与实习可以接触并结交相关行业内的前辈,他们可以解答自己心中的迷茫和疑惑,并为未来的发展做出一些指导。
实习经验究竟有多重要?是否需要马上开始积累实习经验?
- 博客K中给新人程序员的第一点建议就指出了实习的重要性:
在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。
实习经验是对自己所学知识和能力最好的检验和证明,可以作为正式步入职场的敲门砖;同时,参与实习也算是一种全新身份的体验,从小学到现在我们已经以学生身份生活了十几年,而参与实习成为公司项目成员这一全新身份能够给我们带来不同的感受,可以成为个人成长发展的重要过渡。
- 博客D提到:
个人感觉,学生时代不要刻意去追求项目经验。当然如果有机会,适当地进入一线企业做一些实际项目确实对你就业有帮助,但这样去做的前提是你已经掌握好了大学课本上的基础知识。
学好基础知识是保证实习效果的重要前提,目前的大三下学期已经比较适合开始实习,因为经过了两年半的学习,自身的知识积累和心智发展都比较成熟了,可以更好地适应实习环境,得到更好的实习效果。