6歳の子ども向け「プログラミング教室」を実際にやってわかった成功させる方法
By Tim & Selena Middleton
多くのエンジニア職に携わる人が、Stack Overflowで「子どもにプログラミングを教える方法」について質問しています。大多数は「コンピューターはバカだから、動かすためにはどうすればいいかとても正確に教えてあげなければいけない」というようなアイデアに基づいた解答をしているのですが、この教え方だと「面白さは保証されるが、プログラミングについて理解できるかについては疑念が残る」と考えたトメク・カチャノフスキー氏が、異なるアプローチで「6歳の子どもにプログラミングを教える方法」を実践した結果を、プログラマーがアイデアをシェアするコミュニティ「dev.to」につづっています。
Explaining Programming to 6 Years Old Kids
https://dev.to/tkaczanowski/explaining-programming-to-6-years-old-kids
プログラマーのトメク・カチャノフスキー氏は、最近2つの子ども向けプログラミング教室を行った経験があり、6歳の子どもにプログラミングを教えるにあたって、成功した要素は以下の2つだといいます。
・話している内容を絵に描いて子どもの注目を引き付ける
カチャノフスキー氏が以前に行ったプログラミング教室では、プログラミングについて説明しながら、とても大きなフリップチャートを描いていったとのこと。子どもは面白い絵に夢中になり、集中が途切れることなく、大笑いしながら説明を聞いていたそうです。
・子どもが知っているものに基づいて説明する
最近の子どもはYouTubeでアニメを見て、タブレットでゲームをプレイし、パソコンを使って働く両親を観察しています。子どもは映画がCDやDVDのようなディスクに記録されていることを知っており、スマートフォンとタブレットがとても似たデバイスであることも理解しています。つまり、子どもが普段の生活で手に取ることがあるYouTubeやスマートフォンに基づいて説明すれば、理解しやすくなるというわけです。
カチャノフスキー氏は前回行ったプログラミング教室の出だしで、「プログラマーって何か知っている人はいるかな?」という質問から始めたとのこと。子どもからはさまざまな意見が出ますが、最終的にカチャノフスキー氏は「プログラマーはコンピューターのプログラムを書く人です。プログラマーはコンピューターが何をするべきなのかを教えるための言葉を知っています。プログラマーはコンピューターについてよく知っている人です」という定義を教えました。
次にカチャノフスキー氏が「コンピューターって何でしょう?」と尋ねると、子どもたちは皆一様に、両親が使うノートPCについて話し始めたとのこと。その後カチャノフスキー氏は、コンピューターはノートPCだけでなく、スマートフォン・腕時計・自動車などにも使われていることを教えました。また、例に出したスマートフォンや自動車でコンピューターがどんな役割を果たしているかを説明することで、子どもが「コンピューター」の概念を理解し始めるようになります。
続いてカチャノフスキー氏が「天気予報はどうやって動いている?」と尋ねたところ、1人の賢い子どもは「衛星が明日の天気を知っている」と答えたそうです。これに加えてカチャノフスキー氏は、たくさんの機械(観測装置)がデータをコンピューターに送ることで、明日の天気を予測していることを説明しました。
「コンピューター」について十分に教えた後で、カチャノフスキー氏は「プログラム」についての説明をスタート。「コンピューターは決まったことを行うように教えてくれる『プログラム』のおかげで動いている」ということを伝えました。これについて理解を深めるため、カチャノフスキー氏はYouTubeのUIを絵に描き、「YouTubeの中にはいくつの動画があるでしょう?」と尋ねました。子どもたちの大部分は混乱し、一部の子どもは「数百万!」「無限!」と叫んだとのこと。
そこでカチャノフスキー氏は「YouTubeにあるすべての動画を1枚のディスクに入れることはできる?」と尋ねました。さらに、カチャノフスキー氏はたくさんのディスクを描き、「もし君がYouTubeでペッパピッグのとあるエピソードを見たいと思った時、YouTubeはどうやって君が見たいエピソードが入ったディスクを見つけることができる?」と聞いてみたとのこと。子どもたちは全員がわからずに黙ってしまったため、カチャノフスキー氏は素早く「データベース」の絵を描き、その役割を説明して納得させることができたそうです。
その後、カチャノフスキー氏は「これはプログラマーの仕事の1つであり、みんなが使うプログラムを作ることについてたくさんの責任を持たなければいけない」ということを教えました。例えば「動画を悪い人から守るプログラム」について説明する時は「もし誰かがデータベースを変えてしまって、君が見たい『ペッパピッグ』の動画が全部消えてしまったらどうする?」と、質問形式にして子どもの想像を促し、「バックアップの重要性」については「もし『ペッパピッグ』の入ったディスクが壊れてしまったらどうなる?」と尋ねたそうです。
他にもカチャノフスキー氏は、「コンピューターはどうやって動くのか?」についても絵を交えて説明し、「CPU」についてや、「プログラミング言語」は1と0だけで話す面白い言語であることを教えたとのこと。簡単な擬似コードを作って最も単純なプログラミングの例についても話したそうですが、このあたりで子どもたちが集中を失い始めていることに気付いたため、最後にこれまでに描いた絵を指さして「これは何だったかな?」と復習して、プログラミング教室をお開きにしたそうです。
子ども向けプログラミング教室を終えたカチャノフスキー氏は以下のことを学んだとのこと。
・十分に準備して行ったプログラミング教室は、自分自身も思っていた以上に楽しむことができ、子どもも興味津々でプログラミング教室を聞いていたため、手応えを感じた
・絵を描くことは非常に効果的。注意を引けるだけでなく、少し前に話した内容でも描いた絵を指すことで簡単に思い出させることができる
・何度も何度も同じ回答が出ることについて準備しておくこと。子どもは誰かが言ったことに同調して「私も知っている!」「僕も!」と言う風に、同じ意見が延々と続くことがある
・一部の子どもはあなたが何をしても退屈してしまう。子どもの集中がとても短いことを覚えておくべき
・注意深く字や絵を描くこと。例えば「7」のように見える「1」を書いてしまうと、主題とはそれたところで抗議を受けることがある
・子どもに完璧に理解させる必要はない。子どもたちはYouTubeに大量のディスクがあると認識したと思うが、技術的な詳細ではなくYouTubeの仕組みを理解してもらえたことが大切
・プログラミング教室は25分以内に収めること。これ以上長くしても子どもの集中は保てない。
・関連記事
5歳の子どもが難解で退屈な「プログラミング」をロボットで楽しく理解できる学習システム「Root」 - GIGAZINE
プログラミングの考え方が対象年齢5歳の絵本で身につく「ルビィのぼうけん」レビュー - GIGAZINE
3歳児でもオモチャでプログラミングを学習できる「Cubetto」 - GIGAZINE
Googleの中の人が開発した子どもを飽きさせずプログラミングを楽しく習得できるキット「Bitsbox」 - GIGAZINE
子どもにプログラミングの授業を受けさせると外国語学習よりも意欲的になる - GIGAZINE
・関連コンテンツ