2016年12月17日に、KidsScript(キッズスクリプト)というサイトのβ版が公開されました。
Webサイトですが、今流行りのScratchのように、これはWebブラウザでアクセスして、プログラミングが楽しめる、子ども向けのサイトです。
KidsScriptは、一言で言えば、「テキストプログラミング(JavaScript)の入門ツール」です。Basic ToolboxとScratch Toolboxという2つのモードがあるのですが、今日は、KidsScriptを構想するきっかけとなった、Scratch Toolboxについて、まず説明します。
KidsScriptの Scratch Toolbox画面
今子ども向けとして話題になっているプログラミングツールと言えばScratchですが、Scratchにかぎらず、レゴのEV3のプログラミングツールや、OzobotのプログラミングツールOzoblocklyも、ほとんどのツールがビジュアルプログラミングツールと呼ばれるもので、テキストでコードを書くのではなく、コマンドのブロックを並べてプログラミングしていくというものです。
このビジュアルプログラミングツールは、入門者向けに非常に敷居の低いツールです。難しいコマンドを覚えなくても、まず習うより慣れろ的な雰囲気でプログラミングに取り組むことができます。なので、子ども向けのプログラミング入門としては、非常に価値のあるものだと思います。
ところが、一方、プログラミングを教えている先生方の間には、ある共通の悩みがありました。それは、「ビジュアルプログラミングから、テキストプログラミングにどのように移行させればいいのだろう」というものです。
Scratchを何年もやっていて、プログラミングの基礎がかなり身についているにも関わらず、その子たちを次のステップに導くツールがないのです。こうして、Scratchばっかりやりたがって、その先のテキストプログラミングをやりたがらないという子どもが少なからず存在することになっているのです。
これは、考えてみれば当たり前のことでしょう。大人だって、使い慣れたツールをやめて新しいツールに移行するには、やはりちょっと勇気、気合、根性が必要です。ましてや、キーボード入力がまだそれほど得意でもない子どもたちが、慣れ親しんだScratchを離れて次のステップに行くには、大人の想像以上に大きな溝があるはずなのです。
KidsScriptのコンセプトは、このような問題意識からスタートしました。そして、Scratchに慣れた学習者が扱いやすいように、Scratchとほぼ同じコマンド体型をJavaScript上に作り込み、テキストのコマンドをScratchのようにドラッグ&ドロップでエディタ上に配置することができるようにしました。さらに、エディタで「色をつける」というオプションを選択すると、Scratchのように、色で囲まれたブロックが現れます。これを見れば、テキストプログラミングで、初心者が必ず迷う{ }の対応の問題などが、ひと目で直感的にわかります。Scratchに慣れた人であればあるほど、「あ、そういうことなんだ!」と思うはずです。こうして、少しでもテキストスクリプティングのハードルを下げ、せっかくScratchでプログラミングに親しんだ子どもたちに、もっと先の本格的なテキストスクリプティングに進んでいくための入り口となるツールを提供しようという発想で作られたのがKidsScriptなのです。
次回は、Scratch互換の部分をもう少し細くご紹介します。
KidsScriptは(株)ネクストオブジェクト代表のプログラマー中山真樹氏の作品です。
弊社はKidsScriptの開発協力をしています。