先谈大学里的学习,上学时间打基础还是得靠上课,课外做项目顶多也只能是速成,不可能有很深的造诣。
我学习一直是兴趣导向,主要是去上感兴趣的课,这也导致某些课学的比较好,其他课比较烂。
对我现在编程影响最大的要算数据结构和算法,学数据结构时正是从C语言险些没及格的阴影中走出来,而进入到C++的世界。
当时教我们的是王老师,讲着不标准的普通话,课程却很精彩,作业也不多,适合程序员去上。
在这门课里学到了不少东西,把我的兴趣提得更高了,半年学下来,有很多收获。
以至于到现在写程序总会发现这样写效率可能不太好,因为算法不合理,或者数据组织不合理等等
至少自己能感觉到,我想能感觉到也是好事吧,以后可以慢慢改善。
这里讲讲大学里比较重要的几门课:
1.数据结构和算法、编译原理
现在语言很多,很多书说21天学会一门语言,如果你有数据结构和算法的扎实基础,21天没准儿真能掌握一门新的语言。
算法比较难,很难在一学期的课里学懂(本人就是没搞懂),但常用算法你还是要会用的。
编译原理同样比较难,但对一个程序员来说十分重要,简单点说你学的所有语言都是在某一编译器上运行的(不太标准),你都熟悉编译器了,还怕写不好程序?
2.软件工程,面对对象程序设计
软件工程,讲的尽是理论,你工作了会发现,你做得一切都是依着软件工程转的,包括近些年来流行的XP,敏捷,其精神还是离不开软件工程。
面对对象程序设计,大学期间很难搞懂其精髓,但能学个半懂对你以后开发出合理的软件也是有帮助的。
3.数据库和网络
数据库不用讲,就是现在的XML那么NB,离开数据库,它还是不能单打天下。学数据库,重点学理论,写SQL简单的很,没有理论,你不懂范式,写不出好的SQL。
网络,计算机离开网络,你只能当个没用的手机用。对于这门课,因为我自己没学好,而现在对我的影响不是很大,主要是因为我做应用层开发。
如果你以后想搞通信,那你还是别学我,上课只抄作业。如果你以后去搞网站开发什么的,那熟悉下简单的一些协议也差不多了。
4.计算机组成原理,操作系统
这两门是基础,也是大学和外面培训机构的差别。一个硬件,一个软件,学好了对你以后很有帮助。
另外,学好数学,因为计算机就是学数学的人发明的,呵呵
以上主要讲了大学课程的学习,很多人说,大学学的东西没用,所以很多学生,在大学期间就去买些VB,ASP.NET的书学,做些小系统,觉得自己NB。
我也有过这样的经历,不过实在不建议大学这样,大学的基础课,你想学好,绝对能让你过个充实的四年。
如果你确实学习能力比较强,学校安排的课都学的游刃有余,你可以学点实际的东西,这里说的实用绝对不是让你买本21天精通啥
而是要写点实际的程序,最好的办法是去找你的老师,让他给你介绍些东西做,这样一来有人管理,你也不可能偷懒而不了了之。
比如你学过VC++,那就学下MFC,编个QQ什么的来,如果开了网页方面的课,你不妨学学怎么开发个网站。
绝对不建议你开发很多的东西,四年做一个项目,用不同的方式实现,不断改进。
在面试时,你说我用五种不同的语言实现了一个系统。
或者说:我开发了一个通信的小工具,可以C/S、B/S两种模式运行。
也可以说,我做了一个软件,经过两年改进,程序运行效率提高了30%。
以上就是我对于学习的想法和经验,不定适合每个人,但作为大学计算机专业的学生,应该有点作为
强烈建议学计算机的人多看看程序员杂志,多来博客园逛逛。
你会学到更多东西。