株式会社サンエルでは、はじめてプログラミングに触れるお子さん向けのプログラミング教室、「サンエルキッズラボ」を運営しています。
教室の詳細については別の記事で紹介しているので、今回はキッズラボで扱っている教材についてお話しますね。
サンエルキッズラボでは、IchigoJam (イチゴジャム)というミニコンピューターを使用し、プログラミング学習を行なっています。
IchigoJamでのプログラミングは、他のプログラミング教室でよく使われている、Scratch(スクラッチ)をはじめとした「ビジュアル言語」とは異なるスタイルのプログラミングです。
この記事では、IchigoJamとScratchの違いや、サンエルキッズラボがIchigoJamのプログラミングを良いと思っている理由など、具体的な例をまじえてお伝えしたいと思います。
IchigoJamって?
IchigoJam(イチゴジャム)は、プログラミング専用のこどもパソコンです。
シングルボードコンピュータと呼ばれる、むきだしの基板1枚の小さなコンピュータで、サイズは手のひらにのるくらい小さめ。
シングルコンピュータのなかでは、初期のセットアップが必要ないので、キーボードやモニターをつないで起動するだけで、プログラミングがはじめられます。
また、IchigoJamは入出力ポートも備えています。
なので「LEDやサーボモーターなどの電子部品をIchigoJamから制御する」といった、電子工作と組み合わせた学習も気軽に試すことができます。
身近なものとプログラムをつなげて、自分で考えながら、課題解決する力をつけるきっかけにもなるのです。
電子工作と組み合わせた学習の例を紹介します
サンエルキッズラボでも、IchigoJamと電子工作を組み合わせた特別授業を実施しました。
内容はボタンとLEDをはんだ付けして電子パーツを作り、それをIchigoJamで制御するというものです。
たとえば下の画像は、LEDをランダムに光らせて光った位置のボタンを押す「LEDもぐらたたき」です。
ほかにも、信号機LEDやレジンで作ったオリジナルのLEDなど、さまざまなLEDをIchigoJamのプログラムを使って光らせることができますよ。
下の画像は信号機LEDの様子です。
IchigoJamのプログラミング
プログラミング言語には大きく分けてビジュアル言語と、テキスト言語があります。
Scratch(スクラッチ)などのビジュアル言語では、ブロックやフローチャートをマウスやタッチパッドで操作し、プログラミングを行います。
ビジュアル言語は、プログラミング言語の文法などの詳しい知識がなくても、プログラミングができるように作られているのが特徴です。
実際にScratchで「方向キーの左右を押すと、キャラが動く」ようにプログラムしてみると、下の画像のようになります。
一方、IchigoJamであつかうテキスト言語は、「文字、記号、数字」をキーボードでタイピングしてプログラミングをします。
IchigoJamで「方向キーの左右を押すと、キャラが動く」ようにプログラムした場合の画像も見てみましょう。
同じような動きをプログラミングしていても、ビジュアル言語とテキスト言語ではその内容が大きく違うことがわかりますよね。
キャラクターを動かしてみよう
Scratchのプログラムは、ブロックにかかれた言葉のままキャラクターが動きます。
なので、「X座標が横の位置を示すもの」とさえわかれば、プログラムが動く仕組みが想像できるのではないでしょうか。
それに対してIchigoJamをはじめて見る場合は、「ほとんど意味がわからない…」という印象を持つのではないでしょうか?
先ほどの画像のプログラムをいちから書くには、各コマンド(命令)の意味や書き方のルールだけでなく、
- キャラが移動して見える仕組みの理解
- キーの入力を受け取る仕組みの理解
- 実現したい仕組みに対して必要なコマンド
…などなど、要素を複合的に理解している必要があります。
自分の使っている言葉をそのまま生かして組めるビジュアル言語と違い、IchigoJam側のルールに合わせて作る必要があるということです。
ビジュアル言語ではなく、IchigoJamプログラミングを選ぶ理由
先ほども言いましたが、IchigoJamでプログラミングをするには、IchigoJam側のルールに合わせて作る必要があります。
しかし、私はここにプログラミング学習における重要なポイントがあると考えています。
例えばゲームで遊んでいるとき、キャラクターを動かそうと思ったらどうしますか?
おそらく「普通は方向キーを押せばキャラクターが動く」と思いますよね。
でもIchigoJamを使って自分でゲームを作ろうとしたときに、「IchigoJam側のルールに合わせて、やりたいことの仕組みを作る必要がある」ということは、
- そもそもキャラが動いてみえるってどういうこと?
- 『なんのキーを押したか』ってどうやって判断するの?
といったように、実現したいことを分解したり、抽象化したりして、相手(コンピュータ)側が理解できる形に組み立て直す、という高度な思考が必要になります。
IchigoJamでのプログラミング学習は、早い段階からこういった思考力が身に付きます。
思考を続けることで問題解決力を育てることができます
問題解決力とは、色々な視点で物を見たり、さまざまな方法を試せるようになる考え方です。
「当たり前」なことを抽象化・分解し、別のルール上で動くように組み立て直すという思考は、プログラミングに限らず、問題解決力の強化につながるはずです。
IchigoJamで自分の作りたいものを実現しようとすると、コンピュータのルールに合わせるために、それまでは考えてなかったアプローチで物事を考えることになります。
この経験こそプログラミング学習の肝で、IchigoJamの醍醐味ではないかと思っています。
ビジュアル言語は、プログラミングの世界に入りやすい代わりに、この経験を得られる部分の濃度が薄いと解釈しています。
さて、ここまで説明すると、「IchigoJamの学習は子どもには難しいのでは?」と思われるかもしれません。
しかし実際に子どもたちにプログラミングに触れてもらうと、その適応力に大人も驚かされることが多いのです。
IchigoJamのプログラミング、キッズラボではどう学ぶ?
私はキッズラボでの活動も含め、これまで小学生向けにIchigoJamのプログラミング体験を何度も実施してきました。
その経験からいうと、大人が見るととっつきづらさと地味な印象があるIchigoJamのプログラミングも、子どもたちには関係ないようです。
実際にサンエルキッズラボで実施している授業に沿って説明していきますね。
0.キーボードに初めて触る〜プログラミング体験~
アルファベットさえわかれば、キーボードのタイピングも、子どもたちにとってはアルファベットを探すゲームです。
キッズラボで実施しているプログラミング体験では、3~4文字程度のコマンド(命令)を、一文字ずつタイピングして短いプログラムをつくるところから始めます。
コマンドを打ち慣れたところで、そのコマンドを使ったゲームのプログラムを入力して遊んでもらいます。
「ゲームが作れた!」と子どもたちが盛り上がったところで、さらに長いテキスト量のゲームプログラムを入力してもらいます。
このときゲームで遊ぶだけではなく、ゲームを自分のオリジナルバージョンに改造してもらいます。
改造する方法を教えるので、子どもたちはプログラムを見て、「ここを書き変えたらどうなるだろう?」とプログラムを書きかえていくのです。
このころには、キーボードでIchigoJamを操作し、記号の入力に迷うこともなく、勝手にプログラムを変更して遊んでいる子もいます。
そしてその中には、この日はじめてキーボードに触ったという子たちもいます。
1.初級コース
先程も紹介したキャラクターを動かすプログラムを、自分で作れるようになるまでには、段階を踏む必要があります。
初級コースでは、IchigoJamのコマンドを少しずつ学びながら、プログラミングの基本的な要素を学んでいきます。
具体的には、あるコマンドを使った簡単なプログラムを、
ポイント
- テキストからIchigoJamに写して書く
- 実行する
- 結果をみて自分で変更を加えてみる
という作業を繰り返しながら、そのコマンドの使い方や仕組みを学んでいく、という流れになります。
2.ステップコース
初級コースで基礎をひととおり学んだ後は、ステップコースでプログラミングの学習を深めていきます。
自分のペースで問題プリントを解いていく自立型の学習に加え、作品作りをとおして学んだことを実践する機会を設けます。
そして「複雑なプログラムを自分で組める」というレベルに到達できるよう、生徒さんに合わせたアプローチで学習を進めています。
興味を持って継続できるのが一番、試して合うスタイルを選ぼう
いかがでしたか?
IchigoJamのプログラミングについて、他の塾で多く採用されているビジュアル言語と比較しながらご紹介してきました。
これまで接した生徒さんのなかには、
など、様々なお子さんがいました。
どちらが良い悪いということはないので、試した上でその子が継続できる・ハマる方のスタイルを選んで欲しいと思います。
サンエルキッズラボに興味がある方は、電話や公式サイトのメールフォーム、LINEの公式アカウントなどから、お気軽にお問い合わせください!