软工-热身作业
软件工程热身作业
项目 | 内容 |
---|---|
这个作业属于那个课程 | 班级博客 |
这个作业的要求在哪里 | 作业要求 |
我在这个课程的目标是 | 学习软件工程相关知识,锻炼软件开发能力。 |
这个作业在哪个具体方面帮我实现目标 | 吸取前人的经验教训,为课程以及今后的学习发展提供参考。 |
作业正文 | 作业正文 |
第一部分 结缘计算机
1.1 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
选择计算机专业的原因有三(排名按权重):
- 报考时,家道中落,而计算机专业大热,考虑到其就业以及薪资后,优先选择。
- 当时心仪的女孩与最要好的朋友也都报考了北航,而北航计算机恰好是我高考分数范围内的最优解。
- 大概在小学一二年级接触了第一台笔记本电脑,但到高中以前,使用电脑大多是为了玩游戏;高中后接触了信息学竞赛,拿过市二等奖,对计算机领域抱有兴趣。
条件方面
自身接触计算机较早,且大学前有过一些编程基础,和当时的同龄人相比,有着一定的优势。但大一下期时因病休学一年半,加上自身性格原因,复学后的很长一段时间内,都是闭门造车(当时的室友也并非本专业),在大二的课程里,无人交流解惑,十分消沉。直到大三更换室友之后(又或是从休学的阴影中走出来后),在课业上才有了进一步的提升。
博客I的作者初中时期开始接触编程,进入大学时的能力已经超过了大部分的同龄科班人员,这样的人生经历显然是无法复刻的,但他对工作经历以及工作能力的总结,是值得学习借鉴的。和博客I中的前辈相似,我在大学时也有着许多的不如意,但科班出身是我的条件优势,接受过系统教育,并能接触到本领域中的优秀人物,这显然是前辈所不具备的。
第二部分 在计算机系里学习
2.1 你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
休学前我多少对大学生活充满了偏见,那时认为很多课程无用,完全是浪费时间,只挑自己认定的老师听课,大体而言和博客0中描述的情形类似。复学后,抛弃原有的偏见,去认真的完成每一门课程的要求。纵是如此,槽点也还是很多,主要有两点:
-
部分课程的老师授课体验很差,脱离学生而不自知,且在考核时对范围的划分不够明确。比如上学期给大部分17级学生留下深刻印象数学建模课程老师,其期末考核可以说是“想送分送不出”的典型。数模课程全程讲授各种模型,在最后仅考了最简单的传染病模型的推导,其余题目全是概念定义解释。可以看出他在努力降低课程考核难度,但在考前划分范围时又不明确说明考试重在概念,也不给出明确的考核范围。
-
同学间沟通交流较少,很难找到合作交流机会。
我理想中的大学教育,是基础与专业并进,理论与实践结合的。希望能在目前的基础上,在大一开设一门基础学科应用导论课,让大家理解基础学科的重要性,并且努力将每门专业课的品质提升到博客P所说的“健身教练 / 健身学员”这一级上。
看完博客O,博客Q之后,对国外大学计算机教育有了直观理解,其关键是“实践”与“团队”,我认为国内教育是能够做到和国外一致的,但就目前来看,本科教育大部分还是注重在“个人”理论学习的实践,这可能是教育观念不一致所导致的。
2.2 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
大致上一学期平均5k行(课设、练习等等),总数大概在3w行左右,目前最复杂的项目是编译器课设,完成了编译器的前后端,最后在5000行左右。回想起来,这些项目都谈不上复杂,而是课堂内容的实践。
2.3 科班出身和北大青鸟有什么区别?
博客F,博客H,是两个非科班出身的例子, 博客F体现了非科班出身的一般问题:
总之就是编程并不像宣传的那样,三个月就可以学会,不可能。想理解一些东西必须经历一个很长的时间,还需要在使用过程中感悟。慢慢入门以后,还有非常多的东西需要学习。
计算机科学中的大量问题并非报个班就能解决的,它们需要大量的时间投入。
博客H则体现了非科班的上限,非科班也是能做到科班水准的。
总体而言,科班出身意味着时间投入够多,下限足够高。而非科班出身则意味着下限较低,仅此而已。
2.4 速成的培训班和打基础的大学教育还有mooc之间有区别吗?
培训班是技能培训,可以讨生活,但想更进一步还是需要大量的基础投入。
2.5 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
有过,但到如今得到了解答。基础数学学科是计算机科学的基石,没有深刻的数学基础是很难在计算机科学研究上更进一步。其他学科也是这样,目前计算机科学与任何其他学科都会有紧密联系,计算机是万金油一样的技术,要掌握核心技术才能生存提高。
第三部分 未来规划
3.1 对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
因为休学与家庭原因,准备直接工作。最近在准备JAVA相关技术栈,准备毕业后从事java后端工作。目前的规划是利用大三剩余时间复习相关知识,在秋招拿到一个较为满意的offer。
更长的规划还只有个雏形,我觉得需要在工作后根据实际情况调整方向。
3.2 你对于实现自己的梦想已经做了或者计划做什么样的准备?
如同3.1中所述,目前在准备JAVA相关技术栈,从java基础(基础,多线程,虚拟机)到数据库再到spring框架有很多的书需要看。
3.3 你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
准备这学期看完必须的书籍后,暑期在企业找一份实习。实验室方面,因为不打算继续深造,所以不会选择。
3.4 实习经验究竟有多重要?是否需要马上开始积累实习经验?
实习经验固然重要,但是基础不牢就去实习,是很难从中体会到太多有用的东西的。