子ども向けのプログラミング言語って?
子ども向けプログラミング教室の話題をこの数年よく見かけるようになりました。
実際何をやっているかというと、本気度の高い高学年向けの教室「以外」では、普通に開発に使われているプログラミング言語のいずれかを初歩から学んでいる、というわけでは「ありません」。
「プログラミング思考」に触れる
低学年もターゲットにしたプログラミング体験教室のようなものでは、MITメディアラボが開発したので有名な「Scratch(スクラッチ)」、そのスクラッチを参考にして日本の文部科学省が作った「プログラミン」などを利用しているところが多く見られます。
スクラッチは、子ども向けを意識して作られたプログラミング言語ですが、パソコンに向かってキーボードで文字列をカタカタとタイプするようなことはしません。
たくさんの「命令のブロック」が用意されていて、そこから好きなものを選んでブロック同士を連結させ、指示を作っていきます。命令ブロックの内容は「10歩動かす」のように通常の言葉で表現されていて日本語化もされています。
画面上に配置した絵を、シンプルな命令の組み合わせで動かすだけでなく、「◯◯したら△△する」という条件をはさんだり、繰り返しパターンを作ったり、発展させてゲームなどを作ることもできます。
プログラミンはScratchをモデルにしているので基本コンセプトはとても似ていますが、より噛み砕かれ機能もシンプルにしてあるのが特徴です。命令ブロックがキャラクター化されていたり、絵が「色鉛筆手描き風」だったり、とかなり「日本的」な作りです。
言語的な命令のブロックを直線的に連結させるという作業は、考え方としては、とても、プログラミング的です。 特にScratchは、ブロックの種類、連結ルールなどが、現在主流の実際のプログラミング言語の手法に極めて近く作られているので、比較的直接的な「入門」系の言語と言えるかもしれません。
もっとビジュアル寄りのものも
それに対しちょっと毛色が違うのが、NTTの研究所が開発した「Viscuit(ビスケット)」です。
こちらは、言葉で表現された命令ブロックすら使いません。当然、文字をカタカタとタイプしてプログラムを書くわけでもありません。
動かしたい絵を描いたら、その絵を始点と終点のエリアに置き、その位置関係で動きを発生させます。
言語的な命令で指示するのではなく、ビジュアル的に力学をイメージするような手法で動きをセットするので、とても直感的なのが特徴です。こちらも発展させれば簡単なゲームを作ることもできます。より直感的なビジュアルプログラミング言語といえます。
命令ブロックはなくても、作る手順や複雑なものを組み上げていくときのステップには、大きな意味でプログラミング的な思考が生かされています。
スクラッチやプログラミンは、最低でもひらがなが読めるとか国語的な理解力がないと取り組みようがないのですが、ビスケットは、文字が読めなくても取り組める楽しめるというのは大きなポイントでしょう。
これは決して、早期教育的に早く始められますよ、とかそういう話ではありません。どちらの方が優れているということでもなく、単にプログラム言語/ツールの設計思想として、そういう違いがある、ということです。
大切なのは「作る楽しさ」
実際に、子ども向けプログラミング教室で使われているもののイメージがわいたでしょうか?
大切なのは、どれも「プログラミングの発想」に明示的に/非明示的に触れながら、「作りたいものを作る」という経験をする場だということだと思います。
自分が描いたものを動かせる面白さ、作った命令系統が機能する面白さ、これは本当に格別です。ものすごく「うきうきする」体験です。
そういう「作り出す面白さ」を、あえて「プログラミングの発想」で経験するのにふさわしい段階なのかどうか、面白いと思うタイプか、そういうことは、子どもによって大きく違うでしょう。ですから、早ければ早いほどいいということは無いし、「何歳から楽しめる」というのも人や環境によって違います。
「プログラミングを習得すると将来役にたつ」とか「すごいエンジニアになれるかも」とか、そういう期待をして子どもにやらせるのだとしたら、そもそもスタート地点が違うのではないかなぁ、と思います。「なんだかすごそう」と思って過大な期待をするのも違います。
プログラミングだって、作りたいものを形にするためのツール/手段です。スクラッチをいじったからといって、それ自体が何かすごいことだったり難しいことをしていたり、ためになることをしているというわけではありません。「言語の習得」が目的なのではなく、「何かを作ること」の方が目的なはずです。
プログラミングという手段/技術に出会ったときに、「うわーっ」と作りたい気持ちがあふれて、何かを作るから面白いわけで、その一番大切な「作りたい」と思う気持ちや、発想力は、「プログラミングを学ぶから」湧き出るわけではありません。その他の多様なたくさんの経験があってこそ、総合的に育まれていく、ということも、忘れてはいけないと思います。
プログラミングとの出会いのが「うわ、これ動いた!」という「うきうき感」や、「それならこんなこともできるんじゃない?」という「わくわく感」であって欲しいと思います。
ご紹介した、「Scratch(スクラッチ)」、「プログラミン」、「Viscuit(ビスケット)」は、どれもインターネットにつながったウェブブラウザさえあれば無料で使えるものばかりです(※注)。大人がまず自分で触ってみて、作る面白さを実感してみてはいかがでしょうか?
※注:使われている技術の関係で、タブレット端末のウェブブラウザでは使用できません。
5件のフィードバック
[…] もこれを教材にしているものをだいぶ見かけるようになりました。子ども向けプログラミングはこれまでにも紹介しましたが、画面内で完結してしまいます。これはリアルな物体を動かせ […]
[…] 子ども向けプログラミング言語の概要が知りたい方はこちらの記事で。 「子ども向けのプログラミング言語って?」 関連サイト NHK Eテレ「Why!?プログラミング」 NHK Eテレ「Why!?プ […]
[…] Scratchなどの子ども向けプログラミングツールでどんどんプログラムを組んでみること?画面で組んだプログラムでロボットを動かしてみること?どうなのでしょうか。 […]
[…] 子ども向けのプログラミング言語としてはScratchが有名ですが、これは命令ブロックを積んでプログラムをつくっていくもので、リアルなプログラムコードの文字列を書くわけではありま […]
[…] 【関連記事】 子ども向けのプログラミング言語って? 厚切りジェイソンがナビゲートするScratch(スクラッチ)の番組を早速レビュー〜Eテレ「Why!?プログラミング」 Eテレの学校 […]