電腦科學

来源:www.uuuwell.com

   

computer science,研究電腦及其周圍各種現象和規律的科學,亦即研究電腦系統結構、程序系統(即軟體)、人工智慧以及計算本身的性質和問題的學科。電腦科學是一門包含各種各樣與計算和信處理相關主題的系統學科,從抽象的演算法分析、形式化語法等等,到更具體的主題如編程語言、程序設計、軟體和硬體等。電腦科學分為理論電腦科學和實驗電腦科學兩個部分。後者常稱為「電腦科學」而不冠以「實驗」二字。前者有其他名稱,如計算理論、電腦理論、電腦科學基礎、電腦科學數學基礎等。數學文獻中一般指理論電腦科學。

研究領域

  電腦是一種進行算術和邏輯運算的機器,而且對於由若乾颱電腦聯成的系統而言還有通信問題,並且處理的對象都是信息,因而也可以說,電腦科學是研究信息處理的科學。電腦科學分為理論電腦科學和實驗電腦科學兩個部分。在數學文獻中所說的電腦科學,一般是指理論電腦科學。實驗電腦科學還包括有關開闢電腦新的應用領域的研究。   電腦科學的大部分研究是基於「馮·諾依曼電腦」和「圖靈機」的,它們是絕大多數實際機器的計算模型。作為此模型的開山鼻祖,邱奇-圖靈論題(Church-Turing Thesis)表明,儘管在計算的時間,空間效率上可能有所差異,現有的各種計算設備在計算的能力上是等同的。儘管這個理論通常被認為是電腦科學的基礎,可是科學家也研究其它種類的機器,如在實際層面上的並行電腦和在理論層面上概率電腦、oracle 電腦和量子電腦。在這個意義上來講,電腦只是一種計算的工具:著名的電腦科學家 Dijkstra 有一句名言「電腦科學之關注于電腦並不甚於天文學之關注于望遠鏡。」。

研究課題

  電腦程序能做什麼和不能做什麼(可計算性);   如何使程序更高效的執行特定任務(演算法和複雜性理論);   程序如何存取不同類型的數據(數據結構和資料庫);   程序如何顯得更具有智能(人工智慧);   人類如何與程序溝通(人機互動和人機界面)。

相關獎項

  電腦科學領域的最高榮譽是ACM設立的圖靈獎,被譽為是電腦科學的諾貝爾獎。它的獲得者都是本領域最為出色的科學家和先驅。華人中首獲圖靈獎的是姚期智先生.他于2000年以其對計算理論做出的諸多「根本性的、意義重大的」貢獻而獲得這一崇高榮譽。

電腦系統分類

  電腦系統可劃分為軟體系統與硬體系統兩大類。

硬體

  結構控制和指令系統   演算法和邏輯結構   存儲器結構   馮·諾伊曼結構   哈佛結構   輸入/輸出和數據通信   數字邏輯   邏輯設計   集成電路   電腦系統組織   電腦系統結構   電腦網路   分散式計算   網路安全   電腦系統實現

軟體

  系統軟體   操作系統   編譯器   應用軟體   電腦遊戲   辦公自動化   網路軟體   CAD軟體   電腦程序   程序設計和程序設計實踐   面向對象技術   程序設計語言   軟體工程   軟體復用   驅動程序   電腦模擬   程序設計方法學   數據和信息系統   數據結構   數據存儲表示   數據加密   數據壓縮   編碼與資訊理論   文件   信息系統   管理信息系統   決策支持系統- 專家系統   資料庫   信息存儲和數據存取   信息交互與表達   主要的研究領域   形式化基礎   邏輯學   謂詞邏輯   模態邏輯   時序邏輯   描述邏輯   數學   泛代數   遞歸論   模型論   概率論數理統計   邏輯代數   布爾代數   離散數學   組合數學   圖論   網論   資訊理論   理論電腦科學   形式語言   自動機   可計算性   演算法   計算複雜性   描述複雜性   編譯器   程序設計理論   資訊理論   類型理論   指稱語義   微程序   遺傳演算法   並行計算   計算方法學   人工智慧   電腦圖形學   圖像處理與電腦視覺   模式識別   語音識別   文字識別   簽名識別   人臉識別   指紋識別   模擬與建模   數字信號處理   文檔與文本處理   電腦應用   數值計算   數值分析   定理機器證明   電腦代數   工程計算   電腦化學   電腦物理   生物信息論   計算生物學   非數值計算   工廠自動化   辦公室自動化   人工智慧   信息存儲與檢索   符號語言處理   電腦輔助科學   電腦輔助設計   電腦輔助教學   電腦輔助管理   電腦輔助軟體工程   機器人學   多媒體技術   人機交互   電子商務   特定技術   測試基準   機器視覺   數據壓縮   軟體設計模式   數字信號處理   文件格式   信息安全   國際互聯網路   超大規模集成電路設計   網路傳輸協議   網路處理器技術   整數運算器   浮點運算器   矩陣運算處理器   網格   計算科學史   電腦歷史   軟體業歷史   編程思想

相關學科

  電腦科學與另外的一些學科緊密相關。這些學科之間有明顯的交叉領域,但也有明顯的差異。   信息科學 - 軟體工程 - 信息系統 - 電腦工程 - 信息安全 - 密碼學- 數學 - 工程學- 語言學 - 邏輯學

發展歷史

  電腦科學中的理論部分在第一台數字電腦出現以前就已存在。電腦科學根植于電子工程、數學和語言學,是科學、工程和藝術結晶。它在20世紀最後的三十年間興起成為一門獨立的學科,並發展出自己的方法與術語。

20世紀30年代中期

  英國數學家A.M.圖靈和美國數學家E.L.波斯特幾乎同時提出了理想電腦的概念(圖靈提出的那種理想機在後來的文獻中稱為圖靈機)。

40年代

  數字電腦產生后,計算技術(即電腦設計技術與程序設計技術)和有關電腦的理論研究開始得到發展。這方面構成了現在所說的理論電腦科學。至於圖靈機理論,則可以看作是這一學科形成前的階段。至於「電腦科學」一詞則到60年代初才出現,此後各國始在大學中設置電腦科學系。學科內容 電腦科學是一門年輕的科學,它究竟包括哪些內容,還沒有一致公認的看法。一般認為,電腦科學主要包括理論電腦科學、電腦系統結構、軟體工程的一部分和人工智慧。理論電腦科學 理論電腦科學是在20世紀30年代發展起來的。40年代機電的與電子的電腦出現后,關於現實電腦及其程序的數學模型性質的研究以及計算複雜性(早期稱作計算難度)的研究迅速發展起來,形成自動機論、形式語言理論、程序設計理論、演算法設計與分析和計算複雜性理論幾個領域。電腦系統結構

50年代

  50年代以來,電腦的性能在計算速度和編址空間方面已提高了幾個數量級。但大部分是通過元件更新而獲得的。在系統結構方面基本上仍是屬於40年代後期形成的存儲程序型,即所謂諾伊曼型機器。這種結構的主要特點是它屬於控制流型。在這種結構中,一項計算先做什麼后做什麼是事先確定了的,程序中指令的順序是事先確定了的。為了在電腦的性能方面取得大的進展,需要突破這種舊的形式。電腦系統結構方面的重要課題之一,是探索非諾伊曼型機器的設計思想。在非諾伊曼型機器中,有一種是70年代初提出的數據流機器(又名數據驅動機器)。美國、蘇聯和英國都已製成這種機器。這種機器的特點是,在一項計算中先做什麼后做什麼不是事先確定,所執行的指令是動態排序的。排序的原則是操作數已準備就緒的先做,因而稱作數據驅動機器。這種類型的機器更便於實現並行計算。軟體工程 程序設計在相當長的時間內是一種類似「手藝」而不是類似現代工程的技術。

60年代

  60年代以來出現了大程序。這些大程序的可靠性很難保證。到60年代後期,西方國家出現了「軟體危機」。這是指有些程序過於龐大(包含幾十萬條以至幾百萬條指令),成本過高而可靠性則比較差。於是提出了軟體工程的概念,目的在於使軟體開發遵守嚴格的規範,使用一套可靠的方法,從而保證質量。現代軟體工程的方向是形式化和自動化,而形式化的目的在於自動化。這裡所說的自動化就是將程序設計中可以由機器來完成的工作,盡量交給機器去做。中心課題之一是程序工具和環境的研究。程序工具是指輔助人編程序的程序,如編譯程序、編輯程序、排錯程序等;程序環境則是指一套結合起來使用的用來輔助人編程序的程序工具。人工智慧 用電腦模擬人的智能,特別是模擬思維活動的技術及其有關理論。由於人的思維活動離不開語言,而且人對於某一類問題進行思索和探索解法時,總是需要以關於這一類問題的基本知識(專業知識或常識)作為出發點。於是,知識表示和機器對自然語言的理解就構成人工智慧的兩個重要領域。所謂知識表示,是指將原來用自然語言表示的知識轉換成用符號語言表示的,從而可以儲存在機器內供機器使用的知識。人工智慧的研究角度有探索法的角度和演算法的角度。通常所說的解題演算法是指機械的和總是有結果的方法,而這裡所說的演算法卻是廣義的,包括那些機械的而在使用時不一定有結果的演算法。這種方法時常稱作半可判定的方法。人在解決問題時,時常採用探索法。這種方法具有「試錯法」的性質,也就是說,試驗若干條途徑,一條路走不通時再試另一條,直到問題得到解決時為止。機器可以模擬人用探索法解題的思維活動。但由於可能途徑的數目非常之大,不可能進行窮舉式的探索。人一般是只選出一些最有希望得到結果的途徑去進行探索。人的這種能力,就是進行創造性思維的能力。這是機器極難模擬的事情。採用演算法角度,使用特定的解題演算法或半可判定的方法時,會遇到另一方面的困難。那就是當問題的複雜程度較高時(比如說是指數的),即使問題是有結果的,機器也無法在實際可行的時間內得到結果。在電腦出現的初期,人們曾寄希望于機器的高速度,以為在模擬人的思維時,機器可能用它的高速度來換取它所不具有的創造性思維。但通過「組合性爆炸」問題(「組合性爆炸」是指一些組合數學中的問題,在參數XX時,計算時間的增長率時常是指數的,甚至高於指數),人們認識到,單純靠速度不能繞過組合性爆炸所產生的障礙。有無辦法來克服這種困難,尚有待于進一步研究。與其他學科的關係 電腦是由物理元件構成的,迄今主要是由電子元件構成的。因此,物理學的一些分支和電子工程便構成電腦科學的基礎。同時,電腦科學在一定意義上是演算法的科學,而演算法是一個數學概念。因此,數學的某些分支如演算法理論(即可算性理論,又名遞歸函數論)也構成電腦科學的基礎。但電腦科學已發展成為一門獨立的技術科學,既不是電子學的一個分支,也不是數學的一個分支。這是就這個學科的整體而言。至於理論電腦科學,由於它可以看作是電腦科學的數學基礎,在一定意義上,可以看作是數學的一個分支。另一個與電腦科學有密切關係的學科是控制論。控制論作為應用數學方法來研究機械系統和生命系統中的控制和通信現象的學科,同電腦科學有內容上的交叉,但後者不是它的一部分。自從40年代製成數字電腦以來,電腦的性能有了很大的提高。但在系統結構方面變化不大。一些計算技術發達國家正在研製新一代的電腦。這種電腦的系統結構將與過去40年的機器很不相同,所用的程序設計語言也將是新型的。電腦科學將研究由此出現的新問題,如有關並行計算的問題。   對計算的數學性質的研究大都還是關於串列計算的,對並行計算性質的研究自70年代才發展起來,預計將成為電腦科學的中心課題之一。另一個問題是程序設計的自動化問題。在程序設計方面,明顯的趨勢是將機器能做的盡量交給機器去做。程序環境的研究構成了軟體工程的一個中心課題。形式化方法越來越受到重視,因為它是提高自動化程度所必需的。   早期,雖然英國的劍橋大學和其他大學已經開始教授電腦科學課程,但它只被視為數學或工程學的一個分支,並非獨立的學科。劍橋大學聲稱有世界上第一個傳授計算的資格。世界上第一個電腦科學系是由美國的普渡大學在1962年設立,第一個電腦學院于1980年由美國的東北大學設立。現在,多數大學都把電腦科學系列為獨立的部門,一部分將它與工程系、應用數學系或其他學科聯合

著名高校

  在電腦科學領域排名世界前五的大學:   1.Massachusetts Institute of Technology   2. Carnegie Mellon University   3.Stanford University   4.University of California--Berkeley   5.University of Washington,Seattle

專業介紹

培養目標

  本專業培養德、智、體全面發展,具有電腦應用技術的基礎理論知識,具備電腦及相關設備的維護與維修、行業應用軟體、平面圖像處理、廣告設計製作、動畫製作、電腦網路及網站建設與管理、資料庫管理與維護等應用能力和操作能力的高等技術應用性人才。

主要課程

  電腦應用基礎、電腦組裝與維護、電腦區域網絡的建設與管理、網路工程、操作系統、伺服器、資料庫的開發與應用、網站建設與網頁設計、C/C++語言、Visual Basic語言、平面設計、3D圖形設計、多媒體設計、專業英語。

就業方向

  畢業生主要面向交通系統各單位、交通信息化與電子政務建設與應用部門、各類電腦專業化公司、廣告設計製作公司、汽車營銷技術服務等從事IT行業工作。

推薦閱讀