私はコンピューターサイエンスの理学士号を追求していますが、その初期段階にあり、追求するのが学問的で職業上の柔軟性のある教育のように思えるので、自分の選択に満足していると確信しています。
そうは言っても、コンピュータサイエンスが学界、民間部門、および「コンピューターサイエンス」の実際の「科学」に関して実際に何であるかについては、さまざまな定義があるようです。コンピュータサイエンスの教育を適用できるものの幅、および最終的にはコンピュータサイエンス内の人々が追求したさまざまなパスについて。
私はコンピューターサイエンスの理学士号を追求していますが、その初期段階にあり、追求するのが学問的で職業上の柔軟性のある教育のように思えるので、自分の選択に満足していると確信しています。
そうは言っても、コンピュータサイエンスが学界、民間部門、および「コンピューターサイエンス」の実際の「科学」に関して実際に何であるかについては、さまざまな定義があるようです。コンピュータサイエンスの教育を適用できるものの幅、および最終的にはコンピュータサイエンス内の人々が追求したさまざまなパスについて。
回答:
コンピュータサイエンスは誤った呼び名です。コンピュータサイエンスは自然を観察することではないため、実際にはコンピュータサイエンスには「科学」はありません。むしろ、コンピューターサイエンスの一部は工学であり、一部は数学です。
コンピュータサイエンスのより理論的な部分は、純粋に数学的です。たとえば、並べ替えに適したアルゴリズムは何ですか?プログラミング言語のセマンティクスをどのように定義しますか?暗号化システムが安全であることをどのようにして確認できますか?
コンピュータサイエンスが適用されると、エンジニアリングのようになります。たとえば、行列乗算アルゴリズムを実装する最良の方法は何ですか?大きなプログラムの作成を容易にするために、コンピューター言語をどのように設計する必要がありますか?オンラインバンキングを保護するための暗号化システムを設計するにはどうすればよいですか?
対照的に、科学は自然の法則に関するものであり、より一般的には自然現象に関するものです。コンピュータサイエンスに関係する現象は人為的です。この意味で、コンピューターサイエンスの一部の側面は実験的なものと見なすことができます。たとえば、ソーシャルネットワークの実証的研究、コンピューターネットワークの実証的研究、ウイルスとその広がりの実証的研究、コンピューター教育(コンピューターサイエンスの教育とコンピューターの使用の両方)他の科目を教えるために)。これらの例のほとんどは境界線のコンピューターサイエンスであり、より適切には学際的です。コンピュータサイエンスの科学的手法に最も近いのは、おそらくネットワークやその他のハードウェアデバイスの研究でしょう。これは、「システム」として非公式に知られているサブエリアの主流です。
これらの例にもかかわらず、コンピューターサイエンスのコアのほとんどは科学ではありません。コンピュータサイエンスは単なる名前です-意味をなさない必要があります。
コンピュータサイエンスの範囲に関しては、おそらく最高の定義は次のとおりです。コンピュータ科学者の定義。他のすべての学問分野と同様に、コンピューターサイエンスは広い分野であり、完全にグラフ化することは困難です。人々がコンピューターサイエンスと見なすもののサンプリングが必要な場合は、学部の研究分野を調べることができます。
現代のコンピューターサイエンスの先駆者の一人からの引用から始めましょう。「コンピューターサイエンスは天文学が望遠鏡に関するものである以上、コンピューターに関するものではありません」-Edsger Wybe DIJKSTRA
現実には、コンピュータとプログラミングに興味があるなら、コンピュータサイエンスに本当に興味はありません:-)
ウィキペディアには、最高の説明があると思います。「コンピューターサイエンス(CSまたはCompSciの略)は、計算とその応用に対する科学的かつ実践的なアプローチです。これは、系統的プロセスの実現可能性、構造、表現、情報の取得、表現、処理、保存、通信、およびアクセスの基礎となる(またはアルゴリズム)、情報がコンピューターメモリのビットおよびバイトでエンコードされているか、転写されたエンジンおよびヒト細胞のタンパク質構造であるか。計算理論と計算システムの設計を専門としています」
しかし実際には、ユヴァルが述べたように、ほとんどの大学/大学は理論的/純粋なコンピューターサイエンスから遠ざかり、コンピューターサイエンスは科学、数学、工学の混合物になりました。純粋なコンピューターサイエンスだけでなく、現代のコンピューター、プログラミング言語、オペレーティングシステム、ソフトウェアアプリケーションを使用してこれらの問題を解決する実践的なスキルも教えてくれます。
「コンピュータサイエンス」のドイツ語の用語はInformatikであり、これはInfomationとMathematikを溶かしたものです。これは、コンピューターサイエンスのすべてを簡潔に説明したものだと思います。(イタリア語の用語はinformaticaであり、同じ行に続く言語がかなり多くあると確信しています)。
メタに関する議論に興味があるかもしれません。特に、私はここで再現した私の答えを待っています:
コンピューターサイエンスは計算の科学です。それは明らかだ。あまり明確ではありませんが、有用で意味のある方法で科学と計算を定義する方法です。
一般的に、科学は2つの分類に従って分類されます。形式と経験、および純粋と応用です。フォーマルサイエンス(数学やコンピューターサイエンスの多くなど)は仮定された真実からの演ductive的推論に依存していますが、経験的科学(物理学や化学など)は観察された現象からの帰納的推論に依存しています。純粋な科学の目標は科学的理解の状態を前進させることですが、応用科学の目標はそのような理解を使用して自然の力を活用し、他の目標を達成することです。
計算は、情報に適用される変換として定義できます。最も広い意味では、計算は、宇宙に変化を引き起こすプロセスです。これより詳細な定義を提供する必要はありません。
コンピュータサイエンスは、次の基準を満たす人間の努力の一部で構成されます。
それは科学です、つまり:
(1)形式的または(2)経験的です。
(1)純粋または(2)適用
計算、つまり:
コメントには長すぎる「科学」という言葉に関する視点を加えたい。
人々は、コンピューターサイエンスは、数学または工学のいずれかを行う(ここでは簡略化する)ため、伝統的な方法の科学ではないと言います。それはまったく真実ではありません。間違いなく-私たちは、科学的な方法で適用することができ、科学の隅石-です
体系的な観察、測定、実験、および仮説の定式化、テスト、修正。
(ウィキペディア経由のオックスフォード英語辞書 )
実際、アルゴリズムの初期の研究のいくつかは、この原則に準拠しています。いくつかの方法でいくつかの方法が「失われた」が、我々はまだそれを採用することができる。
基本的なプロセス¹は次のようになります。
ちなみに、私の言葉を受け入れないでください。Robert SedgewickとPhilippe Flajoletは、主にテスト可能な仮説を可能にする分析的組み合わせ論の正式なフレームワークを開発することにより、科学をコンピューターサイエンスに戻すことに取り組んできました。SedgewickのビデオとMOOCを見つけることができます。
すべての希望が失われるわけではありません。
これはおそらく、コンピュータサイエンスの起源そのものにさかのぼって長い間議論されてきた古い質問です。これを研究/回答する自然な方法は、subjに関する公開された文献を使用することです。これについては、まだ引用されていない文献に多くの良い参考文献があると思われます。また、これに関する回答/ハメ撮りは、おそらく別名視点はとともに変化している可能性があります。これは、他の科学分野よりも多分、この分野でやや一般的なKuhnianシフトです。これを研究する別の角度は、学問の中でどのように教科が教えられてきたか、また時間とともに変化する既存の部門構造にどのように当てはまるかです。
この分野の権威であるDenningによる素晴らしい論文/エッセイがここにあります。この質問は直接この質問に対処し、より多くの参考文献を始めるのに良い場所です。両方とも、その分野の主要な学会であるCACMのジャーナルに掲載されていますます。
情報処理と計算は、多くの分野の深い構造に豊富に見られます。コンピューティングは、実際にはそうではありませんでしたが、人工の科学ではありません。
コンピューターサイエンスは、科学であるためのあらゆる基準を満たしていますが、自己負担の信頼性の問題があります。
科学の定義から働く
- 体系的に整理され、一般法則の動作を示す事実または真実の本体を扱う知識または研究のブランチ:数理科学。
- 観察と実験を通じて得られた物理的または物質的な世界の体系的な知識。
- 自然科学または物理科学の分野のいずれか。
- 一般的に体系化された知識。
- 事実または原則に関する知識。体系的な研究によって得られた知識。
コンピュータサイエンスは数学と密接に関連しており、重要な研究(研究など)を伴います。
コンピュータサイエンスは幅広く、さまざまな方法で物理学と密接に関連しています。例:計算の物理学/熱力学、量子計算、物理法則としてのP =?NP、相転移など
それは体系化された知識です。
体系的な研究、すなわち研究が行われます。
「コンピューターサイエンス」という用語は、この分野が、たとえば工学のような既知の原則の適用に関するものだけではないことを強調しています。かなりの存在であるテラインコグニタコンピュータサイエンスの周りには、フィールド内の多くの基本的な質問があるオープン/未回答。世界中の研究者の数を見積もることは困難ですが、数千または数万を超える数です。
ただし、コンピューターサイエンスのより科学的な側面は、学部レベルであまり教えられたり、公開されたりしていないため、混乱が生じる可能性があります。また、例えば、LHCやヒッグス粒子の発見などの他の分野とは対照的に、科学としての知名度の高い具体例/お祝い/支持者/擁護者はあまり多くないようです[CSは、発見!]、または有名なカールセーガンやホーキングのようなポピュライザーフィギュア。ただし、CSを刺激する人気の科学書を参照してください