計算機科学

出典: Wikipedio


計算機科学(けいさんきかがく)とは、情報計算の理論的基礎、及びその計算機上への実装と応用に関する研究分野である<ref>"Computer science は情報に関する学問である" Department of Computer and Information Science, Guttenberg Information Technologies</ref><ref>"Computer science は計算に関する学問である。" Computer Science Department, College of Saint Benedict, Saint John's University</ref><ref>"Computer Science はコンピュータシステムのあらゆる側面に関する学問である。理論的基礎から極めて実用的な巨大ソフトウェアプロジェクト管理までも含む。" Massey University</ref>。計算機科学には様々な下位領域がある。コンピュータグラフィックスのように特定の処理に集中する領域もあれば、計算複雑性理論のように計算の理論に関する領域もある。またある領域は計算の実装を試みることに集中している。例えば、プログラミング言語理論は計算を記述する手法に関する学問領域であり、プログラミングは特定のプログラミング言語を使って問題を解決する領域である。

目次

歴史

計算機科学の歴史は、電子計算機の発明よりずっと先行している。そろばんアナログコンピュータのような計算機械は古代から存在していた。最初の機械式デジタルコンピュータヴィルヘルム・シッカートによって1623年に作られた<ref>Template:Cite web</ref>。チャールズ・バベッジヴィクトリア朝時代にプログラム可能な解析機関を設計した<ref>Template:Cite web</ref>。1890年にはハーマン・ホレリスの発明したパンチカードシステムが米国勢調査に初めて使用されている<ref>Template:Cite web</ref>。

1920年代以前、「コンピュータ」という言葉は仕事として計算を行う人を指していた。クルト・ゲーデルアロンゾ・チャーチアラン・チューリングなど、後に計算機科学と呼ばれるようになる分野の先駆者は、計算可能性、すなわち(特別な前提知識や技能なしに)紙と鉛筆と命令書だけでどのようなものが計算できるか、に興味を抱いた。この研究は、一部には人間に付き物の間違いをすることなく自動的に計算を行う「計算機械」を開発したいという欲求に基づくものであった。この重要な洞察は、あらゆる計算作業を(理論上)全て実行可能な汎用の計算システムを構築することを意味し、それまでの専用機械を汎用計算機の概念に一般化した。汎用計算機という概念の創造が現代の計算機科学を生み出したのである。

1940年代に入り、より新しくかつ強力な計算機が開発されるにつれて、「コンピュータ」という言葉は人間ではなくそういった機械を指す言葉となった。コンピュータが単なる数学的計算以外にも利用可能であることが明らかになると、計算機科学の領域は情報処理全般に関する学問となった。1960年代には計算機科学は独立した学問分野として確立され、計算機科学科の設立と学位認定が行われるようになった<ref name="Denning_cs_discipline">Template:Cite journal</ref>。実用的なコンピュータが利用可能になると、その様々な応用が下位領域を形成していった。

Template:See also

主な成果

Template:節stub

学問としての歴史は浅いが、計算機科学は科学と社会への数々の根源的貢献をしてきた。

他の分野との関係

計算機科学という名前にも関わらず、計算機科学の研究対象は物理的な電子計算機そのものではない。例えば著名な計算機科学者エドガー・ダイクストラは「天文学が望遠鏡に関する学問でないのと同様に、計算機科学はコンピュータに関する学問ではない」という言葉を残している。コンピュータの設計と開発は計算機科学の領域外の話である。例えばハードウェア計算機工学の領域であるし、商用コンピュータシステムとその利用は情報技術とか情報システムと呼ばれる。ただし、コンピュータのハードウェアはその計算手法と密接な関係にあり、応用技術のなかにも計算機科学の対象となる部分がある。また、計算機科学と他の周辺学問分野との間では新たな学問がいくつも生まれている。計算機科学と関係の深い学問分野として、哲学経済学数学物理学言語学などを挙げることができる。

一部の人々は計算機科学は数学と最も関連が深いとみなしている<ref name="Denning_cs_discipline" />。初期の計算機科学はクルト・ゲーデルアラン・チューリングなどの数学での業績に強い影響を受けていたし、数理論理学圏論領域理論代数学といった領域は計算機科学と数学の間でアイデアをやり取りする領域となっている。

計算機科学とソフトウェア工学の関係は論争の的である。「ソフトウェア工学」という言葉が表すものが何か、計算機科学の範囲をどう定めるかは長年の議論の対象となっている。一部の人々はソフトウェア工学が計算機科学の一部であると信じている。他の人々は、計算機科学が計算全般を扱う学問であるのに対して、ソフトウェア工学は実用的な目的でコンピュータ処理を設計するものであり、異なる学問分野であると考えている。この見方の例としてデイビッド・パーナスがいる<ref>Template:Cite journal, p. 19: 「私はソフトウェア工学を計算機科学の一分野としてではなく、土木工学、機械工学、化学工学、電気工学などなどの要素を組み合わせたものとして扱う」</ref>。他の人々はソフトウェアは全く工学的に扱うことはできていないと考えている。

基礎

実装

計算機科学教育

一部の大学には計算機科学科があり、計算理論やアルゴリズムを主に教えている。カリキュラムには計算理論アルゴリズム解析形式手法並行性理論データベースコンピュータグラフィックス、システム解析などがある。プログラミングも教えることが多いが、単に計算機科学の他の領域のサポートのために教えているに過ぎない。

他の大部分の大学では、理論よりはむしろプログラミングが重要なカリキュラムとして扱われている。このようなカリキュラムはソフトウェア産業に就職する技術者を育成することを目的としている。プログラミングの実用的な側面はソフトウェア工学と呼ばれる。しかし、「ソフトウェア工学」の意味、「プログラミング」の意味に関しては様々な議論がある。

Peter J. Denning, Great principles in computing curricula, Technical Symposium on Computer Science Education, 2004年 を参照されたい(英語)。

日本では、情報処理学会大学の理工系学部情報系学科のためのコンピュータサイエンス教育カリキュラム J97を策定した。ここでは、「コンピュータサイエンス」は計算機科学、情報科学情報工学計算機工学を総称する用語として使われている。

関連項目

Template:Wikiversity

参考文献

<references/>

外部リンク

als:Informatik am:የኮምፒውተር፡ጥናት an:Informatica ar:علم الحاسوب ast:Informática bat-smg:Infuormatėka bg:Информатика bn:কম্পিউটার বিজ্ঞান br:Urzhiataerezh bs:Informatika ca:Informàtica cs:Informatika (počítačová věda) csb:Infòrmatika da:Datalogi de:Informatik el:Επιστήμη υπολογιστών en:Computer science eo:Komputado es:Ciencias de la computación et:Informaatika eu:Informatika ext:Enhormática fa:علوم رایانه fi:Tietojenkäsittelytiede fiu-vro:Informaatiga fo:Teldufrøði fr:Informatique fur:Informatiche fy:Ynformatika ga:Ríomheolaíocht gl:Informática gv:Sheanse co-earrooagh he:מדעי המחשב hi:संगणक विज्ञान hr:Računarstvo ht:Enfòmatik hu:Számítástechnika hy:Ինֆորմատիկա ia:Informatica id:Ilmu komputer ie:Informatica io:Informatiko is:Tölvunarfræði it:Informatica iu:ᑐᓴᐅᒪᖃᑦᑕᐅᑎᔾᔪᑎᓂᒃ ᐊᐅᓚᑦᑎᔩᑦ/tusaumaqattautijjutinik aulattijiit jbo:samske ka:საინფორმაციო მეცნიერება kn:ಗಣಕ ವಿಜ್ಞಾನ ko:컴퓨터 과학 la:Informatica lad:Informatika lb:Informatik li:Informatica lt:Informatika lv:Datorzinātne mg:Informatika mk:Информатика ml:കമ്പ്യൂട്ടർ ശാസ്ത്രം ms:Sains komputer nds-nl:Infermatika nl:Informatica nn:Informatikk no:Informatikk nov:Informatike oc:Informatica pl:Informatyka pms:Anformàtica ps:سولګر پوهنه pt:Ciência da computação ro:Informatică ru:Информатика scn:Nfurmàtica simple:Computer science sk:Veda o počítačoch sl:Računalništvo sq:Shkenca kompjuterike sr:Рачунарство sv:Datavetenskap ta:கணினியியல் th:วิทยาการคอมพิวเตอร์ tk:Informatika tl:Agham pangkompyuter tr:Bilişim bilimi tt:Санак белеме ug:بیلگیسايار مۈھەندیسلیغی uk:Інформатика vec:Computer Science vi:Khoa học máy tính wa:Infôrmatike war:Siyensya han komputasyon wo:Xam-xamu nosukaay wuu:计算机科学 yo:Informatics (Ifitonileti) zh:计算机科学 zh-min-nan:Tiān-náu kho-ha̍k zh-yue:電算

個人用ツール