計算機科學

計算機科學 （ Computer science ， 有時縮寫爲CS ） 是系統性研究信息與計算的理論基礎以及它們在計算機系統中如何實現與應用的實用技術的學科 。 它通常被形容爲對那些創造 、 描述以及轉換信息的算法處理的系統研究 。 計算機科學包含很多分支領域 ； 有些強調特定結果的計算 ， 比如計算機圖形學 ； 而有些是探討計算問題的性質 ， 比如計算複雜性理論 ； 還有一些領域專注於怎樣實現計算 ， 比如程式語言理論是研究描述計算的方法 ， 而程式設計是應用特定的程式語言解決特定的計算問題 ， 人機交互則是專注於怎樣使計算機和計算變得有用 、 好用 ， 以及隨時隨地爲人所用 。 有時公衆會誤以爲計算機科學就是解決計算機問題的事業 （ 比如信息技術 ） ， 或者只是與使用計算機的經驗有關 ， 如玩遊戲 、 上網或者文字處理 。 其實計算機科學所關注的 ， 不僅僅是去理解實現類似遊戲 、 瀏覽器這些軟件的程序的性質 ， 更要通過現有的知識創造新的程序或者改進已有的程序 。 儘管計算機科學 （ 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也曾經被提議過 。 著名計算機科學家艾茲赫爾 · 戴克斯特拉曾經指出 ： “ 計算機科學並不只是關於計算機 ， 就像天文學並不只是關於望遠鏡一樣 。 ” （ " Computer science is no more about computers than astronomy is about telescopes. " ） 設計 、 部署計算機和計算機系統通常被認爲是非計算機科學學科的領域 。 例如 ， 研究計算機硬件被看作是計算機工程的一部分 ， 而對於商業計算機系統的研究和部署被稱爲信息技術或者信息系統 。 然而 ， 現如今也越來越多地融合了各類計算機相關學科的思想 。 計算機科學被認爲比其它科學學科與數學的聯繫更加密切 ， 一些觀察者說計算就是一門數學科學 。