[转载]一个计算机本科生的理想学习计划——作者:徐晴阳?!
2008-03-22 15:45
2007-12-02 11:32
自己不是学计算机本科出身的,但这让我多了一种旁观者的清醒。如果自己的本科生可以重来并且选择了计算机专业,我的学习生活会这样度过:
1。在保证不挂科的前提下尽可能地逃课,理由很简单,现在的本科生课程设置既不合理又极其过时,很多课程完全是浪费时间,惟一的例外是数学课,但不包括高等数学,尽可能地学好概率论和线性代数;
2。现在国外的经典计算机原版教材引进的很多,从大一就开始坚持阅读原版教材(国内教材是国外的拷贝,但却能完全泯灭你的学习兴趣),这样一方面保证了教 材的质量,也间接提高了自己的英语能力(这比大学英语课程中学到的多得多);
3。尽一切可能提高自己的动手和实践能力,一个很好的办法是参与各种开源项目的开发之中,比如SourceForge上面的项目,这一方面全方位地提高了自己的动手能力,而且能产生强烈的成就感和学习兴趣;
4。尽可能在Unix/Linux平台下使用计算机,实际上这一点和第3点是紧密关联的,因为除非是采用跨平台的JAVA开发开源项目,绝大多数开源项目都是在这个平台上的;
5。在掌握C/C++、JAVA语言后,精通其中一门编程语言,语言都是共通的,不要浪费精力去学习像VB、Delphi这样仅有商业价值的语言,但可以尝试一种脚本语言,包括Perl/Python/Ruby;
6。多在数据结构和算法上下功夫,无论计算机各种新技术怎样层出不究,基本功永远是最重要的;
7。人工智能、机器学习这些研究性领域可以留待读研后去学习,它们在实际项目开发中使用得很少;
8。多看像www.csdn.net这样的IT领域最新技术信息的网站,保持对各种新技术的敏感。
最后把自己的原版教材按照知识的依赖关系列举如下:
1。先学C语言,教材可采用和C语言一样简洁的经典教材《The C Programming Language》,不要只学那些考试常考的内容,像最后的文件操作也是非常实用和重要的内容;
2。有了C语言基础后,可 以学习“操作系统”这门课,这方面自己看得不多,但一定要选用国外的经典教材,最好是最新版的(可能《The Design of the UNIX Operationg System》不错,虽然自己还没看过);
3。有了C语言和操作系统的知识基础,阅读《Advanced Programming in UNIX Environment》的第2版;
4。学习使用Unix/Linux系统,用英文系统的,学会VI或Emacs的一种、Make、GDB等工具的使用方法;
5。学习C++语言,阅读《C++ Primer》的第3版,在理解面向对象机理之余别忘了熟悉标准库的使用方法,国内的授课内容仅限于前者,但后者其实更重要,这门语言是所有语言中最复杂 的,想在一个学期学完它本来就不现实,但最新版的《C++ Primer》兼顾了两方面的内容而且篇幅也比以前精炼许多;不推荐看《The C++ Programming Language》,它不适合初学者;
6。学习JAVA语言,可以看《Thinking in JAVA》,但其实java.sun.com网站上的tutorial也不错,内容最新又很适合入门;
7。学习“数据结构”和“算法”,教材用《Introduction to Algorithm》,网上有可以下载的课堂录像,是非常宝贵的学习资料;
8。学习一门动态脚本语言,推荐《Learning Perl》;
9。学习数据库和SQL语言,这方面自己了解不多,但感觉了解一下即可。
10。祝贺你,你已经是一名优秀的计算机本科毕业生了,虽然你没学过“离散数学”,没学过“编译原理”,没学过“高等数学”,没学过“毛概“、“邓论”。
|
|