大學英語 -不要以爲可笑。我極力推薦這門課程是由於沒有專業文檔的閱讀能力是不可想象的。 中文的翻譯每每在猴年馬月纔會出來,而如今的許多出版社乾脆就直接把E文印刷上去。 學習的方法是強迫本身看原版的教材,開始會看不懂,用多了天然熟練。 吃得苦下得狠心絕對是任何行業都須要的品質。程序員
計算機體系結構和彙編語言 -關於體系結構的書遍地都是,並且也大同小異, 卻是彙編有一本很是好的書《80x86彙編語言程序設計教程》(清華大學出版社,黑色封面,楊季文著)。 你須要着重學習386後保護模式的程序設計。不然你在學習現代操做系統底層的一些東西的時候會以爲是在看天書。算法
計算機操做系統原理 -咱們的開發老是在特定的操做系統上進行,若是不是,只有一種可能:你在本身實現一個操做系統。 不管如何,操做系統原理是必讀的。這就象咱們爲一個芯片製做外圍設備時,芯片基本的工做時序是必需瞭解的。 這一類書也不少,我沒有發現哪一本書很是出衆。 只是以爲在看完了這些書後若是有空就應該看看《Inside Windows 2000》(微軟出版社,我看的是E文版的,中文的書名想必是Windows 2000 技術內幕之類吧)。 關於學習它的必要性,ZDNET上的另外一篇文章已經有過論述。數據結構
數據結構和算法 -這門課程可以決定一我的程序設計水平的高低,是一門核心課程。我首選的是清華版的(朱戰立,劉天時)。 不少人喜歡買C++版的,但我以爲沒有必要。C++的語法讓算法實現過程變得複雜多了,並且許多老師喜歡用模塊這一東西讓算法變得更復雜。 卻是在學完了C版的書之後再來瀏覽一下 C++的版的書是最好的。數據結構和算法
軟件工程 -這門課程是越到後來就愈加現它的重要,雖然剛開始看時就象看馬哲同樣不知所云。 個人建議是看《實用軟件工程》(黃色,清華)。 不要花太多的時間去記條條框框,看不懂就跳過去。 在每次本身完成了一個軟件設計任務(不論是練習仍是工做)之後再來回顧回顧,每次都會有收穫。ide
Windows 程序設計 -《北京大學出版社,Petzold著》我建議任何企圖設計Windows 程序的人在學習VC之前仔細的學完它。 並且前面的那本《Inside Windows 2000》也最好放到這本書的後面讀。 在這本書中,沒有C++,沒有GUI,沒有控件。有的就是如何用原始的C語言來完成Windows 程序設計。 在學完了它之後,你纔會發現VC實際上是很容易學的。千萬不要在沒有看完這本書之前提早學習VC,你最好碰都不要碰。 我知道的許多名校甚至都已經用它做爲教材進行授課。可見其重要。學習
上面的幾門課程我認爲是必學的重要課程(若是你想作Windows 程序員)。操作系統
對於其它的課程有這樣簡單的選擇方法:若是你是計算機系的,請學好你全部的專業基礎課。 若是不是,請參照計算機系的課程表。 若是你發現本身看一本書時沒法看下去了,請翻到書的最後,看看它的參考文獻,找到它們並學習它們,再回頭看這本書。 若是一本書的書名中帶有「原理」兩個字,你必定不要去記憶它其中的細節,你應該以一天至少50頁的速度掌握其要領。 儘量多的在計算機上實踐一種理論或者算法。翻譯