低年齢化するプログラミング教育 -子どもたち、どんどん未来をハックしておくれ -

ScratchJrで遊ぶ兄弟。妹も楽しそうに覗いています。
ScratchJrで遊ぶ兄弟。妹も楽しそうに覗いています。

最近の我が家では、7歳の長男が5歳の次男にプログラミングを教えています。iPadをのぞき込む兄と弟。「ScratchJr(スクラッチジュニア)」を使ってドラッグしたりタップしたりしながら、楽しそうにしています。

兄「ここにたこさんを置いてね、こうやると数字が出るから、1ってなってると1個分だけ動くけど、5にすると、5個分先に行くようになるよ、ほら」

弟「ほんとだー」

兄「背景も変えられるよ。こうやって設定してー」

弟「たこさんだから海がいい。おさかなさんも動かしたい」

兄「じゃぁ、おさかなさんを持ってきて(ドラッグして画面の中に持ってくる)、動かしてみる」

弟「10にする!」

兄「それじゃ、ぶつかっちゃうよ。あ、たこさんにぶつかったら終わりっていうゲームにしてみようか。それにはえーっと」

そんな会話が繰り広げられながら、海を背景に、「たこさんがたくさんのおさかなさんから逃げるゲーム」が作られていきました。

兄の「プログラミングへの好奇心」。そして、弟の「兄への尊敬の眼差し」。子どもの言葉で、そして子ども自身がハマったツボの視点で教えるプログラミングは、私が教えるよりもはるかに次男の興味をそそるようです。

「お兄ちゃんすごい!」

そして、兄は教えることによって、より理解を深めていっているように思います。

義務教育に加わったプログラミング教育

私が初めてプログラミングをしたのは高校生のとき。父親がエンジニアでプログラムを自宅でも組んでいたことと、数学の教科書の後ろにBASICのアルゴリズムが載っていたことが、興味を持ったきっかけでした。

しかし、ここ最近は、プログラミング教育はずいぶんと低年齢化してきています。

義務教育の中では、2012年からは中学校の技術家庭科で「プログラムによる計測・制御」が必修になっています。中学校の指導要領の技術分野には、「D 情報に関する技術」にあるように、「ディジタル作品」という言葉や、

プログラムによる計測・制御について,次の事項を指導する。

ア コンピュータを利用した計測・制御の基本的な仕組みを知ること。

イ 情報処理の手順を考え,簡単なプログラムが作成できること。

といったことが内容として掲げられています。

アメリカでは、老若男女を問わず「誰でもプログラミングを学べる」という意識を持たせることを大きな目標とした「コンピューターサイエンス教育週間(Computer Science Education Week: CSEdWeek)」があります。この期間には、数多くのプログラミングやコンピュータサイエンスに関する無料のワークショップやイベントが行われています。

幼稚園や小学校低学年向けには

そして日本でも、もっと低年齢のうちに学ぶ機会が増えてきています。

5月に発売された『ルビィのぼうけん(原題:Hello Ruby)』(翔泳社)という絵本があります。基本は絵本なのですが、論理的思考が身につくようなストーリーになっています。

「おもちゃをかたづけなさい」と言われたルビィはぬいぐるみを元に戻し、ブロックやおもちゃの家を片付けます。でも、お絵かきえんぴつは床に置いたまま。「えんぴつはおもちゃじゃないものね」

私が読むと、この論理的思考の絵本の面白さが分かるのですが、子どもたちは果たして理解しているのでしょうか。本当に理解しているかどうかは、私にも分かりません。

しかし、考え方の勉強や訓練にはなるように思います。絵本だからといって、子ども向けとするのではなく、大人でもプログラミングを始める初学者に楽しめるような本だと思います。

冒頭で紹介したScratchJrも、幼稚園児や小学校低学年向けのビジュアルプログラミング言語です。このような低年齢児にも理解できる、ビジュアルプログラミング言語を使ったワークショップの開催も、日本全国に増えてきています。このように、低年齢児が初めて携わるプログラミング言語として、Scratchコミュニティは非常に盛り上がりを見せています。

一方で、Scratchや同じくビジュアルプログラミング言語である「Viscuit」で入門したけれど、その次の言語が不足するといった「Scratch難民」の存在も、株式会社UEIの清水亮氏をはじめとした有識者から指摘されています。

7歳の長男はScratchでは物足りなくなってきているようですが、英語が分からないのと、キーボードをタイプすることができないので(フリック入力はできますが。笑)、他の言語に移行できていません。疑似コードを見せて、画面に文字を表示させるPrint文を軽く教えてみたら、「なんで英語なの?」と聞かれます。「“いんさつ”って書くのじゃダメなの?」とか。

このように、プログラミング言語やツールの問題、そして適切な指導者をそろえる、といった人材の問題などが指摘されているのです。

ゲームをハックすることでプログラミングに興味をもたせる

IPA(情報処理推進機構)の「未踏IT人材発掘・育成事業2015年度スーパークリエーター」である寺本大輝氏は、ゲームをハックしてプログラミングを好きになる、「HackforPlay(ハックフォープレイ)」というシステムを開発しました。

システムとしては、敵と戦わないとクリアできないゲームなのですが、どうやってもそのままでは勝てません。

ところが、ゲーム内に魔導書というものがあり(そこにはJavaScriptのソースプログラムが書かれている)、それを見てみると、プレイヤーのヒットポイントの初期値がとても低いことが分かります。その初期値を書き換えて(すなわち、ハックして)、再度プログラムを実行すると、今度は簡単に戦いに勝つことができるのです。

子どもがプログラミングに興味を持つために、そして子どもがプログラミングを嫌いにならないために、子どもの大好きな「ゲーム」を題材にしてプログラミングに導く、というコンセプトで設計されたこのシステム。「ゲームはプログラムで書かれており、それを書き換えることでゲームの挙動が変わる」ということを子どもたちは身をもって体験することができるのです。

HackforPlayは、これをベースにしてゲームを作ったり、友達が作ったゲームを改造してみたり、とゲームステージを投稿・共有することができるプラットフォームにもなっています。

身近で体験できる機会を探してみては

夏休みを前にして、たくさんのプログラミング教育を学べるワークショップが企画されています。地域の広報誌や小学校経由で配布されるチラシなどに目を向けると、体験教室やワークショップなどの情報が得られることでしょう。

毎年開催されてきたNPO法人CANVASによる「ワークショップコレクション」は、今年は九州・福岡で開催されます。

また、小中学生向けにはプログラミングコンテストが開催されます。今年のテーマは「ロボットとわたしたち」。今はやりの人工知能やロボットが私達の生活をどう変えていくのか、興味を持った方はぜひ応募してみてはいかがでしょうか。

そんなワークショップなど近くにない、という方も、自宅でのちょっとしたきっかけを活用してみるという手もあります。

画像

我が家では長男は小学校2年生になり、小学校の算数では繰り上がりのある足し算を習っています。息子を含め友達の間でブームになっている計算が1+1=2、2+2=4、4+4=8、・・・。小さいころ、誰もがやったことがあるのではないでしょうか。私も父によく出されていました。

こんなことから、「1と0で表されるコンピュータの世界」を少し教えてみたり、「こういったながーい計算をコンピュータは得意で一瞬で解いてしまうんだよ」といったコンピュータにまつわる会話のきっかけにしたりしています。

このように、低年齢の子どもたちにじわじわと浸透してきたプログラミング。プログラミングの得意な人だけが子どもに教えるのではなく、これまでプログラミングに携わったことのない方、プログラミングに苦手意識のある方も、この機会にぜひプログラミングを始めてみてはいかがでしょうか? 老若男女の視点が入ることで、こういったIT業界も様々な気づきや発展の可能性が広がるのです。

(この記事は、JBPressからの転載です。)