在計算機專業(yè)你將學習很多抽象化的概念。因為計算機溝通要求精確性,因此你必須學會使用精確的程序語言。在學習的過程中,你會被要求思考很多的問題,例如,為什么編程語言被設計成現(xiàn)在這樣?現(xiàn)實問題如何轉化并編譯成一個程序,并成功解決該現(xiàn)實問題?當一個程序被執(zhí)行時,計算機內部是如何運行的?計算機如何構建才能使其功能運轉?計算機和程序對于各個領域都有什么影響?
一些大學注重實用性技術,一些則注重抽象概念和最新技術前沿理論。另外,一些大學要求學生要有很強的數(shù)學和邏輯背景。計算機科學是一個很有難度,充滿挑戰(zhàn)性的行業(yè),學生的項目和作業(yè)都需要長時間的消耗,它也是一個年輕的,充滿機遇但又對智力要求非常高的領域。如果你癡迷與抽象化思考以及實踐性應用,那么計算機科學將很適合你。
CS大體可以分為三大類,分別是研究理論層面的、系統(tǒng)軟件層面的還有計算機應用層面的。
研究理論層面就包括:
(1)計算理論(Theory of computation):是關于計算和計算機械的數(shù)學理論;
(2)計算幾何學(Computational geometry);
(3)并行計算(Parallel computation);
(4)形式化方法(formal method);
(5)程序設計語言理論(Theory of programming language):是研究書寫計算機程序語言的學科;
(6)人工智能(Artificial Intelligence)。
計算理論是學計算機的基礎。多年以前,計算機系很多都是包括在數(shù)學系的。要選擇這個方向的學生,需要具備比較高的數(shù)學功底和電腦基礎性語言的知識儲備。由于所涉及的研究領域比較枯燥和難懂,申請這些方向的人比較少,申請難度不是很大。
系統(tǒng)軟件層面就包括:
(1)體系結構(System Architecture);
(2)網(wǎng)絡與通訊 Network and Communication;
(3)面向對象 Object-oriented;
(4)約束程序設計 Programming Design;
(5)軟件工程 Software Engineering;
(6)軟件質量控制 Software Quality Control;
(7)實時系統(tǒng)與嵌入式系統(tǒng) Real-time and Imbedded System;
(8)數(shù)據(jù)庫系統(tǒng)( Database System):用戶使用數(shù)據(jù)庫的計算機軟件/硬件資源的集合,即采用了數(shù)據(jù)庫技術的計算機系統(tǒng);
(9)大規(guī)模計算中的I/O:在大規(guī)模計算中實現(xiàn)計算機主機與外圍設備進行信息交換的技術。
系統(tǒng)軟件層面的這些方向是中國的計算機科學系培養(yǎng)的大學生的中心方向。所以每年有很多的申請者申請這個方向里的內容。主要集中在網(wǎng)絡與通訊,軟件工程,數(shù)據(jù)庫系統(tǒng)等幾個方向,這幾個方向的競爭性比較大。因此條件一般的申請者注意避開上面幾個專業(yè)方向申請會把握比較大。
計算機應用層面就包括:
(1)科學與工程計算:這個范圍很廣,簡單說說就有:生物信息處理,天氣預報等;
(2)電子商務與數(shù)字化圖書館;
(3)人機交互;
(4)計算機教育:用于教學,培養(yǎng)計算機人才。
計算機應用層面下的細分方向在很多學校會結合在前面兩個方向之中,特別分出一個專業(yè)方向的會很少。教學的內容主要是應用式的。由于這個方向的技術難度不大而且研究深度相比前面兩個也略淺,所以每年都吸引了不少CS背景不太強的申請者,而同時一些本科是管理學院下的信息管理和電子商務的也到這個方向上分一杯羹。