ということで(どーいうことだ ^^;)前に書いたとおり、情報処理試験ぐらいのお勉強のポイントの体系化、まとめをして見たいと思います。
■大きく3つの分野で考える
ここで、コンピューターの知識を大きく3つの分野で考えましょう。
ひとつは、理論的な側面(情報工学ばりばりと、業務知識の分野)
2つめは、スタンドアロン(1台のコンピューター)の実装の側面
そして、コンピューターをつなげたネットワーク(2台以上)の実装の側面
ただ、この、
・理論的
・1台の実装
・複数台実装
という3つのわけかたも、もっと言い切ってしまえば、理論と実装で、実装については、1台の話と、複数台のネットワークの話ともいえるんだけどね。。
で、これらの分野は、レイヤがあって、低レベルの電気信号処理に近い分野から、高レベルの業務アプリに近いレベルまである。
■理論の階層と細分化
理論の分野は、
一番低レベルなところに、情報理論や、論理演算、集合演算がある。
そして、もちょっと上のところに、アルゴリズムとデータ構造があり、
さらに上に、各業務知識があるということになる。
アルゴリズムとデータ構造って2つに分けたけど、これは、情報処理という概念の2つの側面をあらわす。
情報処理とは、情報(データ)を、処理(プロセスを動かす、プロセッシング)することといえる。
この情報、データっていうのは、とまっているかんじで、
このデータを、処理して、ダイナミックに動かしていく。
データ構造は、情報(データ)の話で
アルゴリズムは処理部分の話になる。
低レベルの情報理論も、
情報の表現方法についてが、情報(データ)の話
各種演算(論理演算、集合演算)が、処理部分になる。
各業務知識でも、
ER図で表現できるようなデータ構造、コードが情報(データ)の話
業務フローが処理部分の話である。
■1台のコンピュータについて考える
コンピューターについては、
一番下に、ハードウエア
その上に、OS
その上に、データベース
その上に、アプリケーション
っていう形になる。ただ、アプリケーションの場合、アプリケーションそのものの勉強というよりは、アプリケーションの作り方の勉強、開発方法論になる。
開発方法論も、実際の開発方法と、マネジメント論の2つの立場に分かれるわけだけど・・
■複数のコンピューターについて考える
複数のコンピューターは、
・身近な範囲での接続
ディスクの2重化などのRAIDや、複数コンピューターをつなげた稼働率など
・グローバルに接続可能なネットワーク
インターネット
それ以外の通信
っていうはなしになる。インターネットについては、OSIの7階層の話になる。
■これらをまとめると、
こんなかんじ
<<理論>>
・情報理論や論理、集合演算
・アルゴリズムとデータ構造
・各種業務知識
<<1台のコンピューター実装>>
・ハード
・OS
・データベース
・アプリケーション
・アプリの内容
・開発方法論
・開発方法
・分析方法
・設計手法
・フレームワーク
・コンピューター言語
・テスト技法
・マネージメント論
<<複数台連携した実装>>
・身近な範囲での接続
・グローバルに接続可能なネットワーク
・インターネット→さらにOSI7階層
・それ以外の通信
このうち、今回は、リンクを付けているものだけやりました。
もし、覚えていれば、またいつか、適当な頃(秋の試験の頃?ま、それ以前でも気の向いたとき)
に、この残りの部分を書きます。
P.S これは、ウィリアムのいたずらの見方であり、人が違えば、当然見方はかわります。