写在前面

项目 内容
所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航)
作业要求 热身作业(阅读)
课程目标 培养软件开发能力
本作业对实现目标的具体作用 深入认识自己,总结过往并展望未来

第一部分: 结缘计算机

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

  和很多填志愿的高中毕业生一样,我选择计算机专业,并不是基于深入了解和长久热爱而做出的选择,仅仅是因为我需要在短时间内选一个当初看来不浪费分数也不讨厌且有前景的专业。高考成绩附近的学校有中科大、人大、北航、同济、上财、北医。事上的很多事不然是为了名不然就是为了利再不然就是自己喜欢,填志愿也是一样,有的冲着学校的名气,有的冲着有前景的专业,有的单单出于热爱。老师和家长有建议过学医和当老师。虽然挺喜欢这种有使命感的职业,但是当时的我觉得学这些人生好像就一眼望到头了。(现在反倒为面临一大堆选择而烦恼。)其实我是一直很喜欢建筑等与设计有关的专业的。但是有说法是现在是建筑业的寒冬,爸爸的朋友也说建筑师的工作并是我想的那样自由,他们很辛苦并且很多时候被条条框框束缚了手脚。这些动摇了我。考虑到前面的学校只能压上投档线无法选择专业,再加上计算机是当下热门专业,分数上北航的计算机又刚刚好,所以我就来了北航计算机系。排除那些我不愿选的,可供我选择的也不多。说是人生一瞬的偶然,也不乏很多必然性。

  我的条件并不是很好。我在上大学之前,对编程并没有概念。家里的电脑也只是写写文档,做做PPT,查查资料。生活的背景、教育的氛围以及我自己的主观能动性,导致在上大学前我的眼界不够开阔,没能乘早去了解这些领域的知识。看到博客1的博主回顾他的高中经历,那种只管好好学习,考上好大学的状态和我很像。当我上了大学之后,发现身边有不少拿竞赛大奖的计算机大佬,我们之间的差距真的很大。过往我无法改变,我能做的就是正视自己与大佬们的差距。从零开始我不是一个人,我也可以尽可能地做好。相较大佬们多年编程的经验,我的上手之路是比较坎坷的。但我的数理思维能力我还是肯定的,北航的计算机课程我觉得我努力是可以完成得比较好的。

  和博客2博客3的博主相比,我差的太多了。他就是那种我羡慕的起步早的大佬,起步早是需要契机与热情的,但这两样上中学的我都不具备。博客2的博主从初三开始就对电脑“着了魔”,连那“黑色七月”前的莘莘学子浴血奋战,杀得昏天暗地的疯狂日子里,他仍然是“两耳不问窗外事,一心只顾编程序”。博客3的博主自己也说“有幸从初二开始就学习编程”。他们的热爱与经验是当下的我羡慕不来的。看他们的文章只让我觉得很陌生且无奈。但那又怎样呢,正视这种差距,走自己的路就好。大佬有大佬的世界,我做只奋飞的菜鸟也不错啊。

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

  当初选择计算机是因为不讨厌。经过两年半的学习,谈不上热爱吧,但过程中也收获了不少快乐。我也分不清这是对计算机这个领域的喜欢呢,还是仅仅完成任务时成就感带来的喜悦。

  这世界上能把兴趣当事业的人是极少数的,他们可谓相当幸运,大部分人没那么幸运。两年半的学习,我靠的是种“上进的惯性”。抱着既来之则安之的态度,尽可能保持优秀,对自己负责罢了。我经常与朋友们探讨你们热爱什么,因为我困惑啊。如果暂时没能找到热爱的事情,那把该做的事情慢慢变成自己喜欢的事情也不失为一种选择。庆幸,计算机领域有些我喜欢的因素,那种对美的追求、创造力以及改善人类生活的使命感。博客6中,博主说的“兴趣和热情只能让你很执着,但并不一定能让你走好这条路,只有你的能力和你的强项才能让你走好这条路。”给了我很大的鼓励。

  我不能说擅长计算机领域,因为我接触他才两年半。我学习的知识只是冰山一角。以自己现有的能力勉强能完成北航课程的要求,实验过程中也常常会遇到困难。

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

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

  在北航的大学生活与我的想象不太一样。当然这个落差包括了两部分,一部分是我的想象与实际大学之间的差距,一部分是北航与其他大学之间的差距。具体的占比,我也没有办法给出准确的答案,毕竟我也没上过其他大学。吐槽如下:

  • 一直都很忙。因为大类招生面临分流,加上在沙河的闭塞,大一感觉在上高四。大二过得就比较惊心动魄了。计组每周的上机实验以及面向对象的一个接一个的大作业真的是对抗压能力的很好锻炼。大三也是很忙,ddl赶完一个又来一个,往往要“多线程”开工,这对总爱拿一整块时间只做一件事情的我来说是个挑战。记得上个学期,我们全寝室计划的出游几乎全泡汤了,周末四个人都在赶作业。“忙”不是坏事,但被课业填满了,感觉生活少了很多趣味和其他的可能。
  • 交流很难,大佬抱团形成壁垒。现在的大学没有什么班级概念,上完课就走人了,同学之间的交流并不多。这个问题男生可能会好些,但是对我们女生真的是个很大的问题。计院女生少,我们女生之间都比较熟,同一宿舍楼层交流起来完全不是问题,但往往女生内部的交流并不足够我们解决问题,想要获得更多的信息和帮助就非常困难。每当要组队完成任务的时候,大部分女生都很无助吧。造成这样的局面有多方面的因素。除了自身不够主动之外,组织也没有一个好的机制来促成广泛交流的大环境,外界没有施加压力去打破这种交流的屏障。软工这次组队要求队内必须得有女生,虽然不知道老师们这样制定的初衷,但是在一定程度上给了个公平交流的机会。
  • 竞争残酷,导致选课很功利。每当选课的时候,大家关注的都是如何考核、给分怎么样之类的问题。很多时候我们也想选择自己感兴趣的课程,但往往最终向分数低头。不是我们总想这么功利,奔着给分高课业轻的课去,只是现实的压力太大(保研、出国都需要成绩啊)。如果学校能减少一些培养方案的要求,并合理地平衡各个专业选修课的难度和给分制度,我们也会更多地根据自己的兴趣去选课。常常说中学的教育是选拔系统,所以他要排名,他很残酷,那大学的教育是为了什么呢?

  当然,北航的计算机教育也有我很满意的地方。暑假参加了个暑期学校的项目,在与其他学校学生的交流中,我发现北航是很注重培养学生的实践能力的。计组与OO等的游戏机制,让我觉得很自豪。在这些过程中,虽然也有争议,但是确实培养了我的抗压与实践能力。

  我理想中的大学教育,应该是起到帮助学生进一步认识自己,挖掘自身潜能的作用。这其中因材施教的教育理念和自由包容的氛围就显得很重要。学校提供丰富的资源,学生可以根据自身情况没有太多负担地去选择。“从心所欲不逾矩”,遨游在学术的海洋里。当然,这前提是学生自身积极进取。就像博客4探讨的一样,健身教练/健身学员的关系也是我理想的师生关系。但学生和老师要都能达到博客里的要求,难道只需要老师、学生这样个体的努力就够了吗?

  中国大学的教育与国外是有差距的。基于中国的国情,教育资源的稀缺性是很难使我们采取国外精准的教育模式的。他们师生之间的高互动,也很大程度上避免了评价标准的单一性。不过这在现阶段的中国是很难实现的。但是中国大学是有在努力缩小教育质量上的差距的。比如在流程和难度上,北航的实验课程是在向国外的实验课看齐的。博客5中讲到的在美读研时的计算机作业,和我在北航上的实验课程是差不多的。不过他们的细节处理得更好。

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

  到现在为止,填了不少关于这个代码行数的问卷了。如果老师们自己有计算过完成北航计算机两年半的课业要写的代码行数的话,我大概就比那个数多一点吧。具体行数没做过统计,大概一万五左右?(数据结构、计算机组成、OS、OO、编译原理再加上一些自学和其他工程的代码)至于代码的质量我不敢保证,代码实现方面一定是存在不优化的地方的。

  我完成的最复杂的作业应该是计算机组成和编译原理的作业了。计组做到了P7,编译实现了个C的小型编译器。

2.3 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学习这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?

  这个疑问我是一直都没有的。我很喜欢数学,大学里数学成绩也很好。我也知道数学的重要性,马克思不是也说过嘛:“一种科学只有在成功地运用数学时才算达到完善的地步”。不过,一开始我的认识只停留在数学作为科学工具的重要性,但是大一上了杨小远老师的一般通识后,对数学有了更深的认识。很多科学家的灵感往往来源于一个简单的数学知识,他们将它应用到自己的领域从而获得了突破性的发展。就像数分老师说的一样,考得好也并不代表数学学得好,光会解题是不够的,需要的是学以致用的能力。数学不光是计算与表达的工具,也是科研创造的源泉。

  航概这门课,虽是北航的传统,科普教育也无可厚非,但是算到保研课程中就有点不太理解了。经济管理我觉得是必要的,计算机有些领域是需要社会、经济知识的,而且我们的生活中也是需要这方面的知识的。

第三部分: 未来规划

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

  现在IT行业的风气并不是我喜欢的,“996”工作制成为趋势,有点无奈。我梦想的工作是有一定自由度的,涉及的方面不会太单一枯燥,对美有一定追求,对社会也是有积极贡献的。这样的话,人机交互,计算机图形学,智慧城市等会是现阶段的我比较感兴趣的。当然,这些领域我也并没有达到很深入的了解,我会继续去探索的,也许之后会变吧。工作的话,单纯的技术职位我不喜欢也不能胜任吧。

  下一步的计划是读研,争取保研,准备考研。认真的完成本科学业,进实验室多了解多尝试,发现自己喜欢以及擅长的领域。

  博客7的博主的分享对我很有价值。就我的职业选择来说,我除了需要学好专业知识,也需要增强对行业的了解。除此之外,我还要去了解经济学、社会学、心理学等方面的知识。现在我在上经济学的双学位,也是希望对自己以后就业有所帮助。

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

  因为打算继续读研,现阶段我会更倾向于在实验室实习。但是我想在假期多尝试在企业内实习,因为我最终是想到社会上参与工作的。我需要对我面临的岗位有更多的认识,对当下IT行业的就业需求有更深入的了解,以帮助我找到适合的岗位。

博客1

博客2

博客3

博客4

博客5

博客6

博客7

BUAA软件工程热身作业的更多相关文章

  1. BUAA 2020 软件工程 热身作业

    BUAA 2020 软件工程 热身作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! ...

  2. BUAA 软件工程个人作业

    BUAA 软件工程 个人项目作业 Author: 17373015 乔玺华 教学班级 :005 项目地址:https://github.com/JordenQiao/SE_Homework_Perso ...

  3. BUAA软件工程个人作业-软件案例分析

    BUAA个人博客作业-软件案例分析 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 软件案例分析 我在这个课程的目标是 学习开发软件的能力 这个作 ...

  4. 【BUAA软件工程】第一次阅读作业

    BUAA软件工程 第一次阅读作业 项目 内容 这个作业属于哪个课程? 北航软工 这个作业的要求在哪里? 第一次个人作业 我在这个课程的目标是? 学习高效严谨的软件工程开发过程,建立团队意识 这个作业在 ...

  5. 【BUAA 软工热身作业】继往开来,勇攀高峰

    项目 内容 课程:2020春季软件工程课程博客作业(罗杰,任健) 博客园班级链接 作业:热身作业,阅读并撰写博客 作业要求 课程目标 学习大规模软件开发的技巧与方法,锻炼开发能力 作业目标 学习前辈经 ...

  6. BUAA软件工程结对项目作业

    BUAA软件工程结对项目 小组成员:16005001,17373192 1.教学班级和项目地址 项目 内容 这个作业属于哪个课程 博客园班级连接 这个作业的要求在哪里 结对项目作业 我在这个课程的目标 ...

  7. BUAA软件工程个人项目作业

    BUAA软件工程个人项目作业 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 学习软件开发的流程 这个作业在哪 ...

  8. BUAA_2020_软件工程_热身作业

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 热身作业要求 我在这个课程的目标 了解软件工程的技术,掌握工程化开发的能力 这个作业在哪个具体方面 ...

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

    Warm Up 项目 内容 作业所属课程 2021春季软件工程(罗杰 任健) 作业要求 第一次阅读作业 课程目标 培养通过团队协作使用软件开发工具按照软件工程方法开发高质量并且可用的复杂软件系统的能力 ...

随机推荐

  1. PTA 报数

    6-3 报数 (20 分)   报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号.从第一个人开始报数,报到m(<)的人退出圈子:下一个人从1开始报数,报到m的人退出圈子.如此下去,直到留 ...

  2. 10、Spring教程之整合MyBatis

    1.步骤 1.导入相关jar包 junit <dependency> <groupId>junit</groupId> <artifactId>juni ...

  3. SDK音频测试流程

    概述 在上篇文章中,给小伙伴们讲述了sdk模板在渲染中的流程,我们简单来回顾一下,主要讲述了数据创建.素材替换.音频.文字等四部分,在上次讲述中也因为时间于原因没有特别仔细的去讲述他们.上次我们说到最 ...

  4. [Design Pattern With Go]设计模式-工厂模式

    这次介绍的设计模式是工厂模式,这是一个比较常见的创建型模式.一般情况下,工厂模式分为三种:简单工厂.工厂方法和抽象工厂,下面慢慢举例介绍下. 简单工厂 考虑一个加密程序的应用场景,一个加密程序可能提供 ...

  5. 使用docker搭建sonarqube

    sonarqube是一款代码质量检查工具,使用sonar扫描我们写过的代码,可以有助于检查出代码的bug.规范性和健壮性,有助于提高我们的代码质量. 一.安装docker 安装完成之后,命令行输入 d ...

  6. 使用python的虚拟环境virtualenv

    技术背景 在前面几篇博客中我们介绍了容器的使用(博客1.博客2.博客3.博客4.博客5),容器是一种系统级的隔离方案,更多的强调资源上的隔离.而这里我们要介绍的python的虚拟环境,更加强调的是依赖 ...

  7. CMU数据库(15-445) Lab4-CONCURRENCY CONTROL

    Lab4- CONCURRENCY CONTROL 拖了很久终于开始做实验4了.lab4有三个大任务1. Lock Manager.2. DEADLOCK DETECTION .3. CONCURRE ...

  8. KeyError:‘uid' Python常见错误

    使用不存在的字典键值 检查字典和要查的内容 如有不正确改正即可

  9. 全网最详细的Linux命令系列-ls命令

    Linux开始必须要会的命令当属ls,在日常工作中用到ls命令时的频率是很多的,作为一个初学者,可能我只会或者顶多ls -l两种用法.但是ls其实是一个非常实用的指令,ls命令就是list的缩写,ls ...

  10. 干货满满 AppGallery Connect研习社·直播深度解析优质应用开发流程