年末年始に実家に帰省した際、小学3年生の甥っ子がスクラッチでゲームを作っていました。
話を聞くとスーパーマリオみたいなゲームを作りたいとのことでした。
最近の小学生はすごいなと感心し、スクラッチについて少し興味を持ったため、調べてみました。
スクラッチは、通常のプログラミング言語と異なり、ビジュアルを重視し、小難しいソースコードがありません。
プログラムの部品となるブロックを組み合わせることで目的の機能を作成していくことができます。
これは、知育おもちゃの延長線上にあるようなプログラミング言語だなというのが感想です。
確かに、プログラム作成を通じて、論理的思考をゆっくり学ぶには最適で、かつ、プログラム作成の面白さを体感できる点で素晴らしいと思いました。
しかしながら、ビジュアルによるプログラムの分かりやすさと引き換えに、プログラム作成スピードを犠牲にしていて、本格的なプログラム開発をするには効率が悪い言語であることは否定できません。
そこで本記事では、スクラッチでプログラム作成が面白いと感じ、本格的なプログラム開発を学びたい方に、次のステップとして何を学ぶべきかについて、まとめたいと思います。
目次
スクラッチによるプログラム作成で得られること
スクラッチによるプログラム作成を通じて得られることが、大きく2つあります。
一つは、論理的思考力です。
論理的思考力は、将来どのような職業に就く上でも必要な能力です。逆にこの能力があれば、どの職業に就いたとしても重宝される存在になりえます。
小学校で習う算数や国語でも論理的思考力を学べるかもしれませんが、従来は、授業を受けて、テストを受けるといった「受け身」の姿勢での学びでした。
一方で、スクラッチでのプログラミング教育では、より積極性を持って、実践に近い形で論理的思考力を学ぶことができます。
スクラッチによるプログラム作成で得られることのもう一つが、プログラム作成の楽しさです。
プログラム作成は、目標達成のためのPDCAサイクル(Plan(計画)、Do(実行)、Check(評価)、Action(改善)の流れ)が高速で回せるという特徴があります。
これは、プログラミング作業が、エラーによる失敗、原因分析、改善活動の連続で成り立っていて、かつ、コンピュータの処理速度が速いことから、瞬時に結果が得られることに起因します。
プログラミングを最後までやりきることで、成功体験と達成感を得ることができますが、PDCAサイクルを高速で回せるという特徴から、達成感や自身、プログラミングそのものの楽しさ、面白さを得やすくなります。
従来は、プログラム作成の楽しさを学べる小中学生は、コンピュータが身近にある等、一部の子に限られましたが、プログラミングの必修化で、プログラム作成の楽しさを体験できる子が増えることが予想されます。
スクラッチの次に学ぶ言語は「Arduino」がおすすめ
Arduinoとは
Arduino(アルドゥイーノ)は、全世界で流行しているマイコンボードです。
マイコンボードとは、小さいコンピュータのことで、例えば、家電に搭載されているコンピュータはマイコンです。(Arduinoが家電に搭載されているわけではありません)
Arduinoがおすすめの理由
Arduinoが、全世界で流行した理由の一つに、オープンソースであるという特徴があります。
オープンソースとは、簡単に言うと誰でもソースコードを改変できるライセンスのことで、これにより、全世界のプログラマがライブラリの開発を行いました。
Arduinoでは、スケッチと呼ばれるプログラムを作成し、Arduinoに書き込むことでArduino上でプログラムを実行させることができますが、通常、何らかのプログラムをゼロから作成しようとすると膨大な時間を要します。
Arduinoでは、既に全世界のプログラマが用意したライブラリと呼ばれるプログラム部品が数多く存在し、少ない行数のプログラムで目的のアプリケーションを作成できるような状態になっています。
さらに、Web上の情報も多くあり、自分の目的に近いサンプルプログラムを見つけて、それを元に開発を開始することも可能ですし、作成時につまずいたポイントがあれば、Web上で情報が多く出てきます。
Wi-Fi接続モジュール付属のマイコン「ESP32」
純粋なArduinoでも色々なことができますが、マイコン「ESP32」を利用すれば、さらに色々なことができます。
「ESP32」は、Arduinoのプログラムが動作するWi-Fi接続モジュールが内蔵されたマイコンで、Arduinoの豊富なライブラリを享受しつつ、インターネットを含む外部通信が可能です。
スマートフォンとの連携や、インターネットからの情報取得等が容易にできるため、IoT(Internet of Things)機器の製作が個人でも簡単にできます。
「ESP32」を利用した製作例
「ESP32」を活用すれば、電車やバスの行き先表示で利用されているLEDパネルに、インターネットから取得した情報を表示することも可能です。
ESP32とLEDパネルを活用した情報端末の製作については、別記事にまとめましたので、興味を持たれた方は、こちらもご覧下さい。
コメント