子どもがプログラミングを学ぶとしたらどのツールがいいのか?
2020年度からプログラミング教育が小学校で必修化される。ようやく教科書もでき、何を使うか、どのようにするかということについてここから議論が展開されるはずだ。例えば、
「コンピュータを使わずに、プログラミングをしたほうが良い」
「コンピュータを使うことは本質的ではなく、プログラミング的思考こそが大切である」
などと、様々な言説が囁かれている。(というよりむしろ、おおっぴらに叫ばれているかもしれない。)
例えば、算数を学ぶためにどんな教科書がいいか、どんなドリルがいいか、どんな方法論がいいかという話は深く議論され、様々な提案がなされ、日々、教育現場は試行錯誤の毎日だ。
プログラミング教育においても同様で、世界中では色々なツール・ソフトウェアの開発がされており、まさに群雄割拠時代に突入している。
ここでは、「どのツールが素晴らしい」という風に考えるのではなく、「どのようなものが、ヒトがプログラミングを学ぶのによさそうか」という観点で考えてみようと思う。
私が考える3つの観点は、
1.初心者でも、始めるのが簡単
2.奥行きが深く、仕事として使われる言語につながる。
3.学びに広がりをもたせることができる。
とまとめるとこんな感じだ。
例えば、イギリス全土で小学生向けに配布されたmicro:bitというプログラミングボード。実際に手にとって見ると無骨な印象だが、なかなかすごいツールだ。
それぞれの観点で見ていくと、
1.初心者でも、始めるのが簡単。makecodeというプログラミングを書くことができるホームページで、ブロックを使ってプログラムを書くことができる。
しかし、プログラムをコンピュータからmicro:bitに転送するときに苦労する。ドラッグアンドドロップやコンピュータ内のファイルシステムがわかっていないと(ダウンロードから移す)難しいところがある。
2.奥行きが深く、仕事として使われる言語につながる。ここに関しては、上記のmakecodeの上のボタンを押すと、ホームページ、ウェブサイトの制作に使われる「JavaScript」という言語に変換し、そちらでプログラムをすることができる。
JavaScriptは人気の言語で、ウェブサイトに限らず、コンピュータのデスクトップアプリ、スマートフォンアプリや様々な用途に使うことができる便利な言語である。
しかし、JavaScriptを仕事で使おうとすると、例えばウェブサイトならHTMLとCSSについても学ばなければならず、デザインなどについてもよく考え、つくることを繰り返していかなければならないため、道のりは果てしなく長い。奥行きが深いことも素晴らしいのだが、途方もなさが学習を妨げてしまう場合もある。
3.学びに広がりをもたせることができる。micro:bitは何かとセンサーを搭載しているが、そのセンサーを活用してLED画面に表示をさせたり、下についている端子をつかってLEDを光らせたり、モーターを回したりすることができる。
しかし、DCモーターを回すために必要な電流を確保する仕組みが必要だったり、「感電」してしまうリスクも有る。(実際に私も触ってビリっとしたことがある。)
これだけ世の中でもてはやされている、micro:bitだが、子どもたちと学んでいく上で、ハードルが幾つかある。このハードルを子どもたちと一緒に乗り越えてものづくりをしていくことこそが、最も面白いこと、と捉える事もできるかもしれない。
「完璧なツール」は存在しないからこそ、創意工夫を求められ、学びは面白くなっていくのではないだろうか。
不便だからこそ面白い。