情報系の大学が不人気らしい

まあネットの片隅のつぶやきなので。
http://d.hatena.ne.jp/muranaga/20090615/p1
http://d.hatena.ne.jp/next49/20090615/p1


Fランだけど情報系出身としては寂しいよね。


原因の1つとして、情報系ってイメージしにくいと思う。
プログラムが出来ればゲームとかWindowsのアプリが作れるとは朧げには知っているけどプログラミングとは何かとか全面に出てこないから難しい。
プログラミングでOSが作れるとかはまず想像出来ないと思う。そもそもコンパイラとかアルゴリズムなんて言葉はまず理解できないはず。


このイメージのし難さってのは何故か?だけど、自分が思うにプログラミングって経過とかのイメージがし辛い。
このイメージのし辛さってのは、抽象化レベルが高いからだと思う。
人って抽象度のレベルが低い物の方が結果が目に見えて理解しやすいからね。

抽象度が低い(アナログ) = 実世界に近い

という方程式が成り立つと思う。


あとこの抽象度に加えて学校教育も有るのも確かだとおもう。

一方、情報系があまり人気がない理由は、中学・高校での情報リテラシー教育にあるらしい。コンピュータの動作原理、プログラミングの面白さを教えられる先生はおらず、ケータイやインターネットの怖さ、使う時の心構えを説く「道徳」のような面白みに欠ける科目になっているのが、情報系不人気の一つの理由であると言う。


抽象化が低い例としては、アニメやスポーツ何かがある。
アニメはオタクだから嫌だとかあるけど、抽象化のレベルは低いし見た目には分かりやすいからかアニメ業界は一定数(生産側も消費側も)を常に持っている。
スポーツなんかもそう。ちょっと考えればスポーツに人生を賭けるのはかなり分が悪い。成功しても活躍できるのはほんの一瞬だけ。
別にこれらが悪いと言っているのではない。アニメは今だに大好きだし、学生のころはスポーツもしていた(今は見る影がないけど)。


逆に抽象化が高いのは理解するのに時間が掛かるから面倒くさいと言うのがあると思う。
数学なんかはその最たる例だと思う。
イメージしにくい。三角関数なんか理解したって実生活じゃ確かに使わないしね。


微積なんか抽象度の高さで言えばその最たる物だと思う。
ここで数学であれば上で書いた学校教育が有るはず。
微積で授業で教わるのは「y = x^2」を微分すると「y = 2x」になるといっただけの計算問題の延長だけ。
まあ面倒くさい面積を求めたり(不定積分、定積分)とかあるけど基本は変わらない。


そんなことよりも分かりやすいのを教えればイメージができる。
「球の体積 = (4/3)πr^3」を微分したら「球の表面積 = 4πr^2」になるとかは教わらない。
他には物理の等加速度運動の公式(下)とかは1つ覚えておけば微積で求まるとか。
「v=v0+at」
「x=v0・t+at^2/2」
「v^2−v0^2=2ax」
この2つの例から次元を変えて違う見方をするだけとか教えれば微積の一端は理解できるはず。


数学はそれこそ小学校の算数から中学、高校の数学と長期間教えるのである程度中身のイメージはできるはず(好き嫌いは関係無しに)。
ただプログラミングは数学よりははるかにイメージし辛い。
CPU、メモリ、HDDの中身なんか見えないのにいろんなプログラムが動くのなんか数学よりも理解できないはず。
信じられないかもしれないが、組み込みを仕事にしていると現場のハード屋でさえ理解できない人がいる。
おかげでプログラムは魔法、プログラマは魔法使いか錬金術師だと思われたり…… orz。


まあマナーとかも大事かもしれないけど、 ソースコード->コンパイル(or インタープリンタ)->メモリ上に配置->CPUがプログラムにそって各ハードウェアを操作する の流れを分かり易く教えるのが先決だと思う。
あとコンピュータには何が出来て何が出来ないとか。
ネットのマナーは道徳とかの時間で別に教えれば十分。
ネットのマナーなんか本来コンピュータとか関係無しに実生活のマナーと基本的に同じだよね。
質問する時は何が分からないかをはっきりさせろとか、答えだけ教えてとか、限度を越えた人の悪口とか。