計算機學習路線

原文來自:http://www.rupeng.com/forum/thread-9537-1-1.html

 

 

 

這裏分享一下我的學習路線,希望對大家有個啓發.
     最開始的第一門課應該是“C 語言程序設計”,這基本上屬於你日後一切學習的開始,簡單說這門課程的主要目的和內容就是介紹一種計算機語言的語法內容,至於怎麼學好它,之前的文章都談過了,這裏就不羅嗦了。

 


     之後的課程會分爲三條線,第一條線的第一門課程是“數據結構與算法”。這很簡單,一些有了語言基礎之後,爲了更好的使用語言去解決問題,就必須學習結構知識和算法。

 


     請注意.“數據結構與算法”的後續課程是什麼?答案應該是《編譯原理》。很奇怪吧?課程就是這樣設計的,其實這個路線也不是我發明的,國外大學的CS Course 的體系也是這麼設計的。編譯原理說白了就是介紹編譯器如何工作的,是讓計算機理解計算機語言的一種方法和理論。這個工作過程之中蘊含了大量的算法,而且是非常複雜的算法,很多人甚至認爲編譯原理是計算機專業本科階段最難的一門課程。主要就是因爲這裏面的算法太複雜,當然也會用到很多結構,樹可能是用得最多的。當然,這就是相當於是數據結構與算法課程的一個後續性課程,類似一道附加題。最近聽一個學生說有些學校本科已經取消這門課了,我想應該是較少一部分學校的做法吧。不過,中國的學習並不太重視這門課倒是真的。一般課程設置

 


就是一個學期左右的課時。但是一般的國外學校這門課都要學上1 年,甚至兩年之久。這條線路到編譯這裏就應該是終點了。

 


     在你具有了一定C 語言基礎之後,除了前面講的第一條路線以外,你已經可以開始下面這條路線的學習了。

 


     爲了更好地探究計算機系統的研究機制,在學習了C 語言之後,下面一門需要學習的課程是“彙編語言和微機接口技術”,這門課程包含兩部分的內容,一部分就是彙編語言,彙編是一種更底層的語言(相對於C 而言),說白了它就是一種“用助記符描述的機器語言”。
很多人剛學彙編的時候都覺得很複雜,因爲它跟硬件緊密相關,就是那些個寄存器也夠初學者糊塗一陣子的。這門課程的另外一部分內容是微機接口技術,目前國內高校這部分內容都是基於80X86 系列芯片的。已經可以看到這門課其實涉及到了很多硬件的知識,其實還不
止,關於I/O 控制,寄存器,中斷,這門課裏都有體現的。

 


       接下來要學習的內容就是《計算機組成原理與體系結構》。其實我特別奇怪,有讀者認爲在學習C 語言之前,或者在學習其他專業課程之前,最先要學的就是這個東西。我不知道大家是不是覺得大學第一門專業課就是這個,我覺得這麼想的人是不且實際,信口開河的。這門課程還是比較深的一門課程,在彙編和接口之後安排這門課程是比較的。不過國外的一些先進的計算機教育體系確實也有在較開始的時候開設一門概論課來作爲導引,有時候叫Computer System Introduction,有時候叫Computer Culture,其實內容差不多,但作爲計算機專業課程的導引課程,這些課程的設置裏面已經設計到組原和OS 的初步內容了。但這和Computer Structrue & Architecture 還是有區別的。

 


      接下來的一門課程是《計算機操作系統》,如果外行聽起來可能覺得這個課應該是學如何使用操作系統的吧,就像“WindowsXP 速成”?非也!這門課程是講OS 是如何設計的,或者說是如何實現一個O S(當然做要比說起來難多了)。之所以這門課程被安排在組原之後,那是因爲這反映了一種自底向上的學習路線。操作系統當然是在計算機系統之上來搭建的。向調度啊、虛擬內存啊這些問題都是由操作系統來控制的。最後一條路線屬於應用型的,也就是說當你學完了基本的原理之後,一方面爲了日後更好的工作,另一方面如果從事研究工作也可擇其一而繼續深入探究,那麼最好總之要上升到一定應用層面的東西。

 


     在你有了一定的C 基礎之後,學校可能會開一些面向對象程序設計方面的課程,可能是C++或者Java,因爲面向對象的語言在實際開發中正廣泛的被使用。無論是C++還是Java,跟C 來說本質上都是語言,只不過他們多了一些OOP 方面的特性。

 


     接下來的一門課程應該是“數據庫系統”,這門課不是教你怎麼使用SQL SERVER 或者DB2 的,學校裏的課程遠沒這麼前沿。數據庫系統這門課依然偏重更多理論,儘管數據庫相比於組原和OS 來說已經是上層建築了。這門課講的多是些數據庫系統設計方面的原則,例如如何解決關係問題或者SQL 語言等等。再之後可能會學的課程是“計算機網絡”,這門課裏會更加系統的向你介紹網絡方面的知識,TCP、UDP,HTTP 這些名詞會粉末登場。注意這門課一般不是教授你如何佈網的,例如如何配置路由器這種東西一般是CCNA 裏面的內容了。這門課裏講的更多的是上層原理與協議。

          希望大家都能保持一顆平常心,苦練內功心法,戒驕戒躁,平和的埋頭學習吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章