プログラミングツールの中でもScratchにこだわる理由は?

ワークショップでの一コマ
ワークショップでの一コマ

 Scratchの場合、簡単に使えるのがよい。まず、起動した直後にやるべきことが画面の中に見えている。テキスト言語の場合、シェルを起動した直後はプロンプトしか出ていなかったりするが、Scratchの場合は画面上に命令の一覧や命令を与えるネコがすでに表示されている。例えば、「10歩動かす」という命令のブロックがあって、これをクリックするとネコがその通りに動く。できること、やりたいことがすぐに分かるので、使うときのハードルがとても低い。

 また、Scratchがマウスだけでほとんど操作できることも重要である。ローマ字を習うのが小学3年生からということもあり、英語の命令文をキーボードから入力するのは子どもたちにとって難しい作業になる。

 このように子どもがプログラミングツール自体の使い勝手やキーボード操作に煩わされることなく、自分で試しながらプログラミングに専念できるということから、Scratchがプログラミング学習に適していると考えている。

 ただ、学習用途でScratchを学んだあとにどうしたらよいか、継続してプログラミングを続けるのは困難ではないか、という疑問や指摘もよく聞きます。

ワークショップでの一コマ
ワークショップでの一コマ

 Scratchのようなビジュアルプログラミング言語からテキスト言語への移行について疑問視する意見は以前からある。ただ、この意見の前提になっているのは、プログラミングを高度ICT人材の育成あるいは職業訓練として捉えている場合ではないだろうか。プログラマになるのでなければ、テキスト言語に無理に移行する必要はない。重要なのは、コンピューテーショナルシンキング(プログラマ的思考法)の獲得だ。

 では、人材育成や職業としてではなく、教養としてプログラミングに取り組んでいる子どもはずっとScratchのままでよいのか。これについては、作りたいものによって使用する言語は変わっていくと考えている。

 Scratchはほかのテキスト言語と比べて制限された数の命令(ブロック)しか備えていない。Scratchを使い続けている子どもが、より高度な表現をしたいと考えてScratchの限界に達することも当然ある。Scratch2.0でのブロック定義のように言語拡張する仕組みを備えているものの、それでもできることには制限がある。

 自分のやりたいことがScratchではできないとなったときにどうするか。そのときは、ほかのテキスト言語への移行が考えられる。どのテキスト言語がよいのかについては、子どもたち自身がScratchの公式サイト内の掲示板でディスカッションをしている。

 WebならJavaScriptがいいよとか、あるいはRubyがいい、Pythonがいいというように、作りたいものによってどの言語がよいのかが変わることを理解し、それを話し合っている。最近のブームはScratchプロジェクトファイルの解析とJSONによるハッキングだ。

 これは先ほど述べた「子どもたちが真剣に問題に取り組むときは、自分たちにとって意味のあることをやっているときだけだ」ということとつながる。やりたいことがあれば、適切な言語を選択することにも真剣に取り組んで、試行錯誤の対象になるわけだ。

 こうした活動を見てくると、大人がこれからの世の中でもC言語ができないとダメだろうみたいなことを言って、それを押し付けるのは間違っていると感じる。Scratchからの卒業についても、意欲的な学習態度を身に付けた子どもたち自身に委ねればよい。

■はじめてスクラッチを体験するのにぴったりな人気テキスト『小学生からはじめるわくわくプログラミング』の一部とScrachソフトのダウンロード先をセットにした「DUALはじめてのプログラミングスタートキット」はこちらからどうぞ!

『小学生からはじめるわくわくプログラミング』
阿部和広著

購入はこちらから
Amazonで購入する