計算機科?
(けいさんきかがく、
英
:
computer science
、コンピュ?タ??サイエンス)または
コンピュ?タ科?
[1]
、
CS
とは
[2]
[3]
、
情報
と
計算
の理論的基礎、及びその
コンピュ?タ
上への??と?用に?する?究分野である
[4]
[5]
[6]
。コンピュ?タサイエンス(
computer science
)は「
情報科?
」や「
情報工?
」とも和?される
[注? 1]
。コンピュ?タ科?には??な分野がある。
コンピュ?タグラフィックス
のように?用に力点がある領域もあれば、
理論計算機科?
と呼ばれる分野のように??的な性格が?い分野もある。
計算科?
は科?技術計算という「計算需要」に?えるための分野であり、それを?現する手段の?究は
高性能計算
である。また、一見わかりやすい分類として、
計算機工?
など「ハ?ドウェア」と、
プログラミング
など「ソフトウェア」という分類があるが、
再構成可能コンピュ?ティング
のようにその?方と言える分野があるなど、?純に分類ができるようなものではない。
?史
[
編集
]
そろばん
(
アバカス
)や、一種の
アナログ計算機
と言えるような機械といった、計算を手助けするものは古代から存在していた。「計算機械」と今日言われるような機械としては、最初の
機械式計算機
が
ヴィルヘルム?シッカ?ト
によって1623年に作られた
[8]
。
チャ?ルズ?バベッジ
は
ヴィクトリア朝
時代にプログラム可能な
解析機?
を設計した
[9]
。1890年には
ハ?マン?ホレリス
の?明した
パンチカ?ドシステム
が米?勢調査に初めて使用されている
[10]
。
1920年代以前、「
computer
」という言葉は仕事として計算を行う人(
計算手
)を指していた。しかしこの時代に、現代に通じる
計算理論
と
計算模型
が考案されている。
クルト?ゲ?デル
、
アロンゾ?チャ?チ
、
アラン?チュ?リング
など、後に計算機科?と呼ばれるようになる分野の先?者は、
計算可能性
、すなわち(特別な前提知識や技能なしに)紙と鉛筆と命令書だけでどのようなものが計算できるか、に興味を抱いた。この?究は、一部には人間に付き物の間違いをすることなく自動的に計算を行う「計算する機械」を開?したいという欲求に基づくものであった。この重要な洞察は、あらゆる計算作業を(理論上)全て?行可能な汎用の計算システムを構築することを意味し、それまでの?用機械を汎用計算機の?念に一般化した。汎用計算機という?念の創造が現代の計算機科?を生み出したのである。
1940年代に入り、より新しくかつ?力な計算機が開?されるにつれて、「
computer
」という言葉は人間ではなくそういった機械を指す言葉となった。1940年代から1950年代にかけて、次?と電子式コンピュ?タが建造され、1950年代末には基本的な考え方としては現代にまで引き?がれている仕組みが(いわゆる
プログラム??方式
など)完成した。前述の、米?の?勢調査においてパンチカ?ドシステムが有用であった事例などもあるように、科?技術などにおける?の計算(いわゆる
?値解析
的な計算)だけではなく、もっと一般の事務?理などといった
デ?タ?理
にもこういった機械は有用だということは以前から明らかになっていたわけだが、そういった、「?義の計算」より?い意味を指す語として1960年頃には
[注? 2]
、主に?術方面ではInformation Processing(
情報?理
)という熟語が使われるようになり、
機械??
や
パタ?ン認識
のような、?値計算ではない?用の?究が始まった。また、主に産業方面ではData Processing(
デ?タ?理
)という熟語もあり、EDPという3文字語などもあった。
コンピュ?ティング
という語の意味はそれらを含む?い意味とされるようになり、計算機科?はそれらを扱う科?ということになった。1960年代には計算機科?は?立した?問分野として確立され、大?などで計算機科?科の設立と?位認定が行われるようになった
[11]
。?用的なコンピュ?タが利用可能になると、その??な?用が下位領域を形成していった。2000年前後には「IT」という語が流行した。
?育
[
編集
]
一部の大?にはコンピュ?タ科?を?攻とする部門がある。まず近年、コンピュ?タ科?と計算?置(コンピュ?タ)が普及させているものとして、すべての人にとって基本的な技術としての「計算論的思考」(Computational Thinking)というものが考えられており(詳細は文?
[12]
を?照)、後述する?際??が取りまとめているカリキュラムでも重視されている。各論的カリキュラムとしては、
離散構造
、
プログラミング
、
計算理論
、
アルゴリズム解析
、
形式手法
、
?行性理論
、
デ?タベ?ス
、
コンピュ?タグラフィックス
、システム解析などがある。
またスタンフォ?ドではComputer Science Department(CS)だが、バ?クレイやMITなどではElectrical Engineering and Computer Science(EECS)というように、一般にこの分野のトップクラスと目されている大?のいくつかでは電?電子工?(日本語では使い分けられるが、英語ではElectrical Engineeringにまとめられていることも多い)を名前に付けている。
コンピュ?タ科??攻のためのカリキュラム案としては、?際??
ACM
がとりまとめているものがあり、1968年の
Curriculum 68
以?定期的に情勢に合わせ見直されている。2015年現在の最新版は
CS 2013
(
Computer Science 2013: Curriculum Guidelines for Undergraduate Programs in Computer Science
)である。日本の
情報?理??
もこれに合わせ「カリキュラム標準」を?表しており、2015年現在の最新版はJ07
[13]
である。
他のコンピュ?タ科?以外の?攻においても、プログラミングが?えられているが、それらはもっぱら、コンピュ?タ科?の一部としてよりも、物理や化?、あるいは
計算言語?
といった分野において、コンピュ?タを道具として使うためのものとして?えられている。
- Peter J. Denning,
Great principles in computing curricula
, Technical Symposium on Computer Science Education, 2004年 も?照されたい(英語)。
なお、「コンピュ?タ科?」という用語について、情報?理??のカリキュラムJ97(『大?の理工系?部情報系?科のためのコンピュ?タサイエンス?育カリキュラム J97
[14]
』)では、「コンピュ?タサイエンス」を「
情報工?
、
情報科?
、計算機科?、
計算機工?
などの??」としているが、それぞれの語に特に定義を?えているわけでもないため、語がてんでに使われている?態を反映したものと思われる。
?然ながら、メタ分析によれば、コンピュ?タサイエンスの一部は、他の分野と同?、?究者のバイアスによってある程度歪められており、?究を行う際には、?界に存在するバイアスを意識することが望ましい
[15]
。
主な成果
[
編集
]
?問としての?史は?いが、計算機科?は科?と社?への??の根源的貢?をしてきた。
他の分野との?係
[
編集
]
| この節には
?自?究
が含まれているおそれがあります。
問題箇所を
??
し
出典を追加
して、記事の改善にご協力ください。議論は
ノ?ト
を?照してください。
(
2017年12月
)
|
計算機科?と?係の深い?問分野として、
???
、
??
、
物理?
、
言語?
などを?げることができる。一部の人?
[
誰?
]
は計算機科?は
??
と?連が深いとみなしているという
[11]
。初期の計算機科?は
クルト?ゲ?デル
や
アラン?チュ?リング
などの??での業績に?い影響を受けていたし、
?理論理?
、
?論
、
領域理論
、
代??
といった領域は計算機科?と??の間でアイデアをやり取りする領域となっている。
計算機科?と
ソフトウェア工?
の?係は論?の的である。「ソフトウェア工?」という言葉が表すものが何か、計算機科?の範?をどう定めるかは長年の議論の?象となっている。一部の人?
[
誰?
]
はソフトウェア工?が計算機科?の一部であると信じている。他の人?は、計算機科?が計算全般を扱う?問であるのに?して、ソフトウェア工?は?用的な目的でコンピュ?タ?理を設計するものであり、異なる?問分野であると考えている。この見方の例として
デイビッド?パ?ナス
がいる
[18]
。他の人?
[
誰?
]
はソフトウェアは全く工?的に扱うことはできていないと考えている。
基礎
[
編集
]
??
[
編集
]
脚注
[
編集
]
注?
[
編集
]
- ^
『英和コンピュ?タ用語大?典』には次の通りある
。
- ^
1960年に
情報?理?際連合
が設立されている。
出典
[
編集
]
- ^
『ブリタニカ?際大百科事典 小項目事典』「計算機科?」
- ^
Passey, D. (2017).
Computer science (CS) in the compulsory education curriculum: Implications for future research.
Education and Information Technologies
, 22(2), 421.
- ^
Camp, T. et al. (2017).
Generation CS: the growth of computer science.
ACM Inroads
, 8(2), 44.
- ^
「計算機科?は情報に?する?問である」
計算機情報科?科
、
Guttenberg Information Technologies
- ^
「計算機科?は計算に?する?問である。」
聖ヨハネ大? 聖ベネディクト校 計算機科?科
- ^
「計算機科?はコンピュ?タシステムのあらゆる側面に?する?問である。理論的基礎から極めて?用的な巨大ソフトウェアプロジェクト管理までも含む。」
マッセイ大?
- ^
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
.
https://web.archive.org/web/20060828130518/http://www.idi.ntnu.no/emner/dif8916/denning.pdf
.
- ^
『計算論的思考』(Jeannette M. Wing
Computational Thinking
, 中島秀之?)
- ^
https://www.ipsj.or.jp/annai/committee/education/j07/ed_j07.html
- ^
“
大?の理工系?部情報系?科のためのコンピュ?タサイエンス?育カリキュラム J97(第1.1版)
” (PDF).
情報?理??
(1999年9月).
2013年3月22日
??。
- ^
Shepperd, Martin (2015-01).
“How Do I Know Whether to Trust a Research Result?”
.
IEEE Software
32
(1): 106?109.
doi
:
10.1109/MS.2015.8
.
ISSN
0740-7459
.
https://ieeexplore.ieee.org/document/7030205/
.
- ^
Constable, R.L. (2000年3月).
Computer Science: Achievements and Challenges circa 2000
.
https://web.archive.org/web/20081002155359/http://www.cs.cornell.edu/cis-dean/bgu.pdf
- ^
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
.
https://web.archive.org/web/20060613031738/http://citeseer.ist.psu.edu/parnas98software.html
.
, p. 19: 「私はソフトウェア工?を計算機科?の一分野としてではなく、土木工?、機械工?、化?工?、電?工?などなどの要素を組み合わせたものとして扱う」
?考文?
[
編集
]
?連項目
[
編集
]
外部リンク
[
編集
]
ウィキメディア?コモンズには、
計算機科?
に?連するカテゴリがあります。
ウィキバ?シティに
計算機科?
に?する?習?材があります。