美國加州大學伯克利分校計算機科學專業(yè)介紹

字號:

   加州大學伯克利分校的計算機科學專業(yè)設置有很多獨樹一幟的地方,尤其在專業(yè)基礎課方面,除了有專業(yè)導引課程“計算機科學專題”外,對于沒有編程經(jīng)驗的學生,第一門課是符號編程入門,采用LISP語言,而對于有一定編程經(jīng)驗的學生,則可以選擇多種語言和環(huán)境的自主學習(Self-paced)課程,包括C、Fortran、C++、Java,以及UNIX的使用等。
    這種多元化與伯克利計算機科學與電子電氣工程同系有關,但是所有學生在第二學期都要學習一組獨特的基礎課:61A“計算機程序的結構與解釋”,采用MIT Abelson等編著的同名教材(中譯本機械工業(yè)出版社出版,清華大學出版社出版了影印版);61B“數(shù)據(jù)結構”(教材采用自編講義);61C“計算機結構”(Machine Structures),采用Hennessy的《計算機組織與設計》(中譯本清華大學出版社出版,機械工業(yè)出版社出版了影印版)。這項規(guī)定就是轉校生也不例外,可見其中蘊涵了伯克利多年的教學經(jīng)驗結晶。
    UC-B其他比較有特點的課程還有:將離散數(shù)學和概率論結合講授的CS70,主講是名教授Christos Papadimitriou;CS98-1 編程練習課,以主要大學生編程競賽中的賽題為授課素材;CS 169 軟件工程直接用Kent Beck的《極限編程》(人民郵電出版社出版了中譯本)作為教材,非常超前,但是既然連Pressman的《軟件工程:實踐者方法》新版中敏捷方法都已經(jīng)成為重頭戲,既然IEEE都已經(jīng)開始制定敏捷方法相關標準,這種課程選材也就不顯得那么駭世驚俗了。除了軟件工程課程常見內容外,教學側重實際,貫穿了極限編程的思想,涵蓋UML、JUnit單元測試、軟件架構、設計模式和反模式、重構、CVS版本控制、系統(tǒng)和集成測試,最后要求完成一個實際產(chǎn)品,并進行演示。