計算機科學(一門科學領域)

計算機科學(一門科學領域)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

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

基本介紹

  • 中文名:計算機科學
  • 外文名:Computer Science簡寫為;CS
  • 學科門類:一級學科
  • 台灣地區稱謂:資訊工程(CSIE)
簡介,研究領域,科學領域,理論計算機,計算理論,信息編碼論,算法,程式設計理論,形式化方法,並發,並行和分散式系統,資料庫和信息檢索,套用計算機科學,人工智慧,機器翻譯,計算機體系結構與工程,計算機圖形與視覺,計算機安全和密碼學,計算科學,信息科學,軟體工程,研究課題,相關獎項,系統分類,硬體,軟體,專業院校,相關學科,發展歷史,30年代,40年代,50年代,60年代,著名高校,專業介紹,培養目標,主要課程,就業方向,

簡介

計算機科學(英語:computer science,有時縮寫為CS)是系統性研究信息與計算的理論基礎以及它們在計算機系統中如何實現與套用的實用技術的學科。它通常被形容為對那些創造、描述以及轉換信息的算法處理的系統研究。計算機科學包含很多分支領域;有些強調特定結果的計算,比如計算機圖形學;而有些是探討計算問題的性質,比如計算複雜性理論;還有一些領域專注於怎樣實現計算,比如程式語言理論是研究描述計算的方法,而程式設計是套用特定的程式語言解決特定的計算問題,人機互動則是專注於怎樣使計算機和計算變得有用、好用,以及隨時隨地為人所用。
有時公眾會誤以為計算機科學就是解決計算機問題的事業(比如信息技術),或者只是與使用計算機的經驗有關,如玩遊戲、上網或者文字處理。其實計算機科學所關注的,不僅僅是去理解實現類似遊戲、瀏覽器這些軟體的程式的性質,更要通過現有的知識創造新的程式或者改進已有的程式。

研究領域

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

科學領域

作為一個學科,計算機科學涵蓋了從算法的理論研究和計算的極限,到如何通過硬體和軟體實現計算系統。CSAB(以前被叫做Computing Sciences Accreditation Board),由Association for Computing Machinery(ACM)和IEEE Computer Society(IEEE-CS)的代表組成,確立了計算機科學學科的4個主要領域:計算理論,算法與數據結構,編程方法與程式語言,以及計算機元素與架構。CSAB還確立了其它一些重要領域,如軟體工程,人工智慧,計算機網路與通信,資料庫系統,並行計算,分散式計算,人機互動,機器翻譯,計算機圖形學,作業系統,以及數值和符號計算。

理論計算機

廣義的理論計算機科學包括經典的計算理論和其它專注於更抽象、邏輯與數學方面的計算。

計算理論

主條目:計算理論
按照Peter J. Denning的說法,計算機科學的最根本問題是“什麼能夠被有效地自動化?”計算理論的研究就是專注於回答這個根本問題,關於什麼能夠被計算,去實施這些計算又需要用到多少資源。為了試圖回答第一個問題,遞歸論檢驗在多種理論計算模型中哪個計算問題是可解的。而計算複雜性理論則被用於回答第二個問題,研究解決一個不同目的的計算問題的時間與空間消耗。
著名的“P=NP?”問題,千禧年大獎難題之一,是計算理論的一個開放問題。

信息編碼論

資訊理論與信息量化相關,由Claude E. Shannon創建,用於尋找信號處理操作的根本極限,比如壓縮數據和可靠的數據存儲與通訊。編碼理論是對編碼以及它們適用的特定套用性質的研究。編碼(code)被用於數據壓縮,密碼學,前向糾錯,也被用於網路編碼。研究編碼的目的在於設計更高效、可靠的數據傳輸方法。

算法

算法指定義良好的計算過程,它取一個或一組值作為輸入,經過一系列定義好的計算過程,得到一個或一組輸出。算法是計算機科學研究的一個重要領域,也是許多其他計算機科學技術的基礎。算法主要包括數據結構計算幾何圖論等。除此之外,算法還包括許多雜項,如模式匹配、部分數論等。

程式設計理論

程式設計語言理論是計算機科學的一個分支,主要處理程式設計語言的設計、實現、分析、描述和分類,以及它們的個體特性。它屬於計算機科學學科,既受影響於也影響著數學軟體工程語言學。它是公認的計算機科學分支,同時也是活躍的研究領域,研究成果被發表在眾多學術期刊,計算機科學以及工程出版物。

形式化方法

主條目:形式化方法
形式化方法是一種特別的基於數學的技術,用於軟體硬體系統的形式規範、開發以及形式驗證。在軟體和硬體設計方面,形式化方法的使用動機,如同其它工程學科,是通過適當的數學分析便有助於設計的可靠性和健壯性的期望。但是,使用形式化方法會帶來很高的成本,意味著它們通常只用於高可靠性系統,這種系統中安全保全(security)是最重要的。對於形式化方法的最佳形容是各種理論計算機科學基礎種類的套用,特別是計算機邏輯演算,形式語言自動機理論和形式語義學,此外還有類型系統、代數數據類型,以及軟體和硬體規範和驗證中的一些問題。

並發,並行和分散式系統

並行性(concurrency)是系統的一種性質,這類系統可以同時執行多個可能互相互動的計算。一些數學模型,如Petri網進程演算PRAM模型,被創建以用於通用並發計算。分散式系統將並行性的思想擴展到了多台由網路連線的計算機。同一分散式系統中的計算機擁有自己的私有記憶體,它們之間經常交換信息以達到一個共同的目的。

資料庫和信息檢索

資料庫是為了更容易地組織、存儲和檢索大量數據。資料庫由資料庫管理系統管理,通過資料庫模型查詢語言來存儲、創建、維護和搜尋數據。

套用計算機科學

儘管計算機科學(computer science)的名字里包含計算機這幾個字,但實際上計算機科學相當數量的領域都不涉及計算機本身的研究。因此,一些新的名字被提議出來。某些重點大學的院系傾向於術語計算科學(computing science),以精確強調兩者之間的不同。丹麥科學家Peter Naur建議使用術語"datalogy",以反映這一事實,即科學學科是圍繞著數據和數據處理,而不一定要涉及計算機。第一個使用這個術語的科學機構是哥本哈根大學Datalogy學院,該學院成立於1969年,Peter Naur便是第一任教授。這個術語主要被用於北歐國家。同時,在計算技術發展初期,《ACM通訊》建議了一些針對計算領域從業人員的術語:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三個月後在同樣的期刊上,comptologist被提出,第二年又變成了hypologist。術語computics也曾經被提議過。在歐洲大陸,起源於信息(information)和數學或者自動(automatic)的名字比起源於計算機或者計算(computation)更常見,如informatique(法語),Informatik(德語),informatika(斯拉夫語族)。
著名計算機科學家Edsger Dijkstra曾經指出:“計算機科學並不只是關於計算機,就像天文學並不只是關於望遠鏡一樣。”("Computer science is no more about computers than astronomy is about telescopes.")設計、部署計算機和計算機系統通常被認為是非計算機科學學科的領域。例如,研究計算機硬體被看作是計算機工程的一部分,而對於商業計算機系統的研究和部署被稱為信息技術或者信息系統。然而,現如今也越來越多地融合了各類計算機相關學科的思想。計算機科學研究也經常與其它學科交叉,比如心理學認知科學語言學數學物理學統計學經濟學
計算機科學被認為比其它科學學科與數學的聯繫更加密切,一些觀察者說計算就是一門數學科學。早期計算機科學受數學研究成果的影響很大,如Kurt Gödel和Alan Turing,這兩個領域在某些學科,例如數理邏輯範疇論域理論代數,也不斷有有益的思想交流。
計算機科學和軟體工程的關係是一個有爭議的話題,隨後關於什麼是“軟體工程”,計算機科學又該如何定義的爭論使得情況更加混亂。David Parnas從其它工程和科學學科之間的關係得到啟示,宣稱計算機科學的主要重點總的來說是研究計算的性質,而軟體工程的主要重點是具體的計算設計,以達到實用的目的,這樣便構成了兩個獨立但又互補的學科。

人工智慧

主條目:人工智慧
這個計算機科學分支旨在創造可以解決計算問題,以及像動物和人類一樣思考與交流的人造系統。無論是在理論還是套用上,都要求研究者在多個學科領域具備細緻的、綜合的專長,比如套用數學邏輯符號學電機工程學精神哲學神經生理學社會智力,用於推動智慧型研究領域,或者被套用到其它需要計算理解與建模的學科領域,如金融或是物理科學。人工智慧領域開始變得正式源於Alan Turing這位人工智慧先驅提出了圖靈試驗,以回答這樣一個終極問題:“計算機能夠思考嗎?”

機器翻譯

主條目:機器翻譯
1947年,美國數學家工程師沃倫·韋弗與英國物理學家、工程師安德魯·布思提出了以計算機進行翻譯(簡稱“機譯”)的構想,機器翻譯從此步入歷史舞台,並走過了一條曲折而漫長的發展道路。機譯被列為21世紀世界十大科技難題。與此同時,機譯技術也擁有巨大的套用需求。
機譯消除了不同文字和語言間的隔閡,堪稱高科技造福人類之舉。但機譯的譯文質量長期以來一直是個問題,離理想目標仍相差甚遠。中國數學家、語言學家周海中教授認為,在人類尚未明了大腦是如何進行語言的模糊識別和邏輯判斷的情況下,機譯要想達到“信、達、雅”的程度是不可能的。這一觀點恐怕道出了制約譯文質量的瓶頸所在。

計算機體系結構與工程

計算機系統結構,或者數字計算機組織,是一個計算機系統的概念設計和根本運作結構。它主要側重於CPU的內部執行和記憶體訪問地址。這個領域經常涉及計算機工程和電子工程學科,選擇和互連硬體組件以創造滿足功能、性能和成本目標的計算機。

計算機圖形與視覺

主條目:計算機圖形學
計算機圖形學是對於數字視覺內容的研究,涉及圖像數據的合成和操作。它跟計算機科學的許多其它領域密切相關,包括計算機視覺圖像處理計算幾何,同時也被大量運用在特效電子遊戲

計算機安全和密碼學

計算機安全是計算機技術的一個分支,其目標包括保護信息免受未經授權的訪問、中斷和修改,同時為系統的預期用戶保持系統的可訪問性和可用性。密碼學是對於隱藏(加密)和破譯(解密)信息的實踐與研究。現代密碼學主要跟計算機科學相關,很多加密和解密算法都是基於它們的計算複雜性。

計算科學

計算科學(或者科學計算)是關注構建數學模型量化分析技術的研究領域,同時通過計算機分析和解決科學問題。在實際使用中,它通常是計算機模擬計算等形式在各個科學學科問題中的套用。

信息科學

主條目:信息科學

軟體工程

主條目:軟體工程
軟體工程是對於設計、實現和修改軟體的研究,以確保軟體的高質量、適中的價格、可維護性,以及能夠快速構建。它是一個系統的軟體設計方法,涉及工程實踐到軟體的套用。

研究課題

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

相關獎項

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

系統分類

計算機系統可劃分為軟體系統與硬體系統兩大類。

硬體

結構控制和指令系統
算法和邏輯結構
存儲器結構
哈佛結構
輸入/輸出和數據通信
數字邏輯
計算機系統組織
計算機系統實現

軟體

系統軟體
網路軟體
CAD軟體
電腦程式
程式設計和程式設計實踐
驅動程式
數據和信息系統
數據結構
數據存儲表示
編碼與資訊理論
檔案
信息系統
決策支持系統- 專家系統
資料庫
信息存儲和數據存取
信息互動與表達
主要的研究領域
形式化基礎
謂詞邏輯
模態邏輯
網論
資訊理論
理論計算機科學
可計算性
算法
計算複雜性
描述複雜性
編譯器
資訊理論
類型理論
指稱語義
微程式
並行計算
計算方法學
人工智慧
圖像處理與計算機視覺
文字識別
簽名識別
仿真與建模
文檔與文本處理
計算機套用
數值計算
計算機物理
非數值計算
工廠自動化
人工智慧
符號語言處理
計算機輔助科學
計算機輔助管理
電子商務
特定技術
測試基準
數據壓縮
數位訊號處理
超大規模積體電路設計
網路處理器技術
整數運算器
浮點運算器
計算科學史
計算機歷史
軟體業歷史
編程思想

專業院校

美國開設計算機科學專業的院校
普渡大學西拉法葉分校,維吉尼亞大學密西根大學安娜堡分校喬治城大學維克森林大學耶魯大學哥倫比亞大學華盛頓大學卡內基梅隆大學喬治亞理工學院加州理工學院,麻省理工學院,史丹福大學,加州大學伯克利分校,伊利諾伊大學香檳分校,威斯康星大學麥迪遜分校,倫斯勒理工學院,哈佛大學,俄勒岡大學。

相關學科

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

發展歷史

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

30年代

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

40年代

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

50年代

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

60年代

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

著名高校

在計算機科學領域排名世界前五的大學:
1. Carnegie Mellon University卡內基梅隆大學
2. Massachusetts Institute of Technology麻省理工學院
3. Stanford University史丹福大學
4. University of California -Berkeley加州大學伯克利分校
5. Cornell University康奈爾大學
5. University of Illinois-Urbana Champaign伊利諾伊大學香檳分校

專業介紹

培養目標

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

主要課程

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

就業方向

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

相關詞條

熱門詞條

聯絡我們