「計算機科学」の版間の差分
m 出典と参考文献の分離 |
m 本文内の外部リンクを脚注に転記 |
||
75行目: | 75行目: | ||
: Peter J. Denning, ''[http://portal.acm.org/citation.cfm?id=971303&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 Great principles in computing curricula]'', Technical Symposium on Computer Science Education, 2004年 を参照されたい(英語)。 |
: Peter J. Denning, ''[http://portal.acm.org/citation.cfm?id=971303&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 Great principles in computing curricula]'', Technical Symposium on Computer Science Education, 2004年 を参照されたい(英語)。 |
||
日本では、[[情報処理学会]]が |
日本では、[[情報処理学会]]が『大学の理工系学部情報系学科のためのコンピュータサイエンス教育カリキュラム J97<ref>{{Cite web |date= |url=http://www.ipsj.or.jp/12kyoiku/J97-v1.1.pdf|title=大学の理工系学部情報系学科のためのコンピュータサイエンス教育カリキュラム J97(第1.1版)|format=PDF|publisher=[[情報処理学会]]|date=1999-09|accessdate=2013-03-22}}</ref>』を策定した。ここでは、「コンピュータサイエンス」は計算機科学、[[情報科学]]、[[情報工学]]、[[コンピュータ工学|計算機工学]]を総称する用語として使われている。 |
||
== 注釈・出典 == |
== 注釈・出典 == |
||
{{Reflist}} |
{{Reflist}} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== 関連項目 == |
== 関連項目 == |
||
86行目: | 91行目: | ||
* [[計算機工学]] |
* [[計算機工学]] |
||
* [[ソフトウェア工学]] |
* [[ソフトウェア工学]] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== 外部リンク == |
== 外部リンク == |
2013年3月22日 (金) 07:59時点における版
計算機科学(Computer Science)とは、情報と計算の理論的基礎、及びそのコンピュータ上への実装と応用に関する研究分野である[1][2][3]。計算機科学には様々な下位領域がある。コンピュータグラフィックスのように特定の処理に集中する領域もあれば、計算理論のように数学的な理論に関する領域もある。またある領域は計算の実装を試みることに集中している。例えば、プログラミング言語理論は計算を記述する手法に関する学問領域であり、プログラミングは特定のプログラミング言語を使って問題を解決する領域である。
歴史
計算機(計算機械)は、電子計算機よりはるか以前から存在する。そろばん(アバカス)やアナログコンピュータのような計算機械は古代から存在していた。最初の歯車式計算機はヴィルヘルム・シッカートによって1623年に作られた[4]。チャールズ・バベッジはヴィクトリア朝時代にプログラム可能な解析機関を設計した[5]。1890年にはハーマン・ホレリスの発明したパンチカードシステムが米国勢調査に初めて使用されている[6]。
1920年代以前、「コンピュータ」という言葉は仕事として計算を行う人を指していた。しかしこの時代に、現代の計算機と理論的には同等の計算理論モデルが考案されている。クルト・ゲーデル、アロンゾ・チャーチ、アラン・チューリングなど、後に計算機科学と呼ばれるようになる分野の先駆者は、計算可能性、すなわち(特別な前提知識や技能なしに)紙と鉛筆と命令書だけでどのようなものが計算できるか、に興味を抱いた。この研究は、一部には人間に付き物の間違いをすることなく自動的に計算を行う「計算する機械」を開発したいという欲求に基づくものであった。この重要な洞察は、あらゆる計算作業を(理論上)全て実行可能な汎用の計算システムを構築することを意味し、それまでの専用機械を汎用計算機の概念に一般化した。汎用計算機という概念の創造が現代の計算機科学を生み出したのである。
1940年代に入り、より新しくかつ強力な計算機が開発されるにつれて、「コンピュータ」という言葉は人間ではなくそういった機械を指す言葉となった。コンピュータが単なる数学的計算以外にも利用可能であることが明らかになると、計算機科学の領域は情報処理全般に関する学問となった。1960年代には計算機科学は独立した学問分野として確立され、計算機科学科の設立と学位認定が行われるようになった[7]。実用的なコンピュータが利用可能になると、その様々な応用が下位領域を形成していった。
主な成果
この節の加筆が望まれています。 |
学問としての歴史は浅いが、計算機科学は科学と社会への数々の根源的貢献をしてきた。
- 情報化時代やインターネットに代表される、いわゆる情報革命を実現した。
- 計算と計算可能性の定義と、それによる計算不能な問題の存在の証明[8]。
- プログラミング言語の概念と様々な抽象化レベルでの手続き的情報を明確に表現するツール[9]。
- エニグマ暗号の解読は、第二次世界大戦での連合国の勝利に貢献した。
- 計算科学は心に関する問題を解明しつつある。
- ヒトゲノム計画はヒトのゲノムの解読を可能にした。
- Folding@Homeなどの分散コンピューティングプロジェクトは、タンパク質の折り畳み構造の解明に貢献している。
- アルゴリズム取引は、人工知能や機械学習、統計学、数値解析などの手法を取り入れることにより、金融市場の効率性と流動性を向上させた。
他の分野との関係
計算機科学という名前にも関わらず、計算機科学の研究対象は物理的な電子計算機そのものではない。例えば著名な計算機科学者エドガー・ダイクストラは「天文学が望遠鏡に関する学問でないのと同様に、計算機科学はコンピュータに関する学問ではない」という言葉を残している。コンピュータの設計と開発は計算機科学の領域外の話である。例えばハードウェアは計算機工学の領域であるし、商用コンピュータシステムとその利用は情報技術とか情報システムと呼ばれる。ただし、コンピュータのハードウェアはその計算手法と密接な関係にあり、応用技術のなかにも計算機科学の対象となる部分がある。また、計算機科学と他の周辺学問分野との間では新たな学問がいくつも生まれている。計算機科学と関係の深い学問分野として、哲学、経済学、数学、物理学、言語学などを挙げることができる。
一部の人々は計算機科学は数学と最も関連が深いとみなしている[7]。初期の計算機科学はクルト・ゲーデルやアラン・チューリングなどの数学での業績に強い影響を受けていたし、数理論理学、圏論、領域理論、代数学といった領域は計算機科学と数学の間でアイデアをやり取りする領域となっている。
計算機科学とソフトウェア工学の関係は論争の的である。「ソフトウェア工学」という言葉が表すものが何か、計算機科学の範囲をどう定めるかは長年の議論の対象となっている。一部の人々はソフトウェア工学が計算機科学の一部であると信じている。他の人々は、計算機科学が計算全般を扱う学問であるのに対して、ソフトウェア工学は実用的な目的でコンピュータ処理を設計するものであり、異なる学問分野であると考えている。この見方の例としてデイビッド・パーナスがいる[10]。他の人々はソフトウェアは全く工学的に扱うことはできていないと考えている。
基礎
実装
計算機科学教育
一部の大学には計算機科学科があり、計算理論やアルゴリズムを主に教えている。カリキュラムには計算理論、アルゴリズム解析、形式手法、並行性理論、データベース、コンピュータグラフィックス、システム解析などがある。プログラミングも教えることが多いが、単に計算機科学の他の領域のサポートのために教えているに過ぎない。
他の大部分の大学では、理論よりはむしろプログラミングが重要なカリキュラムとして扱われている。このようなカリキュラムはソフトウェア産業に就職する技術者を育成することを目的としている。プログラミングの実用的な側面はソフトウェア工学と呼ばれる。しかし、「ソフトウェア工学」の意味、「プログラミング」の意味に関しては様々な議論がある。
- Peter J. Denning, Great principles in computing curricula, Technical Symposium on Computer Science Education, 2004年 を参照されたい(英語)。
日本では、情報処理学会が『大学の理工系学部情報系学科のためのコンピュータサイエンス教育カリキュラム J97[11]』を策定した。ここでは、「コンピュータサイエンス」は計算機科学、情報科学、情報工学、計算機工学を総称する用語として使われている。
注釈・出典
- ^ "Computer science は情報に関する学問である" Department of Computer and Information Science, Guttenberg Information Technologies
- ^ "Computer science は計算に関する学問である。" Computer Science Department, College of Saint Benedict, Saint John's University
- ^ "Computer Science はコンピュータシステムのあらゆる側面に関する学問である。理論的基礎から極めて実用的な巨大ソフトウェアプロジェクト管理までも含む。" Massey University
- ^ Nigel Tout (2006年). “Calculator Timeline”. Vintage Calculator Web Museum. 2006年9月18日閲覧。
- ^ “Science Museum - Introduction to Babbage”. 2006年9月24日閲覧。
- ^ “IBM Punch Cards in the U.S. Army”. 2006年9月24日閲覧。
- ^ a b Denning, P.J. (2000年). “Computer science:the discipline”. Encyclopedia of Computer Science .
- ^ Constable, R.L. (2000年3月). Computer Science: Achievements and Challenges circa 2000
- ^ Abelson, Hal; G.J. Sussman with J.Sussman (1996年). Structure and Interpretation of Computer Programs (2nd Ed. ed.). MIT Press. ISBN 0-262-01153-0. "コンピュータ革命は思考方法の革命であり、思考を表現する手法の革命である。この変化の本質は「procedural epistemology; 手続き的認識論」と呼ばれるものがよく表している。それは手続き的観点からの知識構造の研究であり、古典的数学の宣言的観点の対極に位置する。"
- ^ Parnas, David L. (1998年). “Software Engineering Programmes are not Computer Science Programmes”. Annals of Software Engineering 6: 19–37 ., p. 19: 「私はソフトウェア工学を計算機科学の一分野としてではなく、土木工学、機械工学、化学工学、電気工学などなどの要素を組み合わせたものとして扱う」
- ^ “大学の理工系学部情報系学科のためのコンピュータサイエンス教育カリキュラム J97(第1.1版)” (PDF). 情報処理学会 (1999年9月). 2013年3月22日閲覧。
参考文献
- ACM 1998 ACM Computing Classification System 1998年
- IEEEコンピュータ学会とACM Computing Curricula 2001: Computer Science. 2001年12月15日
- Peter J. Denning. Is computer science science?, Communications of the ACM, 2005年4月