写在最前面
本作业属于课程软件工程
本作业的要求是这样
我在这个课程的目标是,提高自己的编程能力,提高自己的团队协作能力,提高自己的体系化编程能力。
这个课程帮助我规划自己的职业生涯,帮助我提高自己的团队工作能力,为今后的工作打下良好的基础。
第一部分 结缘计算机
1.1 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
我选择计算机专业,一方面是在茫茫多的专业中,对计算机比较感兴趣,而且听老师说计算机专业和数学关系很大,我也喜欢数学;另一方面是听说计算机专业很厉害,能够实现很多东西,还是当下最火的专业,好找工作,有机会赚大钱。基于自己浅薄的认识和俗套的想要赚钱的想法,我选择了计算机专业。
我的条件应该是最不好的那一部分吧,之前接触计算机只是用来打游戏,或者偶尔做做ppt,再无其它。不像很多同学,搞过计算机竞赛,或者是在上大学之前就已经在编程方面颇有建树,或者对这个专业有了深刻的认识,对自己未来要干什么有很清晰明确的目标。这些我都没有,可以说是条件很差了。
和博主相比,我没有很早的接触过计算机,而且本身英语水平也不好,这些都算是我在学习中遇到的障碍吧。
1.2 计算机是你喜欢的领域吗?是你擅长的领域吗?
计算机是我喜欢的领域,但不是我擅长的领域。大学生活过了三年,我越来越感觉自己缺乏一己之长,虽然我喜欢计算机,但我其实并不擅长它。或者说计算机科学太渊博了,很多东西我都不懂,我学过的东西也理解的很浅,越是了解这个专业,越觉得自己的渺小。而且在学习的工程中,我越发的发现这个领域和我当初想的不一样。在高中刚毕业时,我印象中 的计算机近似于人工智能的概念,感觉搞计算机的人是很牛的,能呼风唤雨的那种,就像科幻电影里呈现的那样,操控世界于股掌之中。但现实给人当头一棒,我实际上面临的是枯燥且艰难的编程,天天和bug做斗争,最后写完的东西也是幼稚的小玩意儿,现实和理想相差甚远,只是感觉自己太菜了。
第二部分 在计算机系里学习
2.1 你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
吐槽的地方:其实回首一下过去,最该吐槽的是自己。其实我最害怕的是,自己大学没有学好就算了,玩也没玩好。很不幸我好像就是这样的哈哈。大一时目标还算明确,学习也比较刻苦,也参加了很多的学生活动,也喜欢和朋友们出去玩或者一起打游戏。本来以为自己的精力应该足够充沛,可以同时兼顾这些,但其实到最后学习成绩平平,学生工作虽然做出了一些成果,但的确花了很多的时间,每每想起总感觉耽误了不少学习时间,悲从中来。而且游戏也没打出个名堂来,本来是很喜欢打DOTA的,到现在也变成一个云玩家了,总之是没有一个方面开花,感觉大学有点点失败。之后大二下到大三就有些迷失自己了,少了很多的学习的意志,因为感受到自己的成绩已无法保研就有些破罐子破摔的想法,现在有些后悔自己有这样幼稚的想法吧,不过凡事都得经历了才能真的有感触,之前老师家长一直劝你好好学习,但你不吃了没学习的亏,可能是真的体会不到学习的重要吧。
理想的大学教育和学校给我的差别:老师会给学生留很多思考的问题,会积极和学生交流,而且师生关系会很亲切。其实我高中的教育就是这样的,但大学的确是很难实现的,终究每个老师只带你一个学期,至多一周三节课,名字是不可能记全的,互动也是少之又少,多的是枯燥的照本宣科。这使我有段时间学习数分产生了一种观点:听慕课比上课的效果更好。其实的确是这样,因为听杨小远老师的慕课,所收获的知识和上课是一样的,我还可以调节语速,可以随时暂停,可以在想做题的时候就做题,反正同样的没有互动,我在电脑屏幕前看板书比在教室看板书更加的清楚。所以在很长的一段时间,我对于大学的课堂很困惑:课程内容就是讲ppt,而且语言枯燥乏味,语调平平让人犯困,说实话在课堂上我很难讲收获什么。不过一些课程还是不错的,会布置课堂练习,可以一起做题再通过老师讲解加深印象,这样的确会有收获。而且我也听了一些文科院系的课以及很多有趣的通识课,后来发现这大概是学科特性导致的吧,理工科的课和老师着实是无趣乏味。
与国外大学相比:我没有接受过国外大学的教育,不清楚国外的教育到底是怎样的,只能通过道听途说来妄论了。感觉国外的课堂氛围会更好,老师会讲很多有趣的故事来激起同学的兴趣,会用抑扬顿挫的语调和妙趣横生的语言使得同学们从昏昏入睡的状态中猛然惊醒然后投入课堂中。其实这些终归是我的理想吧。
2.2 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
我没有具体统计过自己写了多少代码,反正除了作业或者一些竞赛的代码,我是没有写过什么其他代码的。我做的最复杂的项目,应该是上学期的c0文法的编译器吧。写了近万行吧,但其实实现的也不好。最主要的是走了错误的路吧,大家都在用递归子程序来完成代码的主体部分,而我用了类似于NFA这样的方法来实现了程序的主体,因为当时学编译的时候恰好学到了这里就想试试,没想到陷入了一个深深的漩涡hh。真的很难受,也没法与别人讨论,也没法参考学长学姐,不只是在语法分析,等到后面翻译成汇编的时候,使用递归子程序的实现逻辑还是比较清晰的,但我当时因为避免了递归的方法,就只好自己又搭建了一个栈来实现这个东西。bug丛生,而且很多bug是很难de的,这让人很崩溃,别人的经验也没法用,还好我最后硬着头皮把它写的像那么回事儿了,也过了这门课,但它给我了一个沉重的教训,有自己的想法固然还不错,但听从有经验的的人的意见是更好的选择。
第三部分 未来规划
3.1 对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
我未来想从事游戏行业或者金融相关的行业。游戏行业是我感兴趣的一个行业,为此我之前参与了腾讯组织的游戏策划公开课,也学习了一点Unity,大致了解了这个行业,或许未来也会参与游戏相关的技术岗或则和运营岗或者策划岗,但这些还是需要一些专业的知识来支撑的,我之前学的比较少,思考的也少,在参与了一系列的课程后也有了大致的思路,知道该读些什么书,该进行哪些思考。
另外一个想从事的行业是金融行业,因为一个很俗气的想法,我一直都想赚钱,其实我高考之后是很想报人大的金融的,但分数差些就做罢了。我自己在学校内也进修了经济学的二学位,对于经济方面的新闻或者知识也很感兴趣,并且我也了解到现在的金融行业的决策其实大多是通过一些计算机领域的方法来得出的,大数据和深度学习的在金融领域的应用也是越来越频繁。技术道路方面,那就要好好学python,学机器学习和数据挖掘这样的课程,这个学期我也报了金融数据挖掘这门课程,希望有所收获。