Loading

软工2021个人阅读作业#1——对于“计算机”的思考

项目 内容
这个作业属于哪个课程 2021学年春季软件工程(罗杰 任健)
这个作业的要求在哪里 2021年软工-热身阅读作业
我在这个课程的目标是 了解和掌握现代软件开发和项目管理技术,锻炼在大规模开发中的团队协作能力
这个作业在哪个具体方面帮助我实现目标 了解博客承载的意义,在对博客的阅读和作业问题的思考和回答中,一步步思考我未来的道路应是怎样的

第一部分:结缘计算机

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

对于计算机的热爱,从我很小的时候就产生了,似乎在小学的某一天,我小小的脑袋瓜中产生了一个想法:大人们总是拿着U盘拷贝文件,但U盘怎么知道要拷贝哪一个文件呢?于是,从来没有碰过鼠标和键盘的我,放了学就风一般地跑到妈妈的单位,迫不及待地开始尝试起来……关于后面到底试验出了什么,我已经没有什么记忆了,但是,这种好奇却慢慢转变为热爱,我开始学会安装软件、查杀病毒,又学会了安装系统、修改BIOS、设置IP网关、MAC物理地址,再后来,我学会自己组装主机,挑选CPU、显卡等配件,这些都是小学初中依靠自己的一点点摸索不断了解的。最初选择计算机专业这条道路,不在于就业,不在于赚钱,仅仅是因为喜欢罢了。

很像博客I博客M中这些博主的经历,对于机算机的热爱,都来源于很小很小的时候突如其来的好奇使然,但我认为,他们对于计算机领域的涉猎深度,是要比我深得多的,这是他们的优势,直到高三,我才用C语言写下了第一行“hello world”,从此踏上了编程的道路,但也因此,我对于硬件的理解、对于PC和手机的整体使用上,是高于很多人的(所以从小到处帮亲戚选配件、装系统、root手机),但对于编程世界的了解程度,我只能望尘莫及。另外,同博客I中博主相比,我们最大的不同是,我有着科班出身的背景,而他在一个甚至没有计算机学科的学校里学习英语专业,这种条件带给我更好的学习资源,有着更高的平台,但不代表着拥有这种条件的我比非科班的他更加优秀,只是我对于计算机领域的学习,比他更加轻松罢了。

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

对于计算机这一领域的热爱,起源于儿时的好奇,在不断地摸索中发现了越来越多的快乐和兴趣,最终,我将它作为我的职业理想——成为一名软件工程师。在小初高这十二年里,和其他同龄人不同的是,我最轻松的一段时光,反而是高三总复习的那一段日子,回家之前已经写完了所有作业,复习也花不了太长时间,一切都感觉游刃有余了,于是我想到,既然要选择计算机这一方向,为什么不开始学一学C语言呢,于是,在2017年的某一个晚上,我的第一个“hello world”程序诞生了,那种欣喜和快乐,至今还难以忘怀,这让我想到不知道在哪看到的一句话,“程序员是计算机世界的造物主,在这个世界里,你可以去创造任何在你脑海中产生的想法,这或许是作为一个程序员的快乐所在吧”。在快速学完所有语法后,我突发奇想,可以用这些东西做一个贪吃蛇呀……虽然仅仅是一个依靠字符、在CMD命令行中不断游走的简陋小蛇,但从算法到UI,全是依靠我自己睡前构思出来,现在想来,一个初学者,能够自己设计一个算法,有着较好的边界条件限制,并且利用了Windows多线程的技术,可能真的是有天赋吧😂。

计算机这一领域涉及太多的东西,每一个分支下都有着庞大且复杂的体系结构,并不是每个领域对我而言都那么亲切,从大一开始的学习,从最初的C语言程序设计、数据结构,到面向对象程序设计、计算机体系结构设计,无论是对编程的感觉,对硬件的理解,亦或是对程序结构的美的发现,私以为,还是不错的,但对于人工智能领域,上升到复杂的算法之中,确实让我感到吃力和茫然了,数学的底子还是让我对于这些东西味同嚼蜡。但就像博客I中列出的技术栈图,计算机这一领域是学无止境的,学的越多,越发觉得自己的无知,自信于自己的天赋,但要说对于计算机整个体系的掌握,尚且还没有资格谈论。

你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?

博客I中在博主笔下的“厉害的人们”其实都是热爱计算机的人们,包括博主自己,痴迷于计算机,陶醉于技术,珍惜任何一丝一毫的时间去学习新的技术,去做各种好玩的东西。我也是这样的一个人,大一在看一本叫做《Coding》的书时,有感而发,利用Circuit这款软件,自己一个个拉线,实现了一个简单的CPU和RAM;又突然感兴趣于一个系统是怎样启动的,跟着《动手制作一个64位操作系统》这本书,完成了一个从8086模式初始化到进入64位模式,并可以进行简单进程管理的小操作系统;在学习了Java后,自己学习了Swing和Socket等功能,实现了一个一对一即时聊天软件;并且,还自己搭了一个服务器,建起了一个静态博客,还悄悄的实现了反向代理功能(kxsw)。这些东西不是为了学分,仅仅是因为感兴趣、因为热爱,所以愿意去探索、去钻研。

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

你对你的大学生活有什么想要吐槽的地方吗?

啊,槽点太多了吧。大类招生,表面上帮助新生拥有一个选择更适合自己的专业的机会,实则对于有着目标的同学而言是一种不公平,尤其是对于压力不大、竞争不激烈的省份的同学,在数学、英语的大比重上吃亏太多了。还有北航教务选课,啊不提也罢,还有一些有用却教的可笑、可笑还教的没用的课程,是不是课程也应该多一些改革呢。另外,北航真的是一个学术氛围极其浓郁的学校,大家都爱学习、都爱卷,还有人不顾一切的卷,少了很多大学校园应有的氛围,去过南京大学、了解过澳门大学,那种氛围真的有很大不同。

你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?

拓宽视野,指引方向,锻炼能力。最初认为,进入大学学习,不过是学习技能、准备就业,但慢慢你会发现,人的眼界真的应该放的宽一些、远一些,《礼记》的《大学》篇开篇即写道,“大学之道,在明明德,在亲民,在止于至善。”大学的学习,不仅仅是基础技能的掌握,当然,扎实的专业基础,牢靠的工程能力,是一个计算机工程师重要的素质,但大学教育,同样需要重视个人价值观的培养,现在的校园中,不知充斥着多少精致的利己主义者呢,又有多少学生,由于缺乏对人生价值的思考和判断,在挫折和压力中,选择了轻生。同时,大学的学习,还在于丰富你的见识,拓宽你的眼界,文理之争从未停息过,但人文社科的知识,也是我们在生活中不可缺乏的,多一些跨学科的知识,接触一些多元的文化,并不是什么没有意义的事情。最后,大学教育应该像一个灯塔,指明你前进的道路,告诉你你想要什么,该怎样去实现,而不是要求你,你该这么走,也不是不管不顾,任其肆意生长。

计算机学院的课程设计,真的用尽心思,在核心课程的理论和实践的结合中,确实在不断的臻于完美,作为计算机组成课程设计的一名助教,我深有体会。在课程的设计上、难度的考虑上、元素的丰富上、领域的广度上,虽然说不上完美,也有着或多或少的瑕疵,但计算机学院真的在课程规划上让我心满意足,但与此同时的,在巨大的课程压力下,学生在社团活动等方面,是有一定程度缺失的。

比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。

这一点对于中国大学来说,还需要走很长的路。从博客N中博主笔下的中美本科教学,中国大学的描写是多么一致,我们是多么缺乏团队协作和小组交流啊,我们的课堂上,有不少老师最大的任务只是去读PPT,而那些PPT,又是传了多少代下来的产物呢。中国人太看重分数,而分数又来源于应试,固然近年来大学教育已经有很多改变,但是,资源还是有限的,传统的影响也不是那么容易去撼动,真正的素质教育,真正的科研教育,还需要时间。

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

高中写过一个一千行的基于命令行的武侠小游戏,但麻雀虽小,五脏俱全,有背景声音,能用键盘选择地图副本,有商店有背包,能打怪能升级。

大一的C语言、数据结构、蓝桥杯,加起来也有三五千行的代码量了,并且数据结构大作业中“独创“(原来暴雪公司早就用过)的多HASH解决链表冲突使我的性能分排进前列。

大二的硬核课程:CO、OO、OS。在计算机组成课程设计这门课程中,利用Verilog最终完成一个五级单发射流水线处理器,另外还实现了TLB和Cache,大约1000-2000行代码。面向对象这门课程中,分别实现多项式计算、电梯调度等等迭代小作业,总共代码量估计在3000-4000行。操作系统课程设计,属实有点让人摸不着头脑,填空编程真的有点奇怪,大约1000行不到。

大三刚刚过去一半,编译原理利用C++开发一个类C语言的编译器,大约在3000行左右,其实难度不大,但在其中熟悉了很多C++中的类和范型的使用。而最大的工程量,应该属于数据库大作业开发的记账网站了,作为一个全栈工程师,真的在这次开发中受到了巨大的洗礼,html、css、js、python,代码不计其数,也是体会了一把不是人的js语言。

科班出身和北大青鸟有什么区别?速成的培训班和打基础的大学教育还有mooc之间有区别吗?

大学的计算机专业将重心放在“计算机组成”、“操作系统”、“计算机网络”、“编译技术”这些底层的基础知识之上,他们是计算机科学这个大厦的基石,对于北大青鸟等这些速成班,学习的无疑是在职场之中需要、且利用HR看重的知识技能,他们更多的在教授学员这一技术如何使用,而其底层到底原理何在,没有人关心。在博客G中,博主的前妻,一个从没碰过电脑的人,在北大青鸟的培训和多年刻苦的学习中,依旧能在社会中实现自己的人生价值,没有谁比谁高贵,虽然二者固然有所区别,虽然也许你瞧不上一个培训班毕业的人,但刻苦和好学的人,依旧值得尊敬,也依旧能依靠知识来展现你自己。

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

知乎上关于程序员这一职业最热门的问题之一,就是“我学不好数学还能学编程吗?”,曾经我也有过担忧,但到了大三,我明白了,单就从职业道路的角度去思考,作为一个开发人员,也许你真的不想要了解这些东西,而对于一个算法工程师,或是从事AI相关的工程师或学者,线性代数和概率论是至关重要的。但为什么学校会要求每个人都上这些东西呢,我认为,数学是科学的基石,也是磨砺逻辑思维最好的方法之一,学习这些东西,不一定在工作中有用,但这些知识一定会培养你的理性思维,你的逻辑和数学敏感性,这对于我们走向更高的平台,有着巨大的益处。

第三部分:未来规划

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

我最想做的事情,就是继续沉浸在编程的世界中,复杂而巧妙的算法确实会惊艳到我,神奇而玄幻的神经网络也让我充满兴趣,但是,只有一行行代码,让他们活起来,组成最美丽的形态,去实现我脑海中的想法时,才会感受到曾经的那份热爱,当个创造奇妙软件的开发者,似乎也没什么不好。

技术道路对我来说太难选择啦,各种语言、各种领域都或多或少的涉及过,但真的都很喜欢,有人唯Java、有人唯C/C++,但我觉得每个语言都有自己的独到之处(除了javascript),有人喜欢前端设计,有人爱好后端开发,有人酷爱硬件,但我真的都可以(悲)。

职业道路是一个比较现实的问题,明天的我就是21岁了,常常在想,做什么能让自己不饿死,饿不死了,又有什么能让自己开心,但在这基础上,你需要考虑如果你有了家庭,有了孩子,怎样保证一个稳定的收入,担负起自己需要承担的责任。唉,也许最后,就是进入中级管理层,才能免于35岁的魔咒。

对于自己在社会中应该扮演怎样的一个角色,其实很早就有想过,从小我们就被灌输,我们要成大事业,做大贡献,但多少人能在历史的洪流中脱颖而出呢,我们总是被逼着不断向着社会中的上层涌进,总是告诉我们,我们是不平凡的,但是啊,平凡不好吗,有多少人因为不懂得平凡,冲得头破血流,最后还是落得一个平凡,平凡不是不求上进,不是混吃等死,而是学会与自己和解,学会知足常乐,社会不需要你做多大贡献,但你真的需要为自己内心真正想要的去努力奋斗。

你对于实现自己的梦想已经做了或者计划做什么样的准备?

其实很简单,仰望星空,脚踏实地

其实很复杂,高中的努力学习,为求得一个更好的平台,大学的比赛、活动、实习、绩点,更是面面俱到,这是脚踏实地。对自己一学期的预期、一年的预期、一个人生阶段的预期,规划人生的道路,正如这一部分所说,仰望星空,看见未来,才可摘星辰。

你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?实习经验究竟有多重要?是否需要马上开始积累实习经验?

现在我已进入学校的实验室实习,个人认为,无论是在企业还是在实验室,又有着他们各自的优势,如果你希望了解行业动态,熟悉和掌握各种技术链,能够获得更多的工程项目机会,那么企业会是一个较好的选择;如果你希望自己未来从事科研领域,了解最新、最前沿的算法、学术信息,并且有着发论文的想法,实验室应该会更加合适。

计算机这个学科作为一个工程性质的学科,事件无疑是一件极其重要的事情,因此,实习作为将你的所学转化为真正能用的东西并付诸实践的过程,就显得尤为重要了。

posted @ 2021-03-08 18:40  lcylcy_lcy  阅读(269)  评论(5编辑  收藏  举报