今回は、当ブログで取り上げている「小学校プログラミング教育に関する研修教材を見てみよう」シリーズの2つ目の具体例を紹介します。
基本操作はマニュアルがあるのでご確認下さい。
この教材は、C-① プログラミングの楽しさや面白さ、達成感などを味わえる題材などでプログラミングを体験する取組 の項目の例として、簡単なプログラムを作成してみよう ということで次のような内容が紹介されています。
ねこ・ねずみを動かす
ストーリー
主人公はネズミ(あなた)です。家に帰りたいのですが、ネズミと家の間にネコがうろついています。ネズミをうまく操作してネコにつかまらないように家に帰りましょう。
プログラミングを必要とする動きの考察
これを実現するためにはそれぞれのキャラクタについてどのようなプログラミングが必要となるかを考えてみます。
私は、大きく次の4つがあると考えました。
- ネコをうろつかせる
- ネズミを操作する
- ネズミとネコにつかまる(ぶつかる)と失敗としてプログラムを終了する
- 家に入ると成功としてプログラムを終了する
教材では、ネコを左右に走らせていますね。私もそれぞれ考えて作ってみました。
1.ネコをうろつかせる
ネコは左右に無限に往復させる動きにします。その際、ネコは2つのコスチュームを入れ替えて走っているような動きにします。
また、画面端に行くとネコが逆さまになってしまうので、逆さまにならないように、回転方向を左右のみになるブロックを使用しました。
2.ネズミを操作する
ネズミを操作するためには、【マウスのポインターへ行く】ブロックを使用すれば実現できます。
この時、【マウスのポインターへ向く】ブロックを使用することでネズミがちゃんと進む方向を向いて動くようになります。
3.ネズミとネコにつかまる(ぶつかる)と失敗としてプログラムを終了する
4.家に入ると成功としてプログラムを終了する
この2つは、どちらも、何かに当たるとプログラムを停止するようにすれば良いですね。
ネズミのプログラムはこの3つが基本動作となります。
これらを一つに組み合わせてこのようにしてみました。
動かしてみたところ成功しました!!
どうでしょうか? 単純な動きを使った例題であっても、実際にプログラミングすることは難しいものです。
私はプログラミングの難しさの理由として次の2点に集約されると思っています。
1.日常では無意識で理解できていることであっても、どのような動きになっているかを順序だてて考える必要がある。(論理的思考の訓練)
2.実現したい動きを再現できるブロック(命令)が何かを見つける(理解する)必要がある。(プログラミング言語の取得)
この2つのうちの一つ目の論理的思考が小学生の時から養われる教育が行われれば良いですね。
次回は、3つ目の例題に調整したいと思います!!