BUAA_2021_SE_READING_#1
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021春季软件工程(罗杰 任健) |
这个作业的要求在哪里 | 个人阅读作业#1 |
我在这个课程的目标是 | 通过课程学习,完成第一个可以称之为“软件”的项目,同时了解软件工程中用到的方法,确定自己的职业目标 |
这个作业在哪个具体方面帮助我实现目标 | 回顾自身之前的学习历程,明确今后发展方向 |
BUAA_2021_SE_READING_#1
本文约5000字,阅读完毕约10分钟
1. 结缘计算机
1.1 你为什么选择计算机专业?
首先,和大多数人不一样,我不是通过高考成绩直接进入的北航,也不是通过士谔书院一年的培养,最终以大类成绩前20%的成绩经过专业选择进入的计算机学院。所以,我在此也就不老生常谈,大谈大类招生是多么的坏,存在即合理,我就来谈一谈我个人的发展历程。
高考结束,我考了一个对于我个人来说很合理的分数,大约在我们省排3000多,在省内上个985也差不多够了,由于国家的一些政策,我当时填志愿时受到了一些家里人的"建议",选择了北航的预科班,也就是入学前去一个地方多读一年,然后跟着18级读大一。说实话,进了那个预科班我就后悔了,一年时间不仅学不到什么,还让我的一些能力有所下降,和国家的初衷有些不符(让我们学习一年补齐与正取生的差距)。预科读完,我进入了北航的航空航天大类,当时我也没啥想法,觉得能来已经很不错了,专业什么的随便读读得了。但是真正让我下定决心,选择计算机专业的是,大一的一门课,叫做《工程图学》这门课,全校所有航空航天类的学生都需要学,而这门课的内容也很简单,就是画图,画零件的各种视图、立体轴测图,而我因为从小美术课都摸鱼,数学立体几何全靠向量救命,空间想象能力极差,这门课我彻底学不会,于是我就动了转专业的念头。北航理工科一共有三个大类,分别是:信息类、航空航天类、理科类。我打听了一下,又看看培养方案的区别,加之当时大一所有专业都在一个校区,我知道了信息类的课程跟我们差的不多,但是不需要画工图。大一上学期结束,我下定了决心,要转入信息类学习,但是具体进入什么专业,也没想好,也在一些地方看到过北航转xxx系多难,转xxx系好转等一些传闻,也尝试过跟一些有过经验的学长交流过这么一个问题,结果发现他们说的一些转专业理由好像不太适合我,方法也不太适合我,毕竟我的平均分只有80刚出头,在大类只排得上后1/3。但是我想先跟着信息类念,大一下开学,我跑了无数次教务办公室,以至于北航学院的教务老师现在还认识我,我加上了信息类大一下的所有课程,但是那个时候我真是胆大,我连C语言都完全不会,我居然敢选"数据结构"这么课,那一学期注定是难熬的,不仅要学习航空航天的课程,也要学习信息类的课程,也就是那一个学期,我确定了自己肯定要转计算机专业,通过哪一个学期的学习,我明白了,自己不是学物理那块料,也不是画工图那块料,但是我为了拿到这个学位证,我必须去一个不学这些的学院,当时来看,全北航就俩:计算机学院、软件学院。
众所周知,到现在软件学院每学期转入人员众多,还要层层选拔,而计算机学院则鲜有人转入,我明确了自己的目标,那就很好办了,听闻计算机学院大二要来学院路校区,我就选择了当时航空航天大类唯一能来学院路校区的专业"生物医学工程",来了之后,我退掉了所有原专业的课,跟着计算机学院上课,同时补上了大一缺的所有课程。大二上学期结束,我就填了一个表,就进入了计算机学院,但我到现在都没明白,我当时在某网上看到的那些关于北航转专业的传言,都是从哪儿冒出来的(听闻我是实行大类之后第一个从别的大类平级转入6系的,在某些网站上,我看到往年能这样转进来的要么是什么竞赛大佬,要么就是GPA接近满绩,那我又有什么理由做到这件事呢)。所以说,我选择计算机专业,并不是大谈兴趣,我热爱计算机,热爱编程这样,也不是很多同学写的,成绩高,别人都进,我也进,这样的理由,我只能说,我的理由就是这样,这也是我做出的一个小决策,目前来说,这个决策我很满意。
1.2你认为你的条件如何?和这些博主比呢?
说实话,我家拥有计算机相对来说比较早,从我出生,我家就有一台浪潮的台式机,这台台式机现在还在我家摆着,那相应的,我学会计算机操作就比别人早,而我在3-4岁时,我家还承包过一段时间网吧,我没上过幼儿园,也就是说,当跟我同龄人在幼儿园跟小朋友做游戏的时候,我在家打红警、要塞,看家长玩仙剑。计算机这个东西,从我有印象它就是这个样,但也仅此而已,我对它的理解仅仅是一个娱乐的工具而已,并从未想过要以此谋生。
上小学后,家长也都有正式工作,我对母亲曾因为计算机可能影响我的学习,而把它拆除,从我二年级到五年级,我几乎每周只能接触不到一小时的计算机,而越这样限制,我对它的用法也就是用来娱乐。虽然我上初中以后,家里换了一台新电脑,但是家里对我使用计算机的管控,到我高中才为止。我第一次接触到跟计算机技术有关的内容大约是在初中我参与了学校的“信息技术”小组,当时使用了一个中文关键字的“程序语言”好像叫易语言来着,它是一个可视化的ide,实现了第一个程序,它有一个窗口,窗口上面能显示一行字,就仅此而已。从此到高中结束,我再也没有接触过与编程相关的东西。
上高中后,由于一些众所周知的原因,google无法访问了,但我之前使用过一些gmail邮箱,android play商店还需要使用,于是我在高中期间,通过互联网,学习了一些简单的计算机网络知识,同时了解了一个平台,叫做Github,很熟练的去一些项目的release页面下载一些软件/软件包,也知道了很多服务器上使用的是linux系统,但是我根本没用过linux系统,仅仅会照着blog敲一些指令,甚至不知道它们每一行时什么意思。
要说我的条件,我觉得在我上大学前,我仅仅时一个计算机的使用者,我知道对于什么样的问题,该进行怎么样的设置,做过的最难的事也就是配置家中的路由器,实现一些****的功能,虽然周围的人和家人认为我计算机水平怎么怎么样,但我自己也清楚,我也仅仅只想把它当作一个工具,同时学习一门科学技术,这个想法我甚至到大学前都没有改变。对于那些博文里叙述之前没见过,没用过计算机的同学来说,我的起点或许比一些人高,但这明显是高开低走,除了我使用计算机比一些人熟练以外,在计算机科学的学习上,我并没有比任何人条件好一丁点。
1.3 选答题
1.3.1 计算机是你喜欢的领域吗?是你擅长的领域吗?
- 是否喜欢? 至少从博客R来讲,不敢说,至少我不配说。但是我仍然对计算机技术怀着一颗敬畏的崇敬的心态。
- 是否擅长? 更不敢说。 隔行如隔山,或许我在计算机的某一个很小的分支上,或许有着异与常人的天赋,但是至少从现在我对这门学科的了解,在北航的学习来讲,我没有,我不擅长。
- 我仅仅能做到,对我想了解的东西,对我想实现的东西,如果我有充裕的时间,我可以做到废寝忘食。但是事实是残酷的,就是我必须面对一大堆东西去做,没有那么多时间和经历去投入“没什么用”的事情。
1.3.2 你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?
- 同上,无可奉告。我不能说我热爱计算机这个庞大的学科体系中的一点东西,就说我热爱这个专业,将来报道出了偏差,可是要负责任的。不能见的风就是雨。
2. 在计算机系里学习
2.1 你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?
对于别人吐槽对于一些共性的东西,我不想赘述[行政管理,大类招生等],我个人对大学课程设置的一点意见就是,对于计算机专业课,这种fly-bitch的方法固然能极大的提高学生的自学能力,但是有时候过于fly-bitch反而会引起一些反作用,使学生丧失信心,就比如在程序设计基础训练这门课程中,就表现的淋漓尽致,一些助教处于一些原因,每年加码,导致课程难度与定位不符。后续的数据结构课程与此课程衔接程度低。我们需要的是一个成体系的培养人才的方法,而不是一个老师一个样。授人以鱼不如授人以渔,有的课直接把鱼给你,考试就考鱼,而有的课连钓鱼竿都不给你,考试考烤鱼。至少在我的学习体验当中,不同的课程差异过大,甚至还能做出来边上边改培养方案这种事,底线特别低,上线特别高,这不应该是北航这种世界零流大学的王牌计算机系应该做出来的事。
2.2 比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
首先,我在中国内地,上仅上过北京航空航天大学这一所大学。在中国境外,目前在澳门大学做交换生大约已有一个多月。在澳门这一个多月,首先他们所有课程的授课语言都是英文,其次他们的课程,分为lecture——tutorial———(practice),再者他们选课只有先导课程和容量的限制,没有专业,年级等限制,对于选跨专业课程持包容态度。我觉得北航在短时间难以做到这样,首先对于英文授课来讲,部分课程改革难度较大,同学/老师水平短时间也难以跟上,但是英文化是趋势,即使澳门的母语也是中文,重要的期刊,论文都是英语(除非等中文完全取代英文)。其次对于课程来说,我们没有那么多课时,教改的结果就是压缩课时,不但没有tutorial了,甚至lecture都只能压缩,这好不好我不做评价。第三,选课,从我个人在北航转专业时选课的体验,你想选一门别专业的专业课难上加难,需要跟教务软磨硬泡。至于为什么,应该是学校太小,学生太多,坐不下。
2.3 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
- 跟大多数人已一样,我的代码大部分仅限于课内那点可怜的作业,而且完成的也不是很好,差不多也有10K行了。
- 最复杂的就是那个跟大多数人一样的:C0文法编译器 (3K+)
- 我至今没有写出来过一个可以称之为“软件”的东西,我至今也很敬佩跟我同龄就已经有许多项目经历的同学。这也是我这门课给自己定下的一个最重要的目标:写出一个可以称为“软件”的东西,而不是脚本,程序。
2.4 选答题
2.4.1 科班出身和北大青鸟有什么区别?
- 这个问题换一下就是,师专和师范大学有什么区别,职业技术学院学电焊与哈工大焊接系有什么区别。
- 随着工作经历的提升,我认为这个区别会被时间冲淡。
- 虽然在这样不同的教育机构,学到的知识肯定是不一样的,不同的教育机构培养人才的侧重点也是不一样的,但真的不代表,科班出身就一定要从事XXX(比如科研、比如进大厂),北大青鸟就一定XXX(比如做外包)等,更多时候,我们所受的教育可能就只决定我们的下限,至于个人的发展与这个的相关性就应有多大,那就要因人而异了。
- 总的来说,或许更重点的大学对于考试的难度、区分度会更大一些,毕竟越重点的大学所肩负的选拔人才的任务就更重一些,所以社会对于这样的大学毕业生的认可度就更高一些,当你需要这些来证明你时候,那科班出身就是你的一张名片。也仅仅是一张名片。
2.4.2 速成的培训班和打基础的大学教育还有mooc之间有区别吗?
- 速成?你指的是速成一个人的工程能力还是社会阅历还是工作经验?如果知识速成背题+速成包装,那不如说是造假班。如果真的有速成项目能力和技术栈的班,请务必给我推荐一个。
- 第二个问题很有意思,如果你要是在2019年问我,我可能答案和限制截然不同,由于COVID-19,我们看到了远程授课,远程办公,等等远程的事务。对于计算机这行来说,远程的门槛就更低了,那后疫情时代打基础的大学教育还有mooc之间唯一的区别就是,有没有这个学分和考试束缚你。
2.4.3 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
- 没有。我从未对数学学习提过疑问,相反,我认为计算机系应该开设更多数学课供同学们选修。即使我的数学成绩不好,甚至很差。
- 我认为计算机科学,甚至计算机技术的发展离不开近代数学的发展。计算机科学的一部分(比如算法)甚至可以看成一种应用数学。如果一个人数学基础不足,在理解一些计算机问题上,必然无法理解。
3. 未来规划
3.1 对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
- 首先第一个问题,我之后在不在IT行业(长期)发展,都是一个未知数。
- 如果我从事IT行业,我可能会从事别人看来枯燥无味,甚至并不看好的开发岗位。
- 如果我能在本科取得一份相对满意的工作,我大概率会选择不深造,而如果不能,由于众所周知的原因,我可能会选择出境深造,并继续寻找可能的机会。
- 关于996及其他:就像之前的大类招生一样,这种东西存在即合理,但是我有权选择996或者不996,所以在我的社会道路上,我会秉承一个原则:活出我自己。
3.2 选答题
3.2.1 你对于实现自己的梦想已经做了或者计划做什么样的准备?
- 之前已经发生的已经无法改变,我在前文已经详述了我是如何进入计算机学院的,对于之后的事情,我虽做了一些计划,但是当我这两年经历了一些事之后,我发觉计划不如变化快,但是必要的计划又是必须的,我必然会抓住即将到来的每一个机会,去走向我充满可能性的未来。
3.2.2 你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
- 我已经在企业实习了几个月了。由于没有在本校读研的打算,所以不打算在实验室实习(当然,境外暑研另算)。
3.3.3 实习经验究竟有多重要?是否需要马上开始积累实习经验?
- 很重要。
- 实习可以让你学到绝大部分在课上学不到的内容。即使不能。实习能让你让你认识到你有几斤几两,以及能不能胜任将来的工作,所以我确定自己将来大概率可能不会从事科研相关的工作。通过实习,能让你为之后的学习方向早做打算,或是为转行提供契机(或是打消念头)。
- 是。 在达到合法条件以及能完成课内任务的前提下,越早投入实习越好,包括但不限于企业和实验室均可。