アメリカの大学教育の厳しさ

というか、日本の大学教育の甘さが本題かもしれないが。

Joel on Software Translation Project : Javaスクールの危険

大学では連結リストやハッシュテーブルなどについて学ぶデータ構造の授業が最初にあり、そこではポインタを徹底的に使う。この授業はふるい分けに使われていた。あまりに難しくて、コンピュータサイエンスの学位の知的な挑戦に耐えられない者は脱落していたのだが、それは良いことなのだ。もしポインタが難しいと思っているなら、不動点理論に関する証明で難儀するのを覚悟しておくことだ。

日本の計算機科学の教育の最高峰が何処で、どんな授業をやっているのか知りもしないで言いますけど、ここまで学生に厳しいことを要求しているようには思えない。

—–



僕も実は大学時代はIT関連学科だったのだが、「自分が勉強しなかった」という根本理由はさておいても、上記リンクの内容のような授業であったかというとそうではなく、レベルはこれに比べると数段落ちる授業であった。まずこのように実践的ではなく学術的であったし、学校側にも「学生をふるい落とす」というような発想は一切なかった。おそらくそれは受験の段階で終わってしまっているのだろう。
これを読んだ単純な感想としては、日本にも優秀な教育機関や学生、教授は存在していると思うが、平均するとかなりのレベルの差があるのではないだろうか。そもそも日本では、あまりプログラマにコンピュータサイエンスのバックグラウンドを求めていない節がある。

週刊東洋経済TKプラストップ : 第3回 ソニーからの卒業〜永遠のソニーチルドレン(1)

しかし、新規事業開発の担当として、グーグルやアマゾン、ヤフー、アップルなどのネットサービスを研究していく過程で、一つの疑問がふつふつと沸いてきました。なぜネットの分野には、海外からの輸入品しか存在しないのだろうか、と。この問題は、日本のITの未来がかかった大問題だと考えました。

だから単純に、エンジニアとしての素養が日本からIT技術関連の素晴らしい会社が生まれてこない理由のひとつではないかと考えられる。もっと根本的なところから見直していかなければならないのだ。
話は逸れるが、MITなどで使われているという計算機プログラムの構造と解釈だが、ITに関わるものとしては一度は学んでおきたい。
Joel on Software Translation Project : Javaスクールの危険

コンピュータサイエンスの学生の多くにとって困難なもうひとつの授業は、再帰プログラミングを含む関数プログラミングを学ぶ授業だ。MITはこのテーマについて非常に高い基準を設けており、授業6.001 (http://sicp.csail.mit.edu/Fall-2005/)を必須にしている。その教科書(サスマン & エイブルソンの計算機プログラムの構造と解釈 (http://mitpress.mit.edu/sicp/full-text/book/book.html))は世界の何十何百というトップクラスのコンピュータサイエンス学科でコンピュータサイエンスへの入門に使われている。(古いバージョンの授業がオンライン (http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/)で見られるので、ぜひ見るといい。)

何事も学ぶに遅すぎるということはないが、今後の自分の進路を考えるうえでもこの本が理解できるのか、出来ないのかは大きな試金石になると思う。だから年齢が30になる前に、この本にチャレンジしたいと思う。