キッズプログラミング教室について

   当社では、教育用プログラミング言語「Scratch」を使って、
 小学生を対象にしたプログラミング教室を行っています。  

キッズプログラミング教室の目的

プログラムの正体

 突然ですが、プログラムというものがどういうものか、イメージできますか? よくわからないけど難しそう、と思うでしょうか。自分とは縁遠いものと感じているでしょうか。
 実はプログラムというのはとても身近なものなんです。 今日では、日常生活で使用するもののほとんどにプログラムが使われています。 パソコンやスマートフォンのOSやアプリに始まり、自動車、家具家電、自動販売機や コンビニの自動ドアなど、挙げればきりがありません。
 そんな非常にたくさんあるプログラムは、プログラム言語と呼ばれるもので書かれています。 プログラム言語も非常に多くの種類があり、それぞれに特徴がありますが、 すべてのプログラムとプログラム言語についていえることがあります。
 それはプログラムの根幹が、「論理的につながった条件と判定」にあるということです。 これ自体は単純で、AはB、BはC、だからAはC、というようなものだったり、 XがAのときはBの処理をしてCのときはDの処理をする、などというものです。
 みなさんがよくやるゲームを思い浮かべてください。あるキーを押したら キャラクターがジャンプするというとき、「あるキーを押したら」 が条件で、「ジャンプする」というのが判定です。 実際には「ジャンプする」という判定の中にはさらに細かい条件と判定が入っているのですが (ジャンプするというのは画面上でどう動くことなのか、高さはどこまでか、あたり判定は、など) それも条件と判定でできています。
 これら条件と判定を大量に積み上げ、組み合わせることで、プログラムはできています。一つ一つは単純だけれども、膨大な数あるので、複雑に見えます。

プログラムで大事なのは言語ではなく考え方

program
 問題は、その積み上げ方や組み合わせを考えるのが人間であるということです。 プログラムは命令を書かれたとおりに解釈して実行しますが、命令してないことまではやってくれませんし、 プログラム自身を縛るルールに反することもできません。このルールが「論理」なのですが、これは簡単に言えば「ものごとの筋道」のことです。 プログラムに命令を実行させるには論理的に正しい命令(=すじみちの通った矛盾のない命令)を与える必要があります。
 ここに必要なのが論理的に正しく物事を考える力、「論理的思考力」です。論理的にただしい命令 を組み立てることが出来れば、プログラムは忠実にその命令を実行してくれます。 言ってしまうと、プログラミングで最も大事なのはこの論理的思考力であり、これさえしっかりしていれば どんな言語でもあとは考え方を流用するだけです。(もちろん言語ごとの仕様や文法の差異はありますが)
 
 しかし、ここに大きな壁があります。上図のように、実際のプログラム言語はすべて英数字と記号で書かれており、 各命令を行うための構文や文法を覚えなくてはならないため、初めての方にはかなりハードルが高いのです。
 「プログラムって難しそう」と多くの方が感じるのもこれが原因の一つです。 まして、大人も難しいものを、小学生がそう簡単にできるようになるというのは難しいでしょう。

Scratchは言語を覚える必要はない

program2
 しかし、今回利用するScratchは、プログラムの構文を学ぶ必要はありません。 これはアメリカのマサチューセッツ工科大学が教育用に作り出したプログラムで、無償で公開されています。 これのすごいところは、日本語が書かれたブロックを組み合わせるだけでプログラムが作れるところです。
(右図をご覧ください。すべて日本語です。)
 構文のルールを省いて思考の部分だけを取り出しているので、 自然とプログラム的な考え方が身に付きます。筋道を立てて物事を考え、 「こうしたらどうなるか」「こうしたいときはどうするか」と繰り返し考えていくことによって、 問題を分解し、順序立てて考えることが出来るようになります。こうした考え方を早くから体験することで、 その後の人生の思考の仕方に影響を与えることがあります。

思考のクセをつける

 子供の時にした経験は、のちの自分の根幹をなすものになります。 所謂アイデンティティです。
 この経験の中には、ある物事に対して「何をどのように考えたか」というような 思考の内容・方法が含まれています。これはいわば「物事のとらえ方」「考え方のクセ」と言えるものです。
 そこでプログラミングです。先ほども述べたように、プログラミングは 論理的思考力を育てます。普段から順序立てて物事の筋道を考えていれば、そういう考え方のクセがつき、 物事、問題を切り分けたり順序立てて考えて結論を導くような考え方が身に付きます。 現実の問題に対して、論理的・理性的に対処できることは 世の中を生きていくことにおいては非常に重要な要素です。 問題を分解して順序立てて考えることが出来れば問題の本質やカラクリが見えてきて、正しい解決方法を導きやすくなります。
※もちろん、論理的思考がどんな時においても正しいとは限りません。申し上げたいのは、論理的思考は物事を考える際の考え方の基準の一つとして、 人生のさまざまな場面で役立つということです。

「利用する」から「創る」への転換

 小学生の皆さんの中にはゲームが好きで、やりすぎてよくお母さんやお父さんに しかられているという人も多いことでしょう。 「ゲームなんて止めて勉強しなさい」おそらく大多数の方がそう言われたと思います。
 しかしここで、もし「ゲームをやるよりも作る方が面白い」ということを感じられれば、 ゲームする時間が減るかもしれません。ゲームに関わっているには違いないのですが、 ゲームプログラムを作るということは、ただゲームをするよりも圧倒的に頭を使います。
 頭を使うということは、すなわち脳を鍛えていることになるのです。 これは、お父さんお母さんがお子さまにさせたがっている勉強と同じです。どうせ勉強するなら楽しいほうがいいと思うのです。 また、この論理的思考力は日本語の読解力や、計算式を組み立てる能力などにも関わっている能力です。
 プログラミングをすることは、論理的思考力を養い、物事の本質を見抜く力を育てます。 またじっくりと自分で考えることで、集中力も高めることになります。 これはプログラムだけではなく、学校でやっている勉強にも必ず役に立ちます。 将来たとえプログラマなどの職業に就かなくても、人間的な力の一つとして利用できるものになるでしょう。