始めに
2020年からは小学校でプログラミング教育が必修となります。
具体的にどういったことをするのか気になったので少し調べてみたところ、いくつか実施例があり、プログラムでの図形の描画や音楽の作成、ロボットに迷路を進ませたりと結構いろいろな取り組みをしているようです。
また、実施内容に合わせて学習用のツールも色々とあるようで中でもScratchというものがよく利用されているようです。
今回はそれを少し触ってみたので紹介したいと思います。
Scratchとは
マサチューセッツ工科大学メディアラボのライフロングキンダーガーデングループが開発した無料で使うことができるビジュアルプログラミング言語。
ビジュアルプログラミングとは実際に自分でガリガリとコードを書くようなものではなく、あらかじめ用意されている命令が書かれたブロックを組み合わせて視覚的にプログラミングを行うもの。
準備
ダウンロードして実行するものとWebブラウザ上で動作するものがあり、今回はWeb上のものを利用する。以下のURLからアクセスできます。https://scratch.mit.edu/projects/editor/
プログラムの作成
![](https://image.jimcdn.com/app/cms/image/transf/dimension=681x10000:format=png/path/s9865c8516a7301d3/image/i872268ff27980385/version/1567331976/image.png)
アクセス直後の画面は上のようになっています。
左側にあるのが各命令が書かれたブロックですぐ横の何もない空間にドラッグ&ドロップしてつなぎ合わせていくことでプログラミングをしていきます。
プログラムを実行すると画面右上の猫が順番にブロックに書かれた命令に従って動きます。
実際に作ったものが以下になります。
![](https://image.jimcdn.com/app/cms/image/transf/dimension=681x10000:format=png/path/s9865c8516a7301d3/image/i2762392f6a7e1627/version/1567337697/image.png)
こんな感じでブロック同士をつなげて、条件式などの細かな数値を調整して作っていきます。
おおむねブロックにかかれている内容の通りですがいちおう説明すると、各ブロックの内容は以下のような感じです。
・旗マークが押されたとき
プログラムの実行タイミング(イベント)
・ずっと
挟んでいるブロックの処理を繰り返し実行
・緑色のブロック
条件式
・もし~でなければ
挟んでいるブロックのうち条件式が真なら上をそうでないなら下のブロックの処理を実行する
このプログラムは画面右端の座標に着くまで猫を10歩ずつ移動させるというものです。実際に動かしたものは次のようになります。
直感的な操作で簡単にプログラムを作成することができ、ちょっとしたゲームなら、割とすぐに作ることもできます。
終わりに
Scratchは8~16才のユーザーを対象に設計されたものではありますが一部では大学生や社会人などの教育や学習にも利用されているようです。
確かに実際に触ってみた感じでは公式サイトのチュートリアルを少し見ただけでもそれなりのものは作れるのでプログラミング未経験の方とかに最初の導入として少し触ってみてもらうのもいいかもしれないと思いました。