软件工程第一次作业:Warm Up

Warm Up

项目 内容
作业所属课程 2021春季软件工程(罗杰 任健)
作业要求 第一次阅读作业
课程目标 培养通过团队协作使用软件开发工具按照软件工程方法开发高质量并且可用的复杂软件系统的能力
这个作业在哪个具体方面帮助我实现目标 明确目标,制定规划,思考总结。

写在前面

在完成热身作业前想吐槽两句:阅读材料太过时啦!诚然,这些博主的意志品质值得学习,对计算机的热忱令人感动,于软件工程的缘分更是让我拍案叫绝,然而,他们的学习方法和学习流程实在难以借鉴。大多数博客都已经过十年岁月的洗礼,在这样一个高速发展的时代,对于这样一个快速变化的学科,早已沧海桑田!现在我们的学习资料极为丰富,学习途径多种多样,课程类别琳琅满目,很多时候并不是不想效仿前辈,而是大势所趋,每时每刻都不断有新东西跳到你面前,试图打乱你的阵脚,分散你的精力!现在的学生面临的课程,其规模、形式早已巨变,保持自己个性的学习节奏在我看来是一种孤勇,一种无善终的个人英雄主义

许多博客里的经验已经成为过去式,至少对我而言,无法承担尝试的风险,不过倒是让我看到了程序员的人生百态,丰富了自己的见识,或许若干年以后,也会有个二十岁的学生阅读我写下的人生,感慨万千吧。

第一部分:结缘计算机

  • 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答)
  • 计算机是你喜欢的领域吗?是你擅长的领域吗?
  • 你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?

刚进入高中时,我并没有什么明确的目标,学校布置的作业很少,每天晚上学习完就是看美剧、动漫。高一社团招人,虽然随大流面试了模联,但惨遭淘汰,下来碰巧看见机器人社,感觉这玩意还挺酷,便开启了我搞机的生涯。机器人编程的语言是图形化的,现在来看有点像幼儿编程,虽然没有培养出我什么编程能力,但是总归对编程语言、计算机有了基本的认识,算是从零到一的突破。

高中时非常喜欢一部动漫《Steins;Gate》,男主角穿越时空拯救同伴(老婆)的故事深深地打动了我。第二部中女主角将自己的意识上传成为人工智能更是带给我深深的震撼,我也要当一名脑科学家!于是上网去查有什么途径可以实现我的梦想,“脑机接口”四个字呈现在我眼前,从此我关于学校、专业、实习、科研的决定都有意无意的要和这四个字联系在一起,所以在考虑现实的情况下(计算机的就业面相对更广,待遇较好,虽然脑机在很多学校并不是计算机系在做),高考后我选择来北航,并决定进入计算机系学习。

进入北航后,我立马发现,就编程能力而言,不要说对于那些竞赛大牛,对于一般的北航同学而言,也只能算是中等,并无突出,和那些天赋异禀的博主比,更是显得平庸无聊。这一点在进入计算机系后,被进一步放大。计算机系的同学都是十分优秀的,每一个拎出来都有十分突出的优点,这也是我喜欢计算机系和计算机专业的原因之一,你总能在其他人身上发现新奇,发现差距。不过,我深知充分发挥比较优势的重要性,整体而言,我自认为自己的表达能力在同学之间是有优势的,具体表现在:导学读书会变成我一个人balabala,冯如杯“仅靠答辩”就拿了二等奖(bushi,和导师聊天能不间断输出两小时等等。事实上,学院也不断在强调加强自己的表达能力有助于未来的发展,所以我想,这也是计算机的一部分吧,或者说,表达是人的基本能力与需求,我有幸在这方面能力不错。

我自认为还没有能谈“热爱”的资格,正式开始学习编程也就两年半光景。无论是工程能力还是算法能力,无论是写代码还是做数学,我感觉自己都仅是“入门”,计算机实在是一门异常丰富的学问,永远不敢说自己精通了什么。不过,我希望在自己成为一名成熟的程序员/工程师/科研人员时能发自内心地说出对计算机的热爱吧。

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

  • 你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。(必答)
  • 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。(必答)
  • 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?

大学生活是忙碌的,光是课内的学业就让我抽不了身,甚至连认真吐槽课程安排的精力都没有。相信老师是希望我们能在本科期间尽可能多地获得理论知识与实操经验的,但是,在制定课程时往往不会考虑我们的承受能力。有些课程的安排也有点意义不明。我很早便萌生出国读研的想法了,在计算机学院的两年里,我着实感受不到学院对于打算留学的同学的支持。奇妙的GPA算法、过多的选修课学分要求、低学分高投入的实验课(任务多的时候把一周的所有时间都要奉上)、学院某些智障一般的(置)课(数学建模、法律科技社会、大一的一些大类课等等,他们内容空洞无关专业还必修)都让我的留学路铺满荆棘。

所幸,北航的科研机会丰富的,北航六系学生的身份也让我的实习道路顺利。但疫情期间怠惰让我错过了一年的科研时间。我也只好在大三下的现在奔波于几个实验室之间了。

我认为大学教育很难说有什么理想的,人的精力是有限的,顾此只能失彼,不过我更希望学校的氛围是温馨和谐友善的,而不是每天起床发现自己躺在战壕里。我更希望和同学的关系不是零和博弈,完全竞争,而是没有忌惮的挚友。看到一些博客里对美国大学的吹捧,我认为有点cliche,大家都不是傻子,好东西肯定会去借鉴,但是环境、情况不同,要让两者一致是不可能的,也是没必要的,走好自己的路就行,知识可以相同、技术可以同步、氛围可以效仿,但是气质和精神、规则和方法不一定要相同。

迄今为止的代码量可真是难以衡量。如果不算标记语言,写过C、Python、Java、C++、JavaScript、C#、Verilog HDL、MIPS汇编、SQL、Matlab等等可能有两万行?可能更少。最复杂的项目都是未完成的,现在实验室里做的,我不知道什么时候能做完(Unity怎样和Matlab交互啊,迷惑)。完整、独立完成的肯定还是编译器,超过五千行,记忆犹新的是为生成目标代码和编译优化的那次作业Debug,一周内花了整整五十个小时才总算通过所有的测试点,我真是擅长写bug!

至今为止,我仍然认为计算机是数学的一个分支,线性代数和概率论更是基础中的基础。为了扎实数理基础,我还辅修了数学二学位,经过数理统计、矩阵分析、常微分方程的学习,虽然说不上真正掌握了这些知识,但当我读到SNGAN的论文时,我知道奇异值分解的作用,我知道Lipschitz条件的意义。当我需要做语音信号处理的工作时,我甚至觉得自己的数学知识实在是太过有限,因为无法理解短时傅里叶变换是怎样工作的。所以我从来没有产生过“为什么要学数学?”的疑问,数学不好一直是我的心结,如果后面要读研究生,我一定会在大四好好补补我的数学!

Interdisciplinarity近年来一直是一个十分重要的课题,在学校IRC实验室里的跟着自动化系的老师做事的这段时间里我更是深有感触,和他们合作我必须补习许多物理、信号处理甚至是生物相关的知识。所以广泛地学习涉猎跨学科的知识可能以后也只是基操。

第三部分:未来规划

  • 对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?(必答)
  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?
  • 你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
  • 实习经验究竟有多重要?是否需要马上开始积累实习经验?

梦想?咸鱼要什么梦想?(不是

img

咸鱼煎着吃

最发自内心的想法,是从事脑机相关的科研工作,走学术界,最好能在意识上传的领域有一点贡献,如果人类从碳基生物变成硅基生物,不需要吃喝,用很少的资源实现永生,以电磁波的形式存续于宇宙之中,这不是一件相当有趣的事吗?(疯了抬走

咳咳。我还在上初中的时候,我爹对我说:你以后要成为一个掌握核心技术无法取代的工程师!(大概是这意思)时过境迁,我的选择似乎也未曾偏离,但我很贪心,我对长久地受人差遣去完成一个工程没有耐心。在过去的学习生活中,我还养成了许多坏习惯:总是过分地追求细节,无视项目的整体性,特别是在独立完成的项目中,如果没有人管我,可能到了ddl还在做优化而没有把整个工程打通(这种习惯导致了我面向对象课程的惨状)。所以我自知自己要成为一个工程师的限制,但如果让我参与一个团队项目,我反而比较善于统筹管理,以往和同学的合作都十分快乐通畅,总是能满意地完成任务。

所以,首先我会考虑走科研道路,这毕竟是我的兴趣,我想申请HCI方向的Phd,因为我打算做BCI相关的工作,而大学中研究BCI的faculty往往不属于计算机学院(例如CMU的Biomedical engineering),但是研究BCI的计算机系老师是存在的!所以我打算走离BCI最近的HCI(并且我认为HCI的最高奥义就是BCI)。目前在校内跟着自动化学院的老师做BCI,同时也在中科院计算所做同类的工作(只不过负责的部分不一样)。以后还希望在其他学校的实验室有所发挥,因此时间紧迫!去国外读博最重要的是套磁,有推荐信是必须的,暑研的申请也迫在眉睫,出国读书之路就像一条的钢丝绳,我清楚它通向哪,怎样走,但是每一步都很艰难。其次,如果此路不通(这是后话,比如读到一半发现读不下去),我可能会考虑去做需要统筹、交流的工作,比如产品经理。我可能无法完成父亲的要求,成为一个顶尖的工程师,看完那么多大佬的博客,我觉得无论是经历还是毅力还是兴趣,我都远远不足,从他们的字里行间里能察觉出一种洋溢的对SE的喜欢,而我不想被迫着做事,随波逐流,如果没有兴趣我会很后悔!

实习,显而易见的十分重要,我选择在实验室实习。实习不仅仅是去丰富简历,更是一种代价较小的测试,测试我现在所走的道路是否适合我,防止我在歧途里陷得太深。从功利的角度讲,如果拿到老师的推荐信会对申请有帮助,而过程中也让我更加得心应手地处理与老师、前辈的交流。

很可惜,没有具体地参考什么文献,这是一篇完全原创的不受任何人影响的有感而发。希望在接下来的一学期能和软件工程好好相处。

posted @ 2021-03-06 23:40  Mokoghost  阅读(192)  评论(3编辑  收藏  举报