http://www.cnblogs.com/herso/archive/2009/12/07/1618562.html
大一:
其实大一,没必要学习各种新鲜的技术…..把高等数学学好吧….这才是正事,是决定了着将来你是否能称为一个大牛还是一个编程语言的熟练操作工人的因素…. 也许这时候的你还不知道高等数学有什么作用…
但我要告诉你的是如果你的悟性高…. 工作一两年也许就能体会到数学的做用…. 学高数..不是简简单单的学习微积分…. 在掌握这些知识的时候….锻炼自己的逻辑思维….. 锻炼自己的思考问题解决问题的方法和能力。作用在将来一定大大的….. 等将来如果你涉足密码学…你会发现各种积分方程和矩阵变化…. 将来在计算一个算法的复杂性和证明算法的可靠性时,也离不开数学知识…. 如果你涉足人工智能和语音识别,各种统计模型就会呈现在你面前。在你毕业找工作时,这个才是你和专业培训机构培训出来的学生的差异能力。这才是企业更看重的能力。如果你还有时间的话,学习C语言… 但是不要再用谭浩强的书了…. 看
The C program langue 吧… 如果能真正领悟书中70%的例子话,那就足够了. 如果能把这两门课程学到十分优秀,恭喜你,你已经成功了一半了…..
大二:
如果你在大一学习了C之后,这个时候大学的课程就要涉及操作系统和数据结构、还有汇编语言了…… 这也是大二一定要学好的两门课了……大学的操作系统太失败了,上完课后,很多的学生不知道所云,更加感觉操作系统的神秘了,课程设计也就是什么银行家算法的,然后大家在网上一顿搜索,然后交给老师就算完事了…
其实,我的建议是自己写一个操作系统内核,实现内存管理,进程管理和切换 等一些基础的东西了就可以了,《自己动手写操作系统》就是很好的教材…… 如果还有时间,学习《Linux内核设计与实现》,看看现实商用的操作系统是怎么实现的? 当然最好和原码结合的一起看,效果最好。还有赵炯博士的 “.012Linux内核完全剖析”什么的。如果能仔细阅读,收获一定不少。当然还有数据结构,这个也是重中之中,这也是和非科班出身的学生的差别,关键是你学的好坏,这个的实践主要在ACM上,当学习完数据结构后,最重要的是使用,不断的在Acm上做各种各样的题目,不断的提升自己算法设计的能力。从大二开始,如果能坚持两年下来,那么一般的算法设计肯定是难不住的了,也许这时候高数打下的基础就会起作用了。
当毕业的时候,进入一家好的公司应该不是太难的事情了。再说说汇编语言,本质上这也是一门编程语言,可能刚入门的时候比较困难,但是程序写多了,和C也没有差别了。我还想说一点,就是现在Windows内核也逐步开放了,至少有很多的逆向的资源可以学习。如果对Windows有兴趣,一样可以学习操作系统的实现原理。
大三:
离散数学和编译原理是个重头戏,离散数学虽然我现在还没体会到他的作用,但是和高数一样,这中内在的东西才是最重要的,代表着内功,如果没有学好,这些债迟早还要要还的。 编译原理,学习完以后一样会让你云里雾里,整天做那些无聊的题目。还是说实践吧,网上有开源的C编译器的源码,下载下来然后好好学习下,结合编译原理书中讲的东西,好好的消化一些这些知识,最后,自己如果能写出来一个C编译器的话,那你的编译原理也就通过了。当然这个时候可以学习一些C++或Java之类语言,但是学到够平时用的就可以了,没有学非常深。选择一本教材学习两三个月就行了。
当然,这个时候,可能你的同学已经能做出来各种漂亮的网页,也可能熟练的使用MFC类库做出各种各样的漂亮的软件,这些没什么,如果三年下来,如果你能够按照上面我写的那样坚持学习。也许他们用三年学习的这些东西,你用三个月就能熟练。
大四:
到了找工作的时候,如果你按照上面一步一个脚印的学习,我相信你会收到很多大公司的offer。因为大公司更看重的是你的内功的深厚,而小公司才会看重那些花拳绣腿的技术。但是这个时候,千万不要忘记继续学习,很多的学生大四一年都浪费掉了,真实太可惜了,在前面三年的基础上,到了厚积薄发的时候了,
开始要思考自己的职业规划了,你要选择Linux方向还是Windows方向,要选择底层方向还是应用方向,
要选择网页方向还是桌面应用方向。是选择自然语言处理还是人工智能。这个时候你要选择自己的一个方向,当然你可以向你的导师求助,然后确定自己的发展方向,大四一年就可以专心的学习了。
4. 附上我认为计算机学习比较好辅助教材:
C语言: the C Program Language
操作系统; 于渊:《自己动手写操作系统》
《Linux内核设计与实现》
《Linux内核完全剖析》
《Linux内核情景分析》
《Windows内核情景分析》
编译原理: 龙书《编译原理》
汇编: 王爽老师《汇编第二版》
5. 后记
以上都是自己在工作后对大学四年的反思,可能很多人有不一样的看法,我没有任何异议。毕竟每个人经历是不一样的,但是如果你向想做真正的计算机科班出身的学生,学好上面介绍的课程吧。在以后的职业生涯中,你会终身受益的。当然上面很多的课程我没有提到,并不代表他们不需要学习,只是分量没有那么重而已。因为你还是要毕业的,每门功课还是要过的。zds
当然,我现在认为,计算机的本科四年真是一个打基础的四年,之后才是学习各种招式,如果基础打好了,招式的学习会事半功倍的。当进入公司后,一样要持续不断的学习,才能让你不断的进步。自己文采不好,写的比较乱,但都是肺腑之言,各位将就看吧。zds