1. 学好c语言
十年前我上大学的时候,c语言教材是潭浩强编写的教材,现在汕头大学里还是用这本。这么多年了,是否过时?我感觉它依然是大学生的经典C教材,大学生学好了它,基本功就扎实了。数组、字符串、指针、结构体,这些概念必须理解清楚。对指针深刻理解了,以后学数据结构课程就容易了。
讨论中发现学生实际编程不多,主要时间花在看书上。要学好C,学生一定要去做每章后面的习题,这些习题很简单,刚好练手。现在学生条件好,一般都有电脑,装个VC++或者VS很容易。不要去学MFC,用那个最简单的Win32 Console Applian向导生成工程就行了。小平同志说:实践是检验真理的唯一标准;学生一定要动手实践,看看自己是否理解清楚。
2. 学好写作
很多人不理解这个,工作很多年的人也不理解也不赞成这个,但我自己认为这个很重要。大部分人其实不可能去外企,就是外企工作也未必个个全用英文读写。所以现实中,中文其实很重要,需求分析文档、系统设计文档、测试案例、部署文档、系统操作手册、招标书等等,绝大部分国内公司里,这些文档哪一个不是用中文写的呢。也可能我个人特别重视文档吧。
3. 枯燥的课程: 理解好数据结构和操作系统
我大学时学的是c语言版的清华大学编写的<<数据结构>>,现在汕头大学里还是用这本,只是用C++版的了。这个教材也是经典,要学生全弄懂也是十分难的。现实中,我个人的编程经历里,很少自己实现这些数据结构和算法了,基本都是用C++ stl和boost库解决问题,java当然是自身的list和map等够用了。但理解清楚这些数据结构和算法的原理,是很重要的,就是碰到一个问题,自己要很清楚去用什么api来解决,不要搞错了,要会分析时间复杂度和空间复杂度。
至于操作系统,道理也是一样,理解原理是重要的,比如程序、进程、线程、heap、stack等等。
4. 处理好过时的课程
在和学生交谈中,发现一个学生手里一本教材,竟然是《FoxPro》,Visual Foxpro过时了好几年了,竟然大学还在教这个东西;我02年以前有见过,之后真的没有看到了。
建议学生不要把时间耗在这类过时的课程上,能60分及格就行;如果是选修,千万别选了。
5. 假期实习
学校毕竟和企业氛围不同,如果假期能去企业感受一下真实的软件开发,对自己的继续学习是有很大帮助的。当然,去实习之前你应该把基础搞好,不要让企业一天到晚免费培训你,而你却没有给企业任何好处。
6. 参加专业培训
参加专业培训,特别是专业开发人员举办的,这好象是我自己王婆卖瓜了,不好多说了。
参考:《more joel on software》