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