2013年2月2日土曜日

読み書き算盤プログラミング

Scratch を作った MIT の Mitch Resnick さんいわく、「プログラミングを勉強するのは、一握りの特殊な人達でいい、という人もいるかもしれません。でも、コードの書き方を学ぶことは、読み書きを学ぶのと同じですよ」と。文盲の人が読み書きを覚えることで、たくさんのことを知ることができ、世界が広がるように、コードの書き方を覚えることで、物の動かし方、それはソフトウェアだけではなくてハードの世界まで広がり、人が作った物の土俵で生きていくのではなく、自分で物を作り出し、世界を広げることができると語ります。



この動画で一つ面白い事例が紹介されています。生徒が Scratch でプログラミングをしている時に、「変数」を使うととても簡単にできることがあって、変数について先生が教えてあげたところ、「教えてくれてありがとう!」とすごく感謝されたそうです。そして教えてもらったばかりの変数を使って、どんどんプログラミングを進めていけた。多くのことについて、学校の授業で勉強しても、将来的に何の役に立つのかよくわからないと生徒達もあまり身が入らない。けれど、プログラミングではすぐに役に立つ。何のために学んでいるのかがわかる。だから生徒たちも興味をもって、どんどん勉強していく。これこそが「教育」なんじゃないのかな、と Mitch 先生は語っています。

変数はあくまで一例ですが、どうやって構造を設計するか。デザインプロセスについて。新しいアイディアを実現する方法について。難しい命題を分解してシンプルにして解決していくこと。どうやってチームメンバーと協力しながらプロジェクトを進めていくか。何かがおかしいと思った時に、どうやってその問題(バグ)を見つけて直していくか。作った物がうまく動かない時に、フラストレーションと戦いながらも粘り強く作り続けていく力。プログラミングを学ぶことによって、人生のあらゆる場面で役立つとてもたくさんのことを学ぶことができる。子ども達がエンジニアになるかどうかが問題なのではなく、プログラミングを通してあらゆることに役立つ様々なスキルを学ぶことができるのだと言います。

「作家にはならないから読み書きを学ばないなんて人はいないですよね。エンジニアにはならないからプログラミングを学ばないというのもそれにちょっと似ています。クリエイティブに物を考えること。論理的・システマチックに物を考えること。他の人とコラボレーションをすること。こうしたことは、誰にとっても役に立つ。」

エストニアでは、小学校一年生からプログラミングの勉強をすることになったそうです。まずは 20 校で始めるパイロットプログラムですが、全国 550 校に広げていく予定。7 歳から 19 歳のエストニアの子ども達が、プログラミングの勉強をしていくことになります。

Why Estonia Has Started Teaching Its First-Graders To Code

そしてその理由については、「アプリ開発者を生み出そうとしているわけではなく、テクノロジー、コンピューターやウェブとの関わり方がスマートにできる国民を生み出したい」から。(The idea isn’t to start churning out app developers of the future, but people who have smarter relationships with technology, computers and the Web.)そういう国民を生み出すには、中学校からでは遅い。小学1年生の頭が柔らかいうちから始めなければ、と。エストニアの学校は全てインターネットに接続されており、4年以内に全て DSL の常時接続インターネットに切り替える予定とのこと。また、エストニアは e-government が進んでいる国としても有名です。

イギリスでも子どもたちにプログラミングを教えるべきかという議論が起きています。

Poll: Should UK school children be taught how to code?(このGuardian のアンケート結果は93%が賛成)

Open University の John Naughton 教授は「なぜ全てのイギリスの子供達にプログラミングを教えるべきか(Why all our kids should be taught how to code)」という記事の中で「プログラミング教育を小学校から始めることで、イギリスの全ての地域の全ての子供にコンピュータサイエンスの考え方について学び、理論的な考え方、プログラミングのしかたなどについて学ぶ機会が与えられる。そしてそれらの活動を高いレベルに引き上げていく可能性が生まれるのだ」と語っています。「忘れちゃいけないのは、今や、車が道を走るのも、コミュニケーションをモニタリングするのも、携帯電話をつなぐのも、銀行口座を管理するのも、日記をつけるのも、人と人との関係を保つのも、そして国によっては投票をするのも、全てネットワーク化されたコンピューターが関わっているのです。」と。

「アルゴリズム(プログラムがどう作られているかのレシピ)や暗号化(機密情報がネット上でどう守られるか)、マシンインテリジェンス(YouTube や NetFlix、Google や Amazon がどうあなたの好みを予測しているのか)、計算生物学 (遺伝子情報のしくみ)、検索 (どうやって無数の情報の中から欲しい情報をみつけるか)など、学ばなければならないことはたくさんあります。」

「この教育改革は経済だけではなく、我々のモラルも問われています。子どもたちが生き抜いていくこれからの世界は、ネットワーク化されたコンピュータについて理解していなければ知的欠陥をもって生きていくようなものです。受動的な消費者として、デバイスやサービスを使い、Google や Facebook のような企業が作るサービスに乗っかって生きていくしかないのです。Mark Zuckerberg や彼のような起業家の作った籠の中で生き続けるハムスターのようなイギリス国民を育てていてよいのですか。違うなら、教育を変えましょう。」

日本の政治家の皆さんや教育者の皆さんはこのブログは読んでない気がしますがw日本の未来のために、今投資すべきところはどこか、ぜひ考えていただきたいなーと。

ちなみに最近、Google が 1万5千個の Raspberry Pi をイギリスの子供たちにプレゼントしましたね。

Google gives 15,000 Raspberry Pi computers to UK children

あと、この話は子供に限った話ではないですね。去年のブルームバーグ市長の新年の抱負はプログラミングを勉強することでした。

New York Mayor Michael Bloomberg takes coding course
Learning to code is NYC Mayor Bloomberg's New Years resolution






ニューヨークは Sandy で本当に大変だったので、それどころではなかったかもしれませんが、Code Academy どこまで進んだのか聞いてみたいところです ;)

今日から、石巻と滝沢村で第二期の「東北tech道場」が始まりました。第一期を始めてから3ヶ月。我々は学校でも教育者でもないので、我々のできる範囲でしか関わることができませんが、少しずつ参加者の皆さんが前に進み、高校生も含めた参加者の皆さんが「アプリできた!」「将来はアプリ開発者になりたい」と言ってくれたのが心強かったです。私がリーチできるのが10人として、その10人がそれぞれ10人ずつに今回学んだプログラミングの楽しさを伝えていってくれればそれだけで100人。その100人がそれぞれ10人ずつにプログラミングの楽しさを伝えていってくれれば1,000人に伝わります。頑張りましょう :D

Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。