大學里面學編程最直接的專業(yè)就是軟件工程,軟件工程 (Software Engineering,簡稱為SE)是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學科。
它涉及到程序設計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標準,設計模式等方面。下面的幾門課程是必學的重要課程:[計算機體系結(jié)構(gòu)和匯編語言]-關于體系結(jié)構(gòu)的書遍地都是,而且也大同小異,倒是匯編有一本非常好的書?!?0×86匯編語言程序設計教程》(清華大學出版社,黑色封面,楊季文著)。需要著重學習386后保護模式的程序設計。否則在學習現(xiàn)代操作系統(tǒng)底層的一些東西的時候會覺得是在看天書。[計算機操作系統(tǒng)原理]-開發(fā)總是在特定的操作系統(tǒng)上進行,如果不是,只有一種可能:在自己實現(xiàn)一個操作系統(tǒng)。無論如何,操作系統(tǒng)原理是必讀的。這就象為一個芯片制作外圍設備時,芯片基本的工作時序是必需了解的。這一類書也很多,沒有發(fā)現(xiàn)哪一本書非常出眾。只是覺得在看完了這些書后如果有空就應該看看《Inside Windows 2000》(微軟出版社。[數(shù)據(jù)結(jié)構(gòu)和算法]-這門課程能夠決定一個人程序設計水平的高低,是一門核心課程。首選的是清華版的(朱戰(zhàn)立,劉天時)。很多人喜歡買C++版的,但覺得沒有必要。C++的語法讓算法實現(xiàn)過程變得復雜多了,而且許多老師喜歡用模塊這一東西讓算法變得更復雜。倒是在學完了C版的書以后再來瀏覽一下C++的版的書是最好的。[軟件工程]-這門課程是越到后來就越發(fā)現(xiàn)它的重要,雖然剛開始看時就象看馬哲一樣不知所云。建議是看《實用軟件工程》(黃色,清華)。不要花太多的時間去記條條框框,看不懂就跳過去。在每次自己完成了一個軟件設計任務(不管是練習還是工作)以后再來回顧回顧,每次都會有收獲。[Windows 程序設計]-《北京大學出版社,Petzold著》建議任何企圖設計Windows 程序的人在學習VC以前仔細的學完它。而且前面的那本《Inside Windows 2000》也最好放到這本書的后面讀。在這本書中,沒有C++,沒有GUI,沒有控件。有的就是如何用原始的C語言來完成Windows 程序設計。在學完了它以后,才會發(fā)現(xiàn)VC其實是很容易學的。千萬不要在沒有看完這本書以前提前學習VC,最好碰都不要碰。知道的許多名校甚至都已經(jīng)用它作為教材進行授課??梢娖渲匾?。