1.关于当初
- 选择
说来惭愧,当初选择专业之时,我并没有认真审视过所有专业,没有自己感兴趣的专业方向.是父母帮我选择了软件工程这个方向,他们说IT行业发展前景好,以后不愁工作.我想想,也是这样的.于是稀里糊涂就开始了我的大学生活.
- 学习
刚进大学那会,由于空闲时间比较多,所以我会抽出时间来看一些与专业无关的书,这与我本身偏好多元思考有关,我对于大脑的认知过程,记忆过程,心理学,经济学等等方面的一些理论和知识很感兴趣,所以会时常读一读这方面的文章或者书籍
编程语言方面,学过C,C++,JAVA,PYTHON. 我觉得语言只是工具不是目的,学的再多都不如好好的熟练一门语言.
做过的项目基本上是跟着学院的课程,
大一:贪吃蛇,大一实训做的回合制游戏拿了个前十
大二:汇编课设,面向对象课设做的web相册管理,数据结构课设的数独游戏.暑假实训做的车牌识别项目.
大三:与另一个同学参加中兴杯比赛做了一个基于人脸识别,根据面部相似度匹配好友的项目
上一门新课时,如果时间宽裕,我会提前一章预习,把重难点圈出来,自己先理解,之后上课的时候结合老师的讲解,更新自己的理解.课后我会及时把今天所讲的内容有条理地整理,并画出树状图来建立整体与局部的联系.到了期末的时候,就可以把平时的整理全部整合在一起,自己复习起来效率会高不少
- 动手能力
到目前为止,不准确估算,自己写过的代码应该在2000-3000行之间,不是很多,因为重心主要还是放在了成绩上,动手编程这一块投入的不太多
做过的最复杂的作业应该是大三上的编译器吧,从最开始完全不知道如何下手,网上参考别人的代码也看不懂,只能把书看懂之后才开始慢慢照着别人的编译器,边写边改.那 时候临近期末考试,还有各种上机,各种大作业,压力非常大.在不断的Debug过程中,我渐渐搞明白了整个编译器的逻辑,也能做一些细节,功能上的修改,并且按照老师的要求生成了汇编文件和二进制文件.
2.关于未来
博客K[1]提到:“要经常性地跳出自己再来看自己,客观地分析自己的优势和劣势。让自己和别人掂量掂量自己到底几斤几两,了解到自己的长处和特点,然后才能知道自己适合做怎么样的事”
我在想,只有时常反省自己,明白自己性格的优缺点以及做人处事上面的优缺点,才能明确自己的目标,做出最好的选择
- 目标
我的目前选择是保研.理想目标是南大的LAMDA实验室
- 优势与劣势
同比与其他同学来说,我的优势在于:
1.执行力很强,一旦明确了目标就会在尽量短的时间内去达成,不拖延
2.不仅仅从专业本身思考,也会跳出专业从其他角度去思考问题
3.开始去做一件事情之前,会考虑每一个环节,以及可能的方式,权衡最优选择
我的劣势在于:
1.想的太多,做的太少,常常还没开始做就已经给了自己很大的压力
2.心态不够平稳,总把某件事情看得很有决定性,但是其实并没有那么重要.只是自己人为的赋予了它过重的含义,比如加权成绩
- 一年半的规划
由于我的选择是保研,所以大三下的整体规划是以保研为中心进行的
大三下:
1.目前正在写一篇论文,预计能在九月之前发表.
2.复习专业课知识以及看机器学习方面的书
3.复习数学知识以及加强英语口语准备面试
4.筛选出数据挖掘方向做的比较好的老师,学校,实验室,关注夏令营,准备材料
大四上:
如果保研成功,那么我将可能会提前去往保送的学校参与课题研究,如果没有保研成功,那么我将准备考研
大四下:
在学校做毕业设计
3.关于当下
- 专业的热情
说实话,最开始进来的时候,我的内心是抗拒的,因为听说总是需要熬夜,很伤身体.另外就是最开始学习编程的时候频频碰壁,积极性不高了.
到了大三下,我发现自己慢慢喜欢上了它,通过自己的设计,去解决一些实际的问题的那种感觉很好,每一次的debug都是对于自己的提升,无论是能力上还是方法上。
博客K[1]中提到:“对于程序员来说,应该始终记住,技术不是主要的,主要的是通过技术能够解决什么样的问题。一定经常想要解决什么的问题,要满足什么样的需求,而不是要用什么样的技术。”
所以我在日常的学习中,更注重的是多角度的去思考问题是什么,需求是什么,怎么去解决.
- 专业技术和能力
就专业技术和能力而言,我觉得我在专业技术方面属于中等水平,不至于什么都不懂,但是也不是特别懂的那种,因为自己其实没有分出很多的精力去钻研技术方面.但是我相信我自己的能力还比较强.本质上来说,技术和成绩都是需要付出大量的时间去提高的,所谓技术大神和加权大佬,不过是各自选择把自己的时间投入到哪里而已。技术是一方面,人际交往等等方面的软能力也是需要的。偏废一方最后还是要补回来的。
- 已经具备的专业知识、技能、能力
专业知识方面:数据结构、编译原理、操作系统、汇编语言、计算机原理、离散数学、概率论、数据库、算法设计、C语言程序设计、面向对象程序设计(都不是很熟练,机械 记忆多于实践应用)
能力:快速定位和解决问题,信息检索,沟通表达,快速学习和理解
- 与合格的当前专业本科毕业生的差距
先吐槽一下,平心而论,真要说合格,首先需要学院的教育重新调整,不仅仅再用成绩去评估一个人的成果,如果我们能够从大一刚开始的时候就用同一种编程语言,同一个项 目,去做实践,肯定比我们每次都做些什么xx管理系统的作用要大得多.
我觉得离合格的本科毕业生,我在专业知识方面的掌握还有欠缺,对于一些原理或者算法的实现还不是很熟练,只停留在表面阶段,没有深入去研究过某一个方面.另外就是编程能力还不足以应付工作的需求,还需要提高。阅读的书籍也还达不到一名理想的软件专业本科生的数量。
4.关于课程
- 印象最深的课程
印象最深的一门课程是大一上的时候,教我们微积分的李开丁老师,我们亲切的称他为丁丁或者丁哥.李老师不仅课讲得简单易懂,也经常在讲课的过程中给我们正能量。他说他希望我们每个人都能开心,快乐地生活.让我特别感动.
- 科班出身与培训班的区别
博客G[2]评论培训班出来的人:"缺乏自学能力。很多人就是因为觉得没有自学能力而去了培训班。去了以后觉得让我学会的任务,是老师的。这样的学生,即使最后学会了,老师教的一切,往往也是废的,因为稍微变化一点的东西就学不会"。
在我看来,这不仅仅是自学能力的问题,更是思维习惯的问题。
科班出身和培训班就像白手起家通过自己的努力实现年入百万的人和那种一夜暴富的暴发户之间的区别.两者最大的区别是思维方法的区别.前者经过系统的计算机知识的学习,掌握了一套分析问题的思维方法,而不仅仅是技术,技术是思维方法的衍生物。后者只有一套模板化的技术实现流程,而没有最重要的思维内核.从长期发展的角度来说,后者的竞争力随着时间的推移逐渐变弱,而前者则在逐渐增强,此消彼长,还是科班出身的最终会取得一个更高的职位和更优异的成绩.但是事无绝对,只是从一般情况来说是这样.
5.关于师生
如博客O[3]所说:“我心目中理想的师生关系是什么?是Coach/Trainee(健身教练/健身学院)的关系”。
我部分认同这个观点,因为更准确地说,学生和老师之间没有直接利益关系,老师领的是学校的工资,水一天课是一天,认真上课也是一天,取决于老师个人的责任心以及作为老师的使命感.遇到认真负责的老师,我们也会心怀感谢,并且更积极地投入到课程的互动当中.
参考资料:
【1】http://blog.csdn.net/haoel/article/details/1688104
【2】https://news.cnblogs.com/n/531362/
【3】http://wap.sciencenet.cn/blogview.aspx?id=1100240