計算機科学(けいさんきかがく、英: computer science、コンピューター・サイエンス)またはコンピュータ科学[1]、CSとは[2][3]、情報と計算の理論的基礎、及びそのコンピュータ上への実装と応用に関する研究分野である[4][5][6]。コンピュータサイエンス(computer science)は「情報科学」や「情報工学」とも和訳される[7][注釈 1]。コンピュータ科学には様々な分野がある。コンピュータグラフィックスのように応用に力点がある領域もあれば、理論計算機科学と呼ばれる分野のように数学的な性格が強い分野もある。計算科学は科学技術計算という「計算需要」に応えるための分野であり、それを実現する手段の研究は高性能計算である。また、一見わかりやすい分類として、計算機工学など「ハードウェア」と、プログラミングなど「ソフトウェア」という分類があるが、再構成可能コンピューティングのようにその両方と言える分野があるなど、単純に分類ができるようなものではない。
歴史「計算機の歴史」も参照アンティキティラ島の機械(紀元前150-100年頃)アストロラーベ(1208年、ペルシア)
そろばん(アバカス)や、一種のアナログ計算機と言えるような機械といった、計算を手助けするものは古代から存在していた。「計算機械」と今日言われるような機械としては、最初の機械式計算機がヴィルヘルム・シッカートによって1623年に作られた[8]。チャールズ・バベッジはヴィクトリア朝時代にプログラム可能な解析機関を設計した[9]。1890年にはハーマン・ホレリスの発明したパンチカードシステムが米国勢調査に初めて使用されている[10]。
1920年代以前、「computer」という言葉は仕事として計算を行う人(計算手)を指していた。しかしこの時代に、現代に通じる計算理論と計算模型が考案されている。クルト・ゲーデル、アロンゾ・チャーチ、アラン・チューリングなど、後に計算機科学と呼ばれるようになる分野の先駆者は、計算可能性、すなわち(特別な前提知識や技能なしに)紙と鉛筆と命令書だけでどのようなものが計算できるか、に興味を抱いた。この研究は、一部には人間に付き物の間違いをすることなく自動的に計算を行う「計算する機械」を開発したいという欲求に基づくものであった。この重要な洞察は、あらゆる計算作業を(理論上)全て実行可能な汎用の計算システムを構築することを意味し、それまでの専用機械を汎用計算機の概念に一般化した。汎用計算機という概念の創造が現代の計算機科学を生み出したのである。
1940年代に入り、より新しくかつ強力な計算機が開発されるにつれて、「computer」という言葉は人間ではなくそういった機械を指す言葉となった。1940年代から1950年代にかけて、次々と電子式コンピュータが建造され、1950年代末には基本的な考え方としては現代にまで引き継がれている仕組みが(いわゆるプログラム内蔵方式など)完成した。前述の、米国の国勢調査においてパンチカードシステムが有用であった事例などもあるように、科学技術などにおける数の計算(いわゆる数値解析的な計算)だけではなく、もっと一般の事務処理などといったデータ処理にもこういった機械は有用だということは以前から明らかになっていたわけだが、そういった、「狭義の計算」より広い意味を指す語として1960年頃には[注釈 2]、主に学術方面ではInformation Processing(情報処理)という熟語が使われるようになり、機械翻訳やパターン認識のような、数値計算ではない応用の研究が始まった。また、主に産業方面ではData Processing(データ処理)という熟語もあり、EDPという3文字語などもあった。コンピューティングという語の意味はそれらを含む広い意味とされるようになり、計算機科学はそれらを扱う科学ということになった。1960年代には計算機科学は独立した学問分野として確立され、大学などで計算機科学科の設立と学位認定が行われるようになった[11]。実用的なコンピュータが利用可能になると、その様々な応用が下位領域を形成していった。