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》