软件工程热身作业

软件工程热身作业

项目内容
这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 第一次作业-热身!
我在这个课程的目标是 学习软件工程的开发知识,初步具备多人开发软件的能力
这个作业在哪个具体方面帮助我实现目标 分析自己目前的需求以及对未来的展望,还有对过去的反思
作业正文......  
其他参考文献... 博客1 博客2 博客3

第一部分:结缘计算机

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

我选择计算机专业或许是自身兴趣加上时代发展的结果。我在上大学以前,从未接触过计算机编程,听说过信息类竞赛,但自己并没有参与过,相反我在高中喜欢的是数学和物理。但随着高考结束,填报志愿的日益临近,我也开始思考自己大学四年时光的专业选择,不能仅仅依据个人爱好,还要结合热门的就业领域,数学物理我确实喜欢,但要我进入研究所,埋头苦干十几年,我自问可能没有那样的耐心,于是我把目光投降了IT行业,当时IT行业十分火爆,我对IT没有太多的认识,只知道他们的工作是坐在办公室抑或是敲代码,毕业后找工作相对容易,起薪也不算低,并且计算机最终的最终是数学,正是我喜爱的学科,于是我开始考虑计算机这个专业。我去网上了解相关信息,知道了计算机是一个十分广阔的领域,它与我们平时的生活息息相关,同时它又有一部分代表着当今科技发展的最前沿,一个男孩怎么会不向往高科技,向往黑客帝国里那种噼里啪啦敲键盘,就可以无所不能的生活呢,说实话,计算机科学有一种别样的魅力吸引着我,让刚刚开始了解它的我着迷。

我自身在大学以前,可以说是没有任何编程功底抑或是编程思想,上了大学以后,尤其是宿舍对门住着个一个信息类竞赛大佬,大一时,当我孩子为数据结构的题目纠结,或是苦恼着程序中隐含的bug时,大佬早就在一两个小时内做完了我可能要写几天的作业,更加离谱的是他码处的代码一遍就可以运行正确,每每遇到这种情况,我就会苦恼,是不是他更加有天赋,是不是我真的不是学计算机的料。在大一一开始,当我写出人生中自己的第一个程序时,看着命令行界面跳出“hello world”一行语句时,我是真的很兴奋,电脑上显示一行字或许是再寻常不过的事了,但我一直无法想象,电脑是如何显示出那一行行文字或是图片的,那时的我或许还是不知道,但我知道这门学科,只要一直学下去,我就会有机会电脑运行的原理,知道平时习以为常的电子产品背后藏着的一行行代码,这样的兴奋激励着我自己,也在我遇到挫折时,能够为自己打气。

阅读了部份博主的文章后,我意识到我所处的时代计算机发展更加完善,学校课程的安排更加科学有序,如果那时的IT行业算是初生的太阳,那现在的计算机科学可以说是接近正午的烈日,更加明亮但也更加刺眼。如今学习计算机,资源比过去几年丰富了数百倍,发达的网络让我们在遇到问题的时候再不用去图书馆翻书寻找,或是独自一人苦思冥想,我们可以在论坛上于全球的码农交换观点,总会有人遇到和我们相类似的问题,解决问题的时间和成本大大降低,上手似乎不再是一件难事,就好像现如今经管类的学生都要学习python编程,但这也意味着领域内的竞争力飞速膨胀,曾经的IT是个冷门专业,人才市场有大量缺口,供不应求,但现在每年毕业的计算机学科学生成千上万,竞争更加激烈了;并且计算机的发展也更加迅速了,每年全球投出数以万计的计算机相关学术论文,计算机领域的发展日新月异,每一天都有源源不断地新知识产生,作为一个码农必须保持学习新知识的状态,一旦停止学习就有被淘汰的风险;当然我个人的英语能力还可以,这在我阅读外国文献或是论文原文时,起到了很大帮助,不需要逐字翻译,让我阅读效率大大提高,并且更方便理解一些翻译成中文可能就失去本意的内容。

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

我或许并没有编程的天赋,但我有一颗爆肝的心,大二的计算机组成,我可以为了调bug熬夜通宵,如果有我个人能力不能做到的事情,我愿意用时间来换取能力,因为根据我大学三年学习计算机的经历来看,计算机大部分是一些熟能生巧的事情,如果你不是发论文想不到好的灵感,其他的缺陷都可以通过大量的练习以及阅读资料来弥补。就像我宿舍对面的大佬一样,或许并没有那么多的擅长与否,别人看起来能力超群,只是人家可能从初中就开始写你大学才开始学习的代码,只是花费时间多与否的问题。

计算机或许真的让我的大学生活极度充实,我票圈里其他专业的朋友周末或是去逛一逛北京的景点,或是去品尝北京的美食,但我们宿舍,抑或是周围宿舍周末都只能呆在教室或是去图书馆码代码,甚至通宵找一些无法复现的bug,大二的计算机组成,面向对象,以及操作系统、大三的编译原理都给我留下了极其深刻的印象,但这一切终究是个人的选择,或许有些人认为每日灯红酒绿,结识好友才是青春,但我认为当面向对象纠正最后一个bug,自己写的电梯能够自主运行的时候,当编译原理写完最后的优化,使用着自己写的编译器时,这也叫青春。所以,我认为我是喜欢计算机的,学习计算机的日子真的很苦,但日后回想起来的却都是提交后AK(All Kill)的喜悦。

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

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

我的大学生活,除了肝代码经常肝到半夜以外,其他都还好,我感觉我遇到的老师都是很优秀,愿意帮助学生解决问题的老师,并没有遇到太多网上传闻中那种存在某种道德问题或是嫉妒傲慢的老师。就比如我大一的数据结构晏海华老师,一个矮矮的年纪有点大的老师,我本以为会是一个墨守成规的老学究,没想到是一个十分风趣幽默的老师,当然他在C语言方面墨守成规(笑),但他上课的内容真的不会让人犯困,反而让人有继续听下去的渴望,并且他非常负责任,每节课都会先花一点时间督促作业未完成的同学完成作业,然后回顾一下上节课的内容,真的是一个让人印象深刻的老师,其他计算机学科的老师也都十分乐意回答学生提出的问题,从来不会因为问题太过低级或是肤浅而嘲笑学生。在提供的博客中,我看到博客B里,刘帅的数据结构老师就是光教授书本知识,而不是一行一行的代码,我就觉得幸运了很多,我的数据结构老师从第一堂课就强调编程讲究实战,只有大量的练习才能狗进步,光有理论知识很有可能上手写代码无法实现,我也秉承着这一观点直至现在,每次读到的论文必然要自己代码实现一番,而不是读完就扔在一边。

我理想的大学教育大概核心观念就是自学+自觉吧,毕竟理论课上讲到的内容是不足以完成课设实验的,还需要同学课下查阅大量的资料,以及亲身实践才能有所收获,如果高中是老师督促你学习的话,大学生活完全靠个人自学,几乎没有人会督促你完成作业亦或是起床上课,毕竟都是成年人了,要为自己的行为负责,为自己日后理想的生活而奋斗,全靠自觉的话,周围的环境就会很重要,索性我的室友都是关键时刻能够爆肝的选手,也会相互提醒作业亦或是起床上课。当然,我高中从未想过大学的生活学习压力会比高中还大(这或许和我选择的学校以及专业有关),整个专业相当于是重新参加了一次选拔后可以说最优秀的同学,没有人愿意掉队,也几乎没有人愿意课程成绩只有80+,大家都向着90+在奋斗,这时的压力真的很大,(我真的很想会高中),当然,我也很荣幸能遇到这么多好学本身又十分强大的同学。

我并不了解国外的学习经历,但我对于校内的一些课程也确实存在不满,例如计算机组成的考核制度,从P0至P8,又或是操作系统的Lab0至Lab6,考核成绩中几乎不会关注你平时的代码工作,只会考虑上机时那几个测试点是否通过,并且上机不会提供测试点,即使上机结束也不提供,我认为这样的制度存在一定问题,毕竟我们学习知识是为了解决问题,而考试是为了检验我们学习知识的掌握程度,那为什么要忽视平时的努力,而一考定分,平时分给出的比例着实有些小,一旦上机出现bug,在短短的2小时内修复bug的可能性极低,也就意味着平时大量的工作都付之东流。这也仅仅是我个人的想法,必然有不完善的地方,也希望老师能够指正。

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

迄今为止一共写了约两万行代码,其中最复杂的项目应该是大三上学期的编译器了,总计有一万行左右的代码量,其中大部分都是优化功能的实现

科班出身和北大青鸟有什么区别?

我认为科班出生,未来的发展方向远比北大青鸟来的广阔,课内学习的知识如操作系统,计算机组成,编译原理等,都是为将来学习更进一步的知识打下基础,也就是为将来能够学好这些领域的知识提供了平台,但像北大青鸟这样的培训机构,我并不很了解,但我推测他会根据你自己提出的就业要求提供课程,也就省略了打基础这一环节,而直接跳到了应用层面,或许缺少对计算机底层的理解并不会妨碍你写前端或是界面,但也就限制了你未来的发展空间。并且,北大青鸟的学员对于一些晦涩知识点的理解,很大可能没有科班出生的理解深刻,例如指针,或许北大青鸟也会讲到,但讲解一定没有大学老师来的细致,甚至反复强调其重要性,而同时操作系统的理论知识也能帮助我们更好的理解语言,理解指针等概念,北大青鸟就缺少了这个机会。同时我相信,在高校内接触到的老师远比北大青鸟的老师更加优秀,社会阅历以及工作经验更加丰富,校内老师更懂得某一块领域的核心知识点所在,而不是泛泛而谈,读ppt式授课,甚至有如博客3中所说,一些是视频授课,向老师提问时老师的态度极其恶劣,或者都没有与老师接触的机会,自身产生了问题可能只能自己解决,填鸭式的教学,就像如今的鸡鸭,完全是为了养肥而喂食,自然没有农村里自家养殖的不吃饲料的鸡来的好吃。大学里老师若是为了教育学生,真正的传授知识的话,北大青鸟或许只是培训机构,本身对你只有利益的往来,没有什么责任感。

第三部分:未来规划

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

我希望未来从事的是计算机与其他学科交叉的工作,例如我最近跟进的项目就是使用机器学习来帮助医生判断儿童斜视的角度,帮助医生缩小角度范围,之前也了解过生物医学工程方面,使用深度学习来帮助判断氨基酸所属肽段从而分析蛋白质的项目,都是使用计算机的知识在其他领域能做出十分突出贡献的,医生本身并不懂太多的编程知识,但如果你是计算机专业,同时又懂得医学知识或是金融的专业知识,我认为这样的人能够为社会做出极大的贡献,我自认并不是十分擅长算法方向的研究,因此在其他领域使用计算机知识而不是开发新的计算机知识就更加吸引我,目前来看其他领域对于计算机的需求很大,或者是这个领域还没有意识到计算机可以被用于促进其发展。

目前我的打算是研究生阶段继续读计算机专业,同时学习金融方向的课程,因为金融是与数字的交互,与计算机类似,源于数学,如今的计算金融专业也十分火爆,我对于数学也很感兴趣,相信计算金融会是一门十分有趣的学科,分析数据,从过去的数据分析未来的走势。

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

现阶段,我打算先打好计算机的基础,并在有意的去接触机器学习或是深度学习相关领域的知识,自己做一些数据分析的代码实现,抑或是参加一些数据工程方向的比赛。并且,我也在参与一些多人项目,学习多人合作的相关技术,如GitHub等版本管理手段,确保和他人的合作互相不妨碍,同时又能在最后融和时没有阻碍。自己也在阅读一些金融相关的书籍。

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

我打算在企业内实习,因为企业内的实习或许更加接近生产应用,管理方式或许会与实验室内有所区别,同时企业内实习也可以结识很多社会上的朋友,为毕业后的工作应聘或是求职打好基础。

 

以上都是我个人的观点,如有不妥或是我思考不周之处,还希望老师帮忙指正,谢谢。

 

17373015 乔玺华

posted @ 2020-03-03 18:22  F_M_L  阅读(215)  评论(4编辑  收藏  举报