CS領域介紹
黃寶儀 6/29/05
一. 領域發展沿革
計算機科學是科學與工程的結晶。它在20世紀最後的三十年間興起成為一門獨立的學科,並發展出自己的方法與術語。計算機科學的大部分研究是基於Von Neumann Computer和Turing Machine。 Von Neumann Computer是第一個實體電腦。 Turing Machine並非實體機器。他是一種將實際問題表達成可以在實體電腦自行運作的方式。因為提出Turing Machine,Allen Turing被視為現代計算機科學的開山鼻祖。 計算機科學領域的最高榮譽就是ACM設立的Turing Award,被譽為是計算機科學的諾貝爾獎。獲獎者都是本領域最為出色的科學家和先驅。
Allen Turing提出並証明若干現實的問題可以用抽象的Turing Machine表達。這些Turing Machine化後的問題,可經過實體電腦的運作自動求得解答。簡單的說,以Turing Machine的方式我們可以定義實際問題中牽涉的資料與計算。有點類似如何將攝氏轉華氏溫度的問題規劃編寫成電腦程式,然後在像Von Neumann Computer這樣的實體電腦上自動執行。 現在看起來這樣的概念似乎沒什麼了不起,但是在一個世紀前提這樣的idea著實讓很多科學工程界的專家學者瞠目結舌。Turing Machine開啟了CS中理論與軟體發展的先河。計算理論,演算法,資料結構,程式語言,資料庫系統,人工智慧, 軟體工程,機器學習,計算機圖學等研究主題先後出現。
Von Neumann Computer之後計算機硬體設計也逐漸成長。帶領計算機結構,作業系統,編譯程式,分散式系統,平行處理,與計算機網路等題目的衍生。現今除了極為普及的個人電腦外,科學家也研究其它種類的電腦,例如在實體的平行電腦和在理論層面上的機率電腦、oracle 電腦和量子電腦。但是整體來說,電腦只是一種計算的工具,CS領域並不侷限在「做電腦」,著名的計算機科學家 Dijkstra就這麼說「計算機科學並不只是關於電腦,就好像天文學並不只是關於望遠鏡一樣」。
"Computer Science is no more about computers than astronomy is about telescopes. "
-- E. W. Dijkstra
二. 重要探討課題
計算機科學的發展重點可概分為五大主軸:計算機理論,計算機結構,計算機軟體,計算機系統與計算機網路。計算機理論為Turing Machine的延續,著重在如何用嚴謹的推演證明解法的正確性與可行性。計算機結構則為承續Von Neumann Computer關於實體電腦的學門,著重在如何將電腦的組成結構最佳化,來達到快速運算的目的。
計算機軟體是五大主軸的中流砥柱,為計算機理論之後,軟體方面,較切近實際希望再軟體包含近一二十年來軟體系統發展需要的基本技術。發展極早的科目如資料結構與演算法,在想法上偏向於如何將人腦已知的解答用電腦自動運算的方式呈現。較近年的技術如人工智慧與圖形辨識則肇基於如何讓電腦做類似人腦的邏輯演譯與模糊學習。在想法上與早期相當不同。
計算機系統是Von Neumann Computer計算機結構的延伸,著重於如何設計有效控制管理實體電腦的作業系統軟體。近年的探討議題兩大潮流為平行與分散式的叢集計算系統,還有漸趨微小與功能特殊的嵌入式系統。計算機網路在國外通常被視為極度分散式的系統,與計算機系統系出同源。議題上偏重於這樣極度分散式系統電腦與電腦之間的通訊。
目前在CS領域的重要探討課題歸納如下:
三. 發展現況及前景
台灣經濟發展驅動力,已由一九六O至七O年代資本密集階段,進展到八O年代技術密集階段,進入廿一世紀將是以知識驅動創新與成長的階段。由世界經濟論壇(World Economic Forum, WEF)所發行之二OO二一二OO三年全球競爭力報告結果,台灣在「創新政策」與「創新聚落」排名分居第五位與第四位,代表台灣在智慧財產權保護以及政府提升產業競爭力之政策已具成效。二OO四年台灣資訊產業產值為六八四億美元(含海外生產),而國際主要資訊大廠對台灣資訊採購金額超過五百億美元,顯示台灣已成為全球資訊軟硬體重要供應地區,且主要為資訊大廠進行代工生產,人才需求若渴。
四. 相關基礎課程
簡單的說,台大電機裡的CS(計算機科學)就是資工。一般資工系的核心課程台大電機都有開設。有別於一般資工系偏重軟體或電機系偏重硬體的訓練,台大電機覺得國家未來電子資訊人才必須兼有軟硬體的基礎。以目前競爭激烈的電子資訊產業來看,兼有軟硬體的基礎,才能夠在設計時針對相對需求與限制最佳化,進而提升台灣在國際上的競爭力。因此在大一大二的必修課中可見計算計概論與電子學等資訊與電子基礎課程,大三大四可針對個別興趣選修較深入的課程。台大電機的同學有許多在兩年左右的電機資訊基礎課程洗禮後選擇往CS領域進修。 圗一顯示課程間的關聯性。同學們若有意更上一層樓,可以參考上列的領域探討課題介紹,選擇相關較深入的研究所課程休息,充實自己,打好基礎。此外,同學們可從網路與多媒體實驗課中學到很多寶貴的實作經驗,應把握機會選修。
圖一.台大電機系CS組課程流程圖
|