松村太郎[2014/12/15]印刷コンピュータをもっと自由に触れられれば、もっと興味が湧いてくる。コンピュータの使い方を覚えることが目的ではなく、もっと便利に、もっと創造性を持ってコンピュータを操れるようになる。Code」イベントでは、子ども向けに1時間の無料プログラミングワークショップが開催された。日本のアップルストアでも予約制のワークショップにはたくさんの子どもたちが訪れた。Code」は、プログラミング教育の普及を目指すCode.orgが主導しており、ウェブサイトで実行できる様々な教材や、学校教育に導入することができるようにするキットなどを配布している。今回アップルストアで実施されたワークショップでも、Code.orgのウェブサイトにあるプログラミング導入の教材を、iPadを使って学ぶスタイルで行われた。取材したアップルストア銀座では、夕方、学校帰りの時間帯に参加した6人の小学生・中学生が親子で訪れ、プログラミングに触れる体験を楽しんだ。プログラミングってなんだろう?ワークショップは、アップルストアで普段パーソナルトレーニングで利用するテーブルを囲んでの少人数制で行われた。miniを各自が使い、アップルストアのスタッフが講師としてプログラミングの問題に取り組んでいくスタイルだ。miniを使用まずコード、プログラミングとはなにか、という簡単な説明から始まる。簡単に言えば「iPadやiPhoneといった機械を、自分の思い通りにするための言葉」だ。なかでも、「料理」に例えるとより分かりやすいかもしれない。料理は材料を覚えてレシピを見ながら習得していく。すると、例えばレストランなどでおいしい料理が出されたときに、どんな材料を、どのように調理したか、ということが分かるようになる。「おいしい」ということも重要だが、なぜおいしいのかというところまで分かり、あるいはその調理方法を自分の料理に取り入れることも出来るようになる。何が起きているかイメージが湧くようになると、何がすごいのかが分かり、また自分でも試せるようになる。したサイクルが生まれることでコンピュータサイエンス、プログラミングそのものに興味を持つ子どもが増えることは、急速に発展しているとは言えまだまだ新しい分野であるテクノロジー業界の将来に重要なことだ。ゆえに、Code.orgはプログラミングに触れる子どもたちを増やそうとしており、またAppleもこの活動をサポートしているのだ。人気ゲームのキャラクターを動かしてみようCode.orgが用意したウェブ教材は、皆さんもPC、Mac、スマートフォン、タブレットからアクセスすることができる(studio.code.ac.jp)。Code」用のコンテンツだ。このコンテンツでは、アングリーバードなどの人気ゲームのキャラクターを、自分が作ったブロック型のプログラミングを駆使して動かそうというテーマで、非常に簡単に作業を進められる。普段こうした「ゲーム内のキャラクターを動かす」には、十字キーやタッチパネル、あるいは傾きセンサーを使うものが多い。iPadの画面の上でレッド(アングリーバードの鳥のキャラクター)をなぞっても、動いてくれない。自分でプログラムを作らなければならないのだ。プログラミングと行っても、はじめはとても簡単。1問目は、「前方に移動する」というブロックを2つ並べて2マス進むようにすればクリアとなる。その後ステージが進むにつれて、「右に回る」「左に回る」といったブロックを駆使して、動作の順序を組み合わせてゴールするなど、複雑性が増していく。繰り返し(for)や、条件設定(while)といった、プログラミングの行数をより短くシンプルにするための仕組みを活用し、「前方に移動する」を「5回繰り返す」といったプログラムを作れるようになるところで、1時間のワークショップは終了した。各問題には、学ぶべきコードの書き方に関する「狙い」が用意されている。プログラミングには、より短い行数で仕上げた方が良いという価値観があるからだ。鳥のキャラクターが、5マス先の緑のキャラクターにたどり着ければ、どんな書き方をしても正解なのだ。前述の「前方に移動する」というブロックを5つ並べてももちろんよい。「前方に移動する」を「5回繰り返す」という繰り返しを使う方法もある。「前方に移動する」を「緑の豚にぶつかるまで繰り返す」という条件を設定することも可能だ。答えは1つではなく、様々なやり方が存在する。答えにたどり着く自由な発想が許されている世界だ、ということも、ワークショップの中で子どもたちに伝えられた。アップルストアのワークショップリーダーからヒントが出る画面内のブロックで組み立てるコードで、鳥が指示通り動いてくれること、その動き方を自分で自由に決められる。プログラミングの楽しさを体験した子どもたちは「面白かった」「考え方が変わった」「不思議な体験をした」という感想を、目を輝かせながら述べていた。Codeはプログラミングの初期導入の教材だった。そのため、マウスやタッチパネルの画面でブロックを組み立てればできあがる仕組みであった。良い機能だなと思ったのは、ブロックを組み立てたプログラムが正解すると、自分で組み立てたブロックが実際のJavaScriptではどのような表現になるのか、というコードを表示する機能が付いていた点だ。自分で組み立てたブロックが、実際のJavaScriptではどのような表現になるのかコードが表示される例えば「繰り返し」はforで表現され、「条件」はwhileで表現される。これらを使うと格段にプログラムの行数が減ることも分かるのだ。して、実現ごとの関連性を意識させながら、より複雑なプログラムへと少しずつ進歩していくことができるようになる。今回のワークショップを見ていても、プログラミングが初めてだ、という子どもたちであっても、途中からはアップルストアのスタッフの説明を待たずにすいすいステージをクリアしながら進んでいく様子が見受けられた。1時間で何かが大きく変わる訳ではない。今回来た子どもたちが、家に帰って、あるいは翌日、引き続きCode.orgの教材にアクセスして続きにひとりで取り組むことも十分にできる。興味が増せば、民間でプログラミングを教える教室やイベントも増えており、ここへの参加も可能だ。子どもたちは加速度的に、プログラミングのスキルを向上させていくだろう。プログラミングを学校に導入する際のハードルは、むしろ指導する教師の側にあるのではないか、と考える事ができる。Code.orgが教員向けに、プログラミングの授業を導入するための教材を提供しているのもそのためだ。今後、学校教育の中で、プログラミングをどのような位置づけにするか、いかに人材育成をするのか、行政も含めた課題の迅速な解決を考えていかなければならない。ビジネス・ブレークスルー大学講師。近著に「LinkedInスタートブック」(日経BP)、「スマートフォン新時代」(NTT出版)、「ソーシャルラーニング入門」(日経BP)など。1/17]エンタメもっと見るページトップ。