审视--软工第一次作业

Posted on 2020-02-27 19:39  小坤兽  阅读(259)  评论(2编辑  收藏  举报

软工第一次作业

|
-|-
这个作业属于哪个课程 | 2020春季计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 | 第一次作业-热身!
我在这个课程的目标是 | 学会用工程化方法编写和维护有效实用高质量的软件
这个作业在哪个具体方面帮助我实现目标 | 这次作业让我重新的审视了自己和自己做出的选择,也有了更多的动力

结缘计算机

* 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? * 计算机是你喜欢的领域吗?是你擅长的领域吗? * 你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗? 要说当初为什么要选择计算机,就要从高考后的填报志愿说起。

当时比较心仪的备选项有这么几个:学数学、学医、学计算机。

学数学?高中的时候学了这么久数学,想接触一些新的学科知识。

学医?又觉得自己没有那么高尚的医德,要是来了一个非常邋遢的病人,我可能就治不了了。

学计算机?自己玩自己写的游戏,那多香啊。

于是就这么决定了,但其实当时对计算机这个专业并没有太多的认知,也从来没接触过编程,糊里糊涂就认定了这个专业。加上高考分数和北航的分数线差不多,于是就来到了信息大类,在这里经过一年多的学习,就到了专业选择,当时我比较想选择的就只有6系和21系,看了看排名,去六系没问题,看了看学费,去六系。于是就开始了计算机科学与技术之路。

没错,其实要是说我对计算机有多么热爱,倒不如说是我对玩游戏有多么热爱。我非常希望能够编写或是参与一个大型的游戏的创造当中,像《头号玩家》里的那样,利用各种先进的技术,花里胡哨的仿真也好、虚拟现实也好,让全世界的人都参与进来,成为一个可以改变世界的游戏。

诚然,我没有博客I中的大佬那样那么早的接触编程,甚至连高考的时候还对编程念念不忘;也没有身边的很多同学那样学过信息学竞赛、有ACM经验或是各种我闻所未闻的花哨经历。我只是一个从小到大被各种老师要求一心只读圣贤书的普通学生,县里的高中也没有条件办什么信息学竞赛的课,甚至连一堂所谓的微机课都只是存在在课表上的空壳。但我就是喜欢创造、创造一些好玩的事情。我喜欢自己在纸上模拟英雄打怪,给他们附上各种花里胡哨的属性。然后自己用笔一点一点地去计算英雄每一次攻击会给敌人造成多少伤害;用骰子或者抽扑克牌决定概率,判断会触发什么效果,是暴击了还是眩晕了……一点一点升级,每一个步骤都在我的计算之内。后来我意识到,为什么不能把我的这些想法用手机游戏或者电脑游戏的方式呈现出来呢?那样我还可以给我自己开特权,让我拥有全服最厉害的装备,岂不是美滋滋?于是我就开始向往计算机专业,这也是填报志愿时计算机名列前三的原因之一吧。

在计算机系里学习

* 你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。 * 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。 * 科班出身和北大青鸟有什么区别? * 速成的培训班和打基础的大学教育还有mooc之间有区别吗? * 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢? 但在这条路上走着走着,我发现越走越和我想象中的不太一样。当时的我一直认为,在六系的必修课应该就是类似于大一的时候学的c语言、数据结构那种课的拓展与延伸,类似于面向对象、算法设计这种课,因为当时c语言和数据结构课的成绩都很不错,所以对之后的课程也根本没在怕。后来才发现,原来我还要学计算机组成原理和操作系统这种偏向底层的课。在一开始的时候,我是一点都学不进去的,一来他不是我喜欢的课,二来理论课讲的东西和实验课根本不沾边,而且老师都不是一个老师,甚至在上机的时候每周还不是同一个机房,导致实验课的老师都不认识,总的来说体验很差。

要说我理想中的大学教育,应该是那种小班授课的方式,而且每个人都能选上自己喜欢的课程,不是现在这种选课时疯狂掉课,补选时都抢不上的局面。至于说把北航的课堂教育和国外的教育作比较,我实在是不知道怎么比。耳听为虚眼见为实,既然我都没有去过国外上大学,我又怎么可能真正的了解到国外的教学风格呢?因此这方面我还是少加评论的比较好。

在这两年的学习生活中,我写过很多代码,当然和博客中的大佬们没办法比,但我觉得也不是很少了。除了OO、编译等一些课程的作业设计之外,还写过Android小程序、ruby的网站、也在机器人的控制方面有过一些经验。其中耗费时间最长的应该就是曾经写过的一个小游戏程序,当时的创作灵感来源于魔塔,在一个10* 10的地图上,先是搭建起一个迷宫,然后在迷宫当中设置各种小怪、商店、NPC等等,玩家是一个外地前来的战士,受命拯救被恶龙掳走的公主。在游戏中,玩家会小概率出发各种各样的彩蛋(例如捡到钱、踩到屎之类的),还可以解锁各种各样的无厘头的大结局(被恶龙杀死、修炼秘籍爆体而亡、和公主隐居等等)。在编写代码时,也是享受到了挖坑埋彩蛋的乐趣。最后的游戏也是给很多同学朋友玩过,满足感十足。

科班出身和北大青鸟有什么区别?这个问题其实在很久之前我就考虑过。现在这么多的培训机构,而且还前有mooc,后有51cto学院,各种各样层出不穷的网课机构也是疯狂输出编程知识。作为一名即将步入程序员行列的大学生来说,如何才能在茫茫人海中崭露头角?我觉得这并不像博客F当中所说的那样,在网课当中,很多所谓的行业大牛都把基础知识讲的非常透彻,并不存在什么“那些在大学学过两年的同学都是一周多点都学完了,我硬是学了快一个月,从定义一个变量,到数组,到各种逻辑判断,到类的定义,继承,方法,到集合……”这种情况。不会就查资料,网上各种各样的教程纷繁复杂,入门还是比较轻松的。因此我认为,培训机构能够教授的内容就足以满足初步的工作需要,能够和本科教育相媲美,本科教育所能够给予的知识,网课/培训完全可以做到一样不少。如果想要更深层次的学习,硕士博士啊。科班非科班最大的区别就在“专”这一个字上了,非科班出身的可以短时间内掌握自己所需要的知识,而本科生的毕业要求纷繁复杂,不相关的课程、对就业没有帮助的课程都要求修够学分,从而也耽误了想要在编程方面更上一层楼的同学,拖垮了部分同学的身体。但也不能说这样没有好处,从某方面来说,本科教育强调的是一个“广”字,一旦将来就业不合适换了个方向,毕竟在大学也学过相关的知识。

关于数学方面,我还算是比较喜欢学的。有人说三流的程序员靠逻辑,二流的程序员靠算法,一流的程序员靠数学,低端的看高端的就是黑魔法。我觉得说的毫不夸张,现在回头看看机器学习,基本上可以说是线性代数和概率论堆起来的。离散数学、数论……这些数学知识都是计算机科学的基础,必须好好重视。

未来规划

* 对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?(必答) * 你对于实现自己的梦想已经做了或者计划做什么样的准备? * 你们马上就要面临实习了,你打算在企业内实习还是在实验室实习? * 实习经验究竟有多重要?是否需要马上开始积累实习经验? 我梦想中的工作能是我在填报志愿时所想的那样,几个人一个办公室,一起完成一项伟大的工程。准确的来说,我不希望它是一份工作,我希望他是一个事业,参与其中能让我收获到快乐的、能让我义无反顾废寝忘食的去奋斗的事业,而不是赖以维生的工具,那就太悲哀了。不过,现如今哪有那么多理想主义,还是努力的完成当下的任务才是重中之重,而且我个人也不是一个喜欢做长久打算的人,习惯了走一步看一步。何况太多的人,不论做了多么天衣无缝的规划,在这次疫情面前也成了一场空谈。

至于实习方面,目前的打算是等毕业学分修够,找一个企业实习,很多同学都已经找了各种公司企业实验室实习过,我觉得还是会有一些用处的,毕竟提前感受一下未来可能的工作生活也是一个不错的机会。