計算機科學(xué),研究計算機及其周圍各種現(xiàn)象和規(guī)律的科學(xué),亦即研究計算機系統(tǒng)結(jié)構(gòu)、程序系統(tǒng)(即軟件)、人工智能以及計算本身的性質(zhì)和問題的學(xué)科。

中文名

計算機科學(xué)

外文名

Computer Science

學(xué)科門類

一級學(xué)科

簡寫

CS

臺灣地區(qū)稱謂

資訊工程(CSIE)

科學(xué)領(lǐng)域

作為一個學(xué)科,計算機科學(xué)涵蓋了從算法的理論研究和計算的極限,到如何通過硬件和軟件實現(xiàn)計算系統(tǒng)。CSAB(以前被叫做Computing Sciences Accreditation Board),由Association for Computing Machinery(ACM)和IEEE Computer Society(IEEE-CS)的代表組成,確立了計算機科學(xué)學(xué)科的4個主要領(lǐng)域:計算理論,算法與數(shù)據(jù)結(jié)構(gòu),編程方法與編程語言,以及計算機元素與架構(gòu)。CSAB還確立了其它一些重要領(lǐng)域,如軟件工程,人工智能,計算機網(wǎng)絡(luò)與通信,數(shù)據(jù)庫系統(tǒng),并行計算,分布式計算,人機交互,機器翻譯,計算機圖形學(xué),操作系統(tǒng),以及數(shù)值和符號計算。

簡介

計算機科學(xué)(英語:computer?science,有時縮寫為CS)是系統(tǒng)性研究信息與計算的理論基礎(chǔ)以及它們在計算機系統(tǒng)中如何實現(xiàn)與應(yīng)用的實用技術(shù)的學(xué)科。它通常被形容為對那些創(chuàng)造、描述以及轉(zhuǎn)換信息的算法處理的系統(tǒng)研究。計算機科學(xué)包含很多分支領(lǐng)域;有些強調(diào)特定結(jié)果的計算,比如計算機圖形學(xué);而有些是探討計算問題的性質(zhì),比如計算復(fù)雜性理論;還有一些領(lǐng)域?qū)W⒂谠鯓訉崿F(xiàn)計算,比如編程語言理論是研究描述計算的方法,而程序設(shè)計是應(yīng)用特定的編程語言解決特定的計算問題,人機交互則是專注于怎樣使計算機和計算變得有用、好用,以及隨時隨地為人所用。

理論計算機

主條目:理論計算機科學(xué)

廣義的理論計算機科學(xué)包括經(jīng)典的計算理論和其它專注于更抽象、邏輯與數(shù)學(xué)方面的計算。

計算理論

主條目:計算理論

按照Peter J. Denning的說法,計算機科學(xué)的最根本問題是“什么能夠被有效地自動化?”計算理論的研究就是專注于回答這個根本問題,關(guān)于什么能夠被計算,去實施這些計算又需要用到多少資源。為了試圖回答第一個問題,遞歸論檢驗在多種理論計算模型中哪個計算問題是可解的。而計算復(fù)雜性理論則被用于回答第二個問題,研究解決一個不同目的的計算問題的時間與空間消耗。

著名的“P=NP?”問題,千禧年大獎難題之一,是計算理論的一個開放問題。

信息編碼論

主條目:信息論和編碼理論

信息論與信息量化相關(guān),由Claude E. Shannon創(chuàng)建,用于尋找信號處理操作的根本極限,比如壓縮數(shù)據(jù)和可靠的數(shù)據(jù)存儲與通訊。編碼理論是對編碼以及它們適用的特定應(yīng)用性質(zhì)的研究。編碼(code)被用于數(shù)據(jù)壓縮,密碼學(xué),前向糾錯,也被用于網(wǎng)絡(luò)編碼。研究編碼的目的在于設(shè)計更高效、可靠的數(shù)據(jù)傳輸方法。

算法

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

程序設(shè)計理論

主條目:程序設(shè)計語言理論

程序設(shè)計語言理論是計算機科學(xué)的一個分支,主要處理程序設(shè)計語言的設(shè)計、實現(xiàn)、分析、描述和分類,以及它們的個體特性。它屬于計算機科學(xué)學(xué)科,既受影響于也影響著數(shù)學(xué)、軟件工程和語言學(xué)。它是公認的計算機科學(xué)分支,同時也是活躍的研究領(lǐng)域,研究成果被發(fā)表在眾多學(xué)術(shù)期刊,計算機科學(xué)以及工程出版物。

形式化方法

主條目:形式化方法

形式化方法是一種特別的基于數(shù)學(xué)的技術(shù),用于軟件和硬件系統(tǒng)的形式規(guī)范、開發(fā)以及形式驗證。在軟件和硬件設(shè)計方面,形式化方法的使用動機,如同其它工程學(xué)科,是通過適當(dāng)?shù)臄?shù)學(xué)分析便有助于設(shè)計的可靠性和健壯性的期望。但是,使用形式化方法會帶來很高的成本,意味著它們通常只用于高可靠性系統(tǒng),這種系統(tǒng)中安全或保安(security)是最重要的。對于形式化方法的最佳形容是各種理論計算機科學(xué)基礎(chǔ)種類的應(yīng)用,特別是計算機邏輯演算,形式語言,自動機理論和形式語義學(xué),此外還有類型系統(tǒng)、代數(shù)數(shù)據(jù)類型,以及軟件和硬件規(guī)范和驗證中的一些問題。

系統(tǒng)

主條目:并行性和分布式計算

并行性(concurrency)是系統(tǒng)的一種性質(zhì),這類系統(tǒng)可以同時執(zhí)行多個可能互相交互的計算。一些數(shù)學(xué)模型,如Petri網(wǎng)、進程演算和PRAM模型,被創(chuàng)建以用于通用并發(fā)計算。分布式系統(tǒng)將并行性的思想擴展到了多臺由網(wǎng)絡(luò)連接的計算機。同一分布式系統(tǒng)中的計算機擁有自己的私有內(nèi)存,它們之間經(jīng)常交換信息以達到一個共同的目的。

數(shù)據(jù)庫和信息檢索

主條目:數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫是為了更容易地組織、存儲和檢索大量數(shù)據(jù)。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)管理,通過數(shù)據(jù)庫模型和查詢語言來存儲、創(chuàng)建、維護和搜索數(shù)據(jù)。

應(yīng)用計算機科學(xué)

盡管計算機科學(xué)(computer science)的名字里包含計算機這幾個字,但實際上計算機科學(xué)相當(dāng)數(shù)量的領(lǐng)域都不涉及計算機本身的研究。因此,一些新的名字被提議出來。某些重點大學(xué)的院系傾向于術(shù)語計算科學(xué)(computing science),以精確強調(diào)兩者之間的不同。丹麥科學(xué)家Peter Naur建議使用術(shù)語"datalogy",以反映這一事實,即科學(xué)學(xué)科是圍繞著數(shù)據(jù)和數(shù)據(jù)處理,而不一定要涉及計算機。第一個使用這個術(shù)語的科學(xué)機構(gòu)是哥本哈根大學(xué)Datalogy學(xué)院,該學(xué)院成立于1969年,Peter Naur便是第一任教授。這個術(shù)語主要被用于北歐國家。同時,在計算技術(shù)發(fā)展初期,《ACM通訊》建議了一些針對計算領(lǐng)域從業(yè)人員的術(shù)語:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。三個月后在同樣的期刊上,comptologist被提出,第二年又變成了hypologist。術(shù)語computics也曾經(jīng)被提議過。在歐洲大陸,起源于信息(information)和數(shù)學(xué)或者自動(automatic)的名字比起源于計算機或者計算(computation)更常見,如informatique(法語),Informatik(德語),informatika(斯拉夫語族)。

著名計算機科學(xué)家Edsger Dijkstra曾經(jīng)指出:“計算機科學(xué)并不只是關(guān)于計算機,就像天文學(xué)并不只是關(guān)于望遠鏡一樣?!保?Computer science is no more about computers than astronomy is about telescopes.")設(shè)計、部署計算機和計算機系統(tǒng)通常被認為是非計算機科學(xué)學(xué)科的領(lǐng)域。例如,研究計算機硬件被看作是計算機工程的一部分,而對于商業(yè)計算機系統(tǒng)的研究和部署被稱為信息技術(shù)或者信息系統(tǒng)。然而,現(xiàn)如今也越來越多地融合了各類計算機相關(guān)學(xué)科的思想。計算機科學(xué)研究也經(jīng)常與其它學(xué)科交叉,比如心理學(xué),認知科學(xué),語言學(xué),數(shù)學(xué),物理學(xué),統(tǒng)計學(xué)和經(jīng)濟學(xué)。

計算機科學(xué)被認為比其它科學(xué)學(xué)科與數(shù)學(xué)的聯(lián)系更加密切,一些觀察者說計算就是一門數(shù)學(xué)科學(xué)。早期計算機科學(xué)受數(shù)學(xué)研究成果的影響很大,如Kurt G?del和Alan Turing,這兩個領(lǐng)域在某些學(xué)科,例如數(shù)理邏輯、范疇論、域理論和代數(shù),也不斷有有益的思想交流。

計算機科學(xué)和軟件工程的關(guān)系是一個有爭議的話題,隨后關(guān)于什么是“軟件工程”,計算機科學(xué)又該如何定義的爭論使得情況更加混亂。David Parnas從其它工程和科學(xué)學(xué)科之間的關(guān)系得到啟示,宣稱計算機科學(xué)的主要重點總的來說是研究計算的性質(zhì),而軟件工程的主要重點是具體的計算設(shè)計,以達到實用的目的,這樣便構(gòu)成了兩個獨立但又互補的學(xué)科。

人工智能

主條目:人工智能

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

機器翻譯

主條目:機器翻譯

1947年,美國數(shù)學(xué)家、工程師沃倫·韋弗與英國物理學(xué)家、工程師安德魯·布思提出了以計算機進行翻譯(簡稱“機譯”)的設(shè)想,機器翻譯從此步入歷史舞臺,并走過了一條曲折而漫長的發(fā)展道路。機譯被列為21世紀(jì)世界十大科技難題。與此同時,機譯技術(shù)也擁有巨大的應(yīng)用需求。

機譯消除了不同文字和語言間的隔閡,堪稱高科技造福人類之舉。但機譯的譯文質(zhì)量長期以來一直是個問題,離理想目標(biāo)仍相差甚遠。中國數(shù)學(xué)家、語言學(xué)家周海中教授認為,在人類尚未明了大腦是如何進行語言的模糊識別和邏輯判斷的情況下,機譯要想達到“信、達、雅”的程度是不可能的。這一觀點恐怕道出了制約譯文質(zhì)量的瓶頸所在。

體系結(jié)構(gòu)與工程

主條目:計算機體系結(jié)構(gòu)和計算機工程

計算機系統(tǒng)結(jié)構(gòu),或者數(shù)字計算機組織,是一個計算機系統(tǒng)的概念設(shè)計和根本運作結(jié)構(gòu)。它主要側(cè)重于CPU的內(nèi)部執(zhí)行和內(nèi)存訪問地址。這個領(lǐng)域經(jīng)常涉及計算機工程和電子工程學(xué)科,選擇和互連硬件組件以創(chuàng)造滿足功能、性能和成本目標(biāo)的計算機。

圖形與視覺

主條目:計算機圖形學(xué)

計算機圖形學(xué)是對于數(shù)字視覺內(nèi)容的研究,涉及圖像數(shù)據(jù)的合成和操作。它跟計算機科學(xué)的許多其它領(lǐng)域密切相關(guān),包括計算機視覺、圖像處理和計算幾何,同時也被大量運用在特效和電子游戲。

安全和密碼學(xué)

主條目:計算機安全和密碼學(xué)

計算機安全是計算機技術(shù)的一個分支,其目標(biāo)包括保護信息免受未經(jīng)授權(quán)的訪問、中斷和修改,同時為系統(tǒng)的預(yù)期用戶保持系統(tǒng)的可訪問性和可用性。密碼學(xué)是對于隱藏(加密)和破譯(解密)信息的實踐與研究?,F(xiàn)代密碼學(xué)主要跟計算機科學(xué)相關(guān),很多加密和解密算法都是基于它們的計算復(fù)雜性。

計算科學(xué)

計算科學(xué)(或者科學(xué)計算)是關(guān)注構(gòu)建數(shù)學(xué)模型和量化分析技術(shù)的研究領(lǐng)域,同時通過計算機分析和解決科學(xué)問題。在實際使用中,它通常是計算機模擬和計算等形式在各個科學(xué)學(xué)科問題中的應(yīng)用。

信息科學(xué)

主條目:信息科學(xué)

軟件工程

主條目:軟件工程

軟件工程是對于設(shè)計、實現(xiàn)和修改軟件的研究,以確保軟件的高質(zhì)量、適中的價格、可維護性,以及能夠快速構(gòu)建。它是一個系統(tǒng)的軟件設(shè)計方法,涉及工程實踐到軟件的應(yīng)用。

獎項

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

專業(yè)院校

美國開設(shè)計算機科學(xué)專業(yè)的院校

普渡大學(xué)西拉法葉分校,弗吉尼亞大學(xué),密西根大學(xué)安娜堡分校,喬治城大學(xué),維克森林大學(xué),耶魯大學(xué),哥倫比亞大學(xué),華盛頓大學(xué),卡內(nèi)基梅隆大學(xué),佐治亞理工學(xué)院,加州理工學(xué)院,麻省理工學(xué)院,斯坦福大學(xué),加州大學(xué)伯克利分校,伊利諾伊大學(xué)香檳分校,威斯康星大學(xué)麥迪遜分校,倫斯勒理工學(xué)院,哈佛大學(xué),俄勒岡大學(xué)。

著名高校

在計算機科學(xué)領(lǐng)域排名世界前五的大學(xué):

1. Carnegie Mellon University卡內(nèi)基梅隆大學(xué)

2. Massachusetts Institute of Technology麻省理工學(xué)院

3. Stanford University斯坦福大學(xué)

4. University of California -Berkeley加州大學(xué)伯克利分校

5. Cornell University康奈爾大學(xué)

5. University of Illinois-Urbana Champaign伊利諾伊大學(xué)香檳分校

專業(yè)介紹

培養(yǎng)目標(biāo)

本專業(yè)培養(yǎng)德、智、體全面發(fā)展,具有計算機應(yīng)用技術(shù)的基礎(chǔ)理論知識,具備計算機及相關(guān)設(shè)備的維護與維修、行業(yè)應(yīng)用軟件、平面圖像處理、廣告設(shè)計制作、動畫制作、計算機網(wǎng)絡(luò)及網(wǎng)站建設(shè)與管理、數(shù)據(jù)庫管理與維護等應(yīng)用能力和操作能力的高等技術(shù)應(yīng)用性人才。

主要課程

計算機應(yīng)用基礎(chǔ)、計算機組裝與維護、計算機局域網(wǎng)絡(luò)的建設(shè)與管理、網(wǎng)絡(luò)工程、操作系統(tǒng)、服務(wù)器、數(shù)據(jù)庫的開發(fā)與應(yīng)用、網(wǎng)站建設(shè)與網(wǎng)頁設(shè)計、C/C++語言、VisualBasic語言、平面設(shè)計、3D圖形設(shè)計、多媒體設(shè)計、專業(yè)英語。

就業(yè)方向

畢業(yè)生主要面向交通系統(tǒng)各單位、交通信息化與電子政務(wù)建設(shè)與應(yīng)用部門、各類計算機專業(yè)化公司、廣告設(shè)計制作公司、汽車營銷技術(shù)服務(wù)等從事IT行業(yè)工作。

研究課題

①、計算機程序能做什么和不能做什么(可計算性);

②、如何使程序更高效的執(zhí)行特定任務(wù)(算法和復(fù)雜性理論);

③、程序如何存取不同類型的數(shù)據(jù)(數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫);

④、程序如何顯得更具有智能(人工智能);

⑤、人類如何與程序溝通(人機互動和人機界面)。?

系統(tǒng)分類

計算機系統(tǒng)可劃分為軟件系統(tǒng)與硬件系統(tǒng)兩大類。

硬件

結(jié)構(gòu)控制和指令系統(tǒng)

算法和邏輯結(jié)構(gòu)

存儲器結(jié)構(gòu)

馮·諾伊曼結(jié)構(gòu)

哈佛結(jié)構(gòu)

輸入/輸出和數(shù)據(jù)通信

數(shù)字邏輯

邏輯設(shè)計

集成電路

計算機系統(tǒng)組織

計算機系統(tǒng)結(jié)構(gòu)

計算機網(wǎng)絡(luò)

分布式計算

網(wǎng)絡(luò)安全

計算機系統(tǒng)實現(xiàn)

軟件

系統(tǒng)軟件

操作系統(tǒng)

編譯器

應(yīng)用軟件

計算機游戲

辦公自動化

網(wǎng)絡(luò)軟件

CAD軟件

計算機程序

程序設(shè)計和程序設(shè)計實踐

面向?qū)ο蠹夹g(shù)

程序設(shè)計語言

軟件工程

軟件復(fù)用

驅(qū)動程序

計算機模擬

程序設(shè)計方法學(xué)

數(shù)據(jù)和信息系統(tǒng)

數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)存儲表示

數(shù)據(jù)加密

數(shù)據(jù)壓縮

編碼與信息論

文件

信息系統(tǒng)

管理信息系統(tǒng)

決策支持系統(tǒng)- 專家系統(tǒng)

數(shù)據(jù)庫

信息存儲和數(shù)據(jù)存取

信息交互與表達

主要的研究領(lǐng)域

形式化基礎(chǔ)

邏輯學(xué)

謂詞邏輯

模態(tài)邏輯

時序邏輯

描述邏輯

數(shù)學(xué)

泛代數(shù)

遞歸論

模型論

概率論和數(shù)理統(tǒng)計

邏輯代數(shù)

布爾代數(shù)

離散數(shù)學(xué)

組合數(shù)學(xué)

圖論

網(wǎng)論

信息論

理論計算機科學(xué)

形式語言

自動機

可計算性

算法

計算復(fù)雜性

描述復(fù)雜性

編譯器

程序設(shè)計理論

信息論

類型理論

指稱語義

微程序

遺傳算法

并行計算

計算方法學(xué)

人工智能

機器翻譯

計算機圖形學(xué)

圖像處理與計算機視覺

模式識別

語音識別

文字識別

簽名識別

人臉識別

指紋識別

仿真與建模

數(shù)字信號處理

文檔與文本處理

計算機應(yīng)用

數(shù)值計算

數(shù)值分析

定理機器證明

計算機代數(shù)

工程計算

計算機化學(xué)

計算機物理

生物信息論

計算生物學(xué)

非數(shù)值計算

工廠自動化

辦公室自動化

人工智能

信息存儲與檢索

符號語言處理

計算機輔助科學(xué)

計算機輔助設(shè)計

計算機輔助教學(xué)

計算機輔助管理

計算機輔助軟件工程

機器人學(xué)

多媒體技術(shù)

人機交互

電子商務(wù)

特定技術(shù)

測試基準(zhǔn)

機器視覺

數(shù)據(jù)壓縮

軟件設(shè)計模式

數(shù)字信號處理

文件格式

信息安全

國際互聯(lián)網(wǎng)絡(luò)

超大規(guī)模集成電路設(shè)計

網(wǎng)絡(luò)傳輸協(xié)議

網(wǎng)絡(luò)處理器技術(shù)

整數(shù)運算器

浮點運算器

矩陣運算處理器

網(wǎng)格

計算科學(xué)史

計算機歷史

軟件業(yè)歷史

編程思想??

學(xué)科

計算機科學(xué)與另外的一些學(xué)科緊密相關(guān)。這些學(xué)科之間有明顯的交叉領(lǐng)域,但也有明顯的差異。

信息科學(xué) - 軟件工程 - 信息系統(tǒng) - 計算機工程 - 信息安全 -密碼學(xué)- 數(shù)學(xué) -工程學(xué)- 語言學(xué) - 邏輯學(xué)

發(fā)展歷史

計算機科學(xué)中的理論部分在第一臺數(shù)字計算機出現(xiàn)以前就已存在。計算機科學(xué)根植于電子工程、數(shù)學(xué)和語言學(xué),是科學(xué)、工程和藝術(shù)的結(jié)晶。它在20世紀(jì)最后的三十年間興起成為一門獨立的學(xué)科,并發(fā)展出自己的方法與術(shù)語。?

30年代

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

40年代

數(shù)字計算機產(chǎn)生后,計算技術(shù)(即計算機設(shè)計技術(shù)與程序設(shè)計技術(shù))和有關(guān)計算機的理論研究開始得到發(fā)展。這方面構(gòu)成了所說的理論計算機科學(xué)。至于圖靈機理論,則可以看作是這一學(xué)科形成前的階段。至于“計算機科學(xué)”一詞則到60年代初才出現(xiàn),此后各國始在大學(xué)中設(shè)置計算機科學(xué)系。學(xué)科內(nèi)容 計算機科學(xué)是一門年輕的科學(xué),它究竟包括哪些內(nèi)容,還沒有一致公認的看法。一般認為,計算機科學(xué)主要包括理論計算機科學(xué)、計算機系統(tǒng)結(jié)構(gòu)、軟件工程的一部分和人工智能。理論計算機科學(xué) 理論計算機科學(xué)是在20世紀(jì)30年代發(fā)展起來的。40年代機電的與電子的計算機出現(xiàn)后,關(guān)于現(xiàn)實計算機及其程序的數(shù)學(xué)模型性質(zhì)的研究以及計算復(fù)雜性(早期稱作計算難度)的研究迅速發(fā)展起來,形成自動機論、形式語言理論、程序設(shè)計理論、算法設(shè)計與分析和計算復(fù)雜性理論幾個領(lǐng)域。計算機系統(tǒng)結(jié)構(gòu)?

50年代

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

60年代

60年代以來出現(xiàn)了大程序。這些大程序的可靠性很難保證。到60年代后期,西方國家出現(xiàn)了“軟件危機”。這是指有些程序過于龐大(包含幾十萬條以至幾百萬條指令),成本過高而可靠性則比較差。于是提出了軟件工程的概念,目的在于使軟件開發(fā)遵守嚴(yán)格的規(guī)范,使用一套可靠的方法,從而保證質(zhì)量?,F(xiàn)代軟件工程的方向是形式化和自動化,而形式化的目的在于自動化。這里所說的自動化就是將程序設(shè)計中可以由機器來完成的工作,盡量交給機器去做。中心課題之一是程序工具和環(huán)境的研究。程序工具是指輔助人編程序的程序,如編譯程序、編輯程序、排錯程序等;程序環(huán)境則是指一套結(jié)合起來使用的用來輔助人編程序的程序工具。人工智能 用計算機模擬人的智能,特別是模擬思維活動的技術(shù)及其有關(guān)理論。由于人的思維活動離不開語言,而且人對于某一類問題進行思索和探索解法時,總是需要以關(guān)于這一類問題的基本知識(專業(yè)知識或常識)作為出發(fā)點。于是,知識表示和機器對自然語言的理解就構(gòu)成人工智能的兩個重要領(lǐng)域。所謂知識表示,是指將原來用自然語言表示的知識轉(zhuǎn)換成用符號語言表示的,從而可以儲存在機器內(nèi)供機器使用的知識。人工智能的研究角度有探索法的角度和算法的角度。通常所說的解題算法是指機械的和總是有結(jié)果的方法,而這里所說的算法卻是廣義的,包括那些機械的而在使用時不一定有結(jié)果的算法。這種方法時常稱作半可判定的方法。?

人在解決問題時,時常采用探索法。這種方法具有“試錯法”的性質(zhì),也就是說,試驗若干條途徑,一條路走不通時再試另一條,直到問題得到解決時為止。機器可以模擬人用探索法解題的思維活動。但由于可能途徑的數(shù)目非常之大,不可能進行窮舉式的探索。人一般是只選出一些最有希望得到結(jié)果的途徑去進行探索。人的這種能力,就是進行創(chuàng)造性思維的能力。這是機器極難模擬的事情。采用算法角度,使用特定的解題算法或半可判定的方法時,會遇到另一方面的困難。那就是當(dāng)問題的復(fù)雜程度較高時(比如說是指數(shù)的),即使問題是有結(jié)果的,機器也無法在實際可行的時間內(nèi)得到結(jié)果。在計算機出現(xiàn)的初期,人們曾寄希望于機器的高速度,以為在模擬人的思維時,機器可能用它的高速度來換取它所不具有的創(chuàng)造性思維。但通過“組合性爆炸”問題(“組合性爆炸”是指一些組合數(shù)學(xué)中的問題,在參數(shù)增大時,計算時間的增長率時常是指數(shù)的,甚至高于指數(shù)),人們認識到,單純靠速度不能繞過組合性爆炸所產(chǎn)生的障礙。有無辦法來克服這種困難,尚有待于進一步研究。與其他學(xué)科的關(guān)系 計算機是由物理元件構(gòu)成的,迄今主要是由電子元件構(gòu)成的。因此,物理學(xué)的一些分支和電子工程便構(gòu)成計算機科學(xué)的基礎(chǔ)。同時,計算機科學(xué)在一定意義上是算法的科學(xué),而算法是一個數(shù)學(xué)概念。因此,數(shù)學(xué)的某些分支如算法理論(即可算性理論,又名遞歸函數(shù)論)也構(gòu)成計算機科學(xué)的基礎(chǔ)。但計算機科學(xué)已發(fā)展成為一門獨立的技術(shù)科學(xué),既不是電子學(xué)的一個分支,也不是數(shù)學(xué)的一個分支。這是就這個學(xué)科的整體而言。至于理論計算機科學(xué),由于它可以看作是計算機科學(xué)的數(shù)學(xué)基礎(chǔ),在一定意義上,可以看作是數(shù)學(xué)的一個分支。另一個與計算機科學(xué)有密切關(guān)系的學(xué)科是控制論??刂普撟鳛閼?yīng)用數(shù)學(xué)方法來研究機械系統(tǒng)和生命系統(tǒng)中的控制和通信現(xiàn)象的學(xué)科,同計算機科學(xué)有內(nèi)容上的交叉,但后者不是它的一部分。自從40年代制成數(shù)字計算機以來,計算機的性能有了很大的提高。但在系統(tǒng)結(jié)構(gòu)方面變化不大。一些計算技術(shù)發(fā)達國家正在研制新一代的計算機。這種計算機的系統(tǒng)結(jié)構(gòu)將與過去40年的機器很不相同,所用的程序設(shè)計語言也將是新型的。計算機科學(xué)將研究由此出現(xiàn)的新問題,如有關(guān)并行計算的問題。?

對計算的數(shù)學(xué)性質(zhì)的研究大都還是關(guān)于串行計算的,對并行計算性質(zhì)的研究自70年代才發(fā)展起來,預(yù)計將成為計算機科學(xué)的中心課題之一。另一個問題是程序設(shè)計的自動化問題。在程序設(shè)計方面,明顯的趨勢是將機器能做的盡量交給機器去做。程序環(huán)境的研究構(gòu)成了軟件工程的一個中心課題。形式化方法越來越受到重視,因為它是提高自動化程度所必需的。?

早期,雖然英國的劍橋大學(xué)和其他大學(xué)已經(jīng)開始教授計算機科學(xué)課程,但它只被視為數(shù)學(xué)或工程學(xué)的一個分支,并非獨立的學(xué)科。劍橋大學(xué)聲稱有世界上第一個傳授計算的資格。世界上第一個計算機科學(xué)系是由美國的普渡大學(xué)在1962年設(shè)立,第一個計算機學(xué)院于1980年由美國的東北大學(xué)設(shè)立。多數(shù)大學(xué)都把計算機科學(xué)系列為獨立的部門,一部分將它與工程系、應(yīng)用數(shù)學(xué)系或其他學(xué)科聯(lián)合。