D 的个人博客

全职做开源,自由职业者

  menu

2006年度学习总结

自从20059月入学学习软件工程这个专业以来,自己一直都在尽力学习,因为我知道自己的兴趣就是在IT上。大一开始学习C语言,感觉是那么的有兴趣,整天在实验室里写实验,写自己的练习程序,很爽的感觉。然后就正式进入了06年的学习。首先是寒假……

一年前的这个时候,回到家里,整天就是看下个学期要学的专业课——汇编语言程序设计、离散数学,还学习了MFC窗口编程、J2SE。基本也是整天都在写程序。开学的时候汇编和离散数学已经基本看完了,MFCJ2SE也学了个大概。

063月,在刚开学的时候,遇到了几个影响我比较大的学长。他们告诉了我在本科阶段,最有价值的程序是Purec C/C++的,最好不要或者少做MFC之类的东西;Java.NET最好选一个好好学(虽然那个时候不知道什么是平台,不过现在也不是很清楚,呵呵);学好数据结构,编译原理;最好提早准备毕业设计……这些都是他们给我的很好的建议或忠告,也是他们的一些学习经验与总结,让我少走了不少的弯路吧!

大一下学期学了很多东西,准确地说是在找方向,自己毕竟太喜欢这个专业了。那时候又深入了一点J2SE,学了HTMLPHP等网页编程,学了些信息安全方面的东西,学了数据结构,算法设计基础,操作系统和网络原理方面的基础知识,安装并学习使用Linux。做了一堆C和汇编的实验——文件搜索、QQ木马、大量的256bits字串对比程序(就是在上百万条的256bits字串里找出重复的字串,这些字串是MD5生产的。这个程序是为了验证MD5算法的随机性。)、一些数论程序(求排列、组合、素数、幂集……)、缓冲区溢出、软件破解……总之,大一下学期学了很多方向的东西,从底层一点到高层一点的都有。学这些,其实都是在找方向,找一个自己最擅长,最有兴趣的方向以后深入下去。人不可能有全才的,找一个自己擅长的方向才能学好、学精。

经过了大一下学期的摸索,我发现我对操作系统、数据结构与算法设计相当感兴趣。在一个学长要毕业的时候我去了他们宿舍,买了他的一些书和教材,他还拷了6G多的电子书给我,都是关于计算机的。我后来将这些书的书名都放在我的Blog里了,有需要的可以发邮件给我,方便像我一样的人学习。在5月份的时候去另一个学长的宿舍里知道了IA-32开发手册的事,知道了有国家软件水平考试。IA-32现在家里一套,宿舍里一套^_^!关于国家软件水平考试,我向那个学长买了他的考试教程——《软件设计师教程》,准备在大二下学期(也就是这个寒假收假)考。就这样,大一下学期完了。

在暑假里,首先是认真学习大二上学期的专业课程——数据结构。暑假里,用C实现了课本上的所有的数据结构,因为也选了门选修课——C++,所以用模板重写了大部分的数据结构。还有就是看操作系统的书,看IA-32,看软设的教程。那时候是想0611月的时候去试考一下,看下这种考试是怎么个考法。不过自己也不甘心100RMB就这么浪费!所以好好看了半个多月的《软件设计师教程》,后来居然过了!在大二上学期就过软设的人当中有了我一个^^这也是我第一次这么认真对待自己喜欢的东西,对于我这个从不拿考试当回事的人来说……考试通过只是结果,其实在学习的过程中我明白了很多东西,最重要的一点就是从总体上体会了软件工程思想,并将这些应用到了平时的学习与实验中。只要自己有时间,每次实验的报告和相关文档是应该认真地写一下的。还记得在学校里,有一个星期,7天我通宵了5天,做实验和写文档……

这个学期除了软设过了,还有一件事就是选的大三上学期的专业课——数据库也过了,很多同学也和我一样。我觉得这样很好,能学什么尽量地学,把课程提早结束最好。

好了,说了那么多,下面是个条目性的总结:

  • 根据兴趣找准学习的侧重点,除非相当有用,不然没兴趣的东西尽浅尝辄止。
  • 关注新技术的发展,但一定不要追新,一定要学好C/C++,学好计算机结构体系。
  • 领悟面向对象的含义,将面向对象的思想实践到自己的代码里。一定要有精通面向对象的理念。
  • 学好所有基础学科,如模电/数电、高等数学、数据结构、编译原理、离散数学等。
  • 少做窗口编程,如VBMFC,多做Command Line
  • 不要浮燥,要耐心,要坚持。
  • 一定要有超前意识,在自己兴趣的范围内,能多学什么就多学。
  • .NETJava至少要了解一个,目前自己主要是朝着.NET的方向学的,坦诚地讲,我是喜欢Microsoft的。我相信在未来10多年内,MS的地位是难以捍动的,.NET是主导的平台,而不是Java
  • 尽量多地写有用的程序,程序功能不一定要有多强,但一定要高效。

关于写程序,代码风格是相当重要的,好的风格是一个好的程序的开始。自己写的代码比较有价值的一定保存下来,以后还可以用上。我统计了我从大一入学到现在,一共写了40000多行的代码,其中主要是C\C++的……另就是当自己写的程序出问题的时候一定要自己调试,一个程序员的调试水平是和他的编程水平成正比的。

整个06年里我觉得我获得了很多,是目前我大学时代获得最多的一年,在这一年里我解决了很多疑惑,但同时也给我带来更多疑惑……

06年末,随着学期的结束,我又对计算机业有了一个更深的认识,更明确了自己的方向——操作系统、人工智能。这是两个都很大的领域,我应该更具体化自己的发展方向,然后努力之。疑惑之一就是关于未来是否考研的事。在考软设的时候已经基本把软件工程专业的相关教材大概看了一遍。明白了在本科离我自己的理想还比较遥远,我一直想为人类社会进步做出点贡献,就像一些科学巨匠那样,为后代造福。不过这话听起来可能太.了,可是这就是我一直的理想。为了这个理想,只有继续学习才行的。现在人工智能又刚刚复兴,自己也相当感兴趣,看了一些书后,觉得应该往这方面发展,实现自己的理想!所以可能要考研……疑惑之二就是关于CET-4的,真的不知道是否要考,我真的不想考这个,哎!

软设过了以后,自己的下一个短期目标就是系分了,准备在07年内考过(5月一次,11月一次),在学了系分相关知识后,可能看事物的角度又和现在不一样了,现在的疑惑可能又能解决了:-),呵呵,人是在不断完善自我的嘛!

最后,说一下我喜欢的箴言:

  • I dont want anyone meddling in my affairs by telling me how could I ran my life.
  • 英语只是一门工具。
  • The man who has never made a mistake will never make anything else.
  • 我们都是青蛙,坐在或大或小的井里。

   下面的是我自己写的:

  • 学会应付考试也是一种能力。
  • 我从来不认为我比别人多什么或者少什么,我只是我!

 ----

Updates:

Oct 7, 2011 - 重新进行了排版