今回のイベント内容
2019/11/20に岬町立淡輪小学校内の淡輪学童保育室にて、「らびっじ・らぼ」主催の「プログラミング教室」を開催しました。
学童保育室の4~6年生(当時)の児童に参加してもらい、「パソコンを使わない」(難しく言うと「アンプラグドな」)プログラミングを体験してもらおうという取り組みです。
教室の開始前に何人かの児童が「パソコンはないの?」「パソコン使って私やったことある」のように話しかけてくれました。
当日の様子や流れを以下にて紹介します。役場の指示により、現場の撮影はNGでしたので、文章と画像で雰囲気を伝えたいと思います。
導入
まず最初に、今回の教室の導入として、「プログラミング」全般について、チラシの内容をもとに今回の教室の概要や以下のような事柄を説明しました。
- 「プログラミングって何?」
- 「こどもにも関係あるの?」
- 「将来、何かの役に立つの?」
- 「どんなことをするの?」
- 「難しい?」
学童保育室の多くの先生が同席してくださったおかげで、児童たちも大きく緊張せずに参加してくれているようでした。
説明をじっと聞いてくれる児童、ちょっとテンション高めで落ち着かない様子の児童、などいろいろいて、講師としてもわくわくする雰囲気でした。
事前説明
続いて、児童に参加してもらう「演習」の事前説明をしました。
いわゆる、ルール説明で、演習の「目的」「役割分担」「使える命令」についての説明です。
目的
今回の演習は、『「赤ずきんちゃん」がおばあちゃんを助けるために「おばあちゃんの家」に行く』というもの。
実際には、以下の写真のような「盤面マット」を使って、盤面マット上に「最初のマス」と「おばあちゃんの家のマス」を設定し、『「最初のマス」から「おばあちゃんの家のマス」に進む』ことになります。
その目的を果たすために、パソコンなどの機器を使わずに手作業で、赤ずきんちゃんがどう動けばよいかのプログラムを作成し、テストし、正しいプログラムに仕上げるという作業をしてもらいます。
役割分担
今回の演習では、児童のみんなに次のような3つの役割を分担してもらいます。
プログラマー | 命令を組み合わせて、赤ずきんちゃんをどう動かすかのプログラムを作る人 |
テスター | プログラム通り、ボットに指示を出し、バグ(命令の間違い)をチェックする人 |
ボット | テスターの指示に従い、盤面マット上で赤ずきんちゃんとして実際に動く人 |
使える命令
プログラマーが使える命令は、「前進」「左折」「右折」の3つのみです。
前進 | 向いている方向に1マス前に進む |
左折 | 左に向きを変える(マスの移動なし) |
右折 | 右に向きを変える(マスの移動なし) |
これらの命令を組み合わせて、盤面マット上の開始マスにいる赤ずきんちゃんを、マスを移動することで、無事におばあちゃんの家のマスに到着させることが目的です。
具体的には、手持ち型のホワイトボードに「前進」「左折」「右折」の命令マグネットを貼り付けてもらうことで、赤ずきんちゃんの動きをプログラミングしていきます。
演習(おためし)
次に、おためしの演習をやってみました。
『「前進」「前進」』という2つの命令を連続して行う簡単なものです。
講師の私が「プログラマー」となって、あらかじめ手持ち型ホワイトボードに『「前進」「前進」』の連続した2つの命令マグネットを貼り付けておき、チャレンジしてくれる児童2名に「テスター」と「ボット」をやってもらいました。
実際の、プログラムとなる『「前進」「前進」』の命令マグネットを貼り付けた手持ち型ホワイトボードはこんな感じです。
そして、「テスター」がプログラムを「ボット」(赤ずきんちゃん)に伝え、「ボット」が盤面マット上を移動します(実際には、「ボット」役の人が盤面マット状を歩きます)。
実際に、みんなが見ている中で行うので、なんとなくスムーズにやり方を理解してもらえたように思います。
演習(おためし)(バグあり)
さらに、開始マスから近い位置におばあちゃんの家をセットしたおためしの演習を実施。
ただし、今度のおためしでは、バグ(命令の間違い)を仕込んでおきます。
今回も同様に、講師の私が「プログラマー」となって、プログラムしておいたものを「テスター」に渡します。
このプログラムをもとに「テスター」が「ボット」に指示を出してもらうと、バグ(間違い)があるプログラムなので、おばあちゃんの家に着けません!
この状況で、みんなに「何がまずいのかわかりますか?」という問いかけをすると、わりとするりと、課題(バグ)を発見し、解決策を提示(デバッグ)してくれました。みんな飲み込みが早いです。
演習(自分たちで考えてみよう!)
しめくくりは、すべての作業を自分たちでやってもらいます。児童たちだけで3つの役割を全部担ってもらい、目的を達成するミッションです。
おばあちゃんの家は、先ほどのものより開始マスから遠くなり、障害物(井戸、オオカミ、草原)が出現して、邪魔(そのマスは通れなくなる)をします。
面白味がない?「ボット」は成り手がなく、学童の先生に担当していただくことになりました(ありがとうございます!)。
「プログラマー」「テスター」は、参加児童を2つのチームに分けて、各チーム内でさらにどちらかの役割に分かれてもらいました。
各チームの「プログラマー」たちが、ああでもないこうでもないと相談し合いながら、なんとかプログラミングを完了。
続いて、各チームの「テスター」たちが、そのプログラムをテストします。
しかし、実際にボットに指示を出し、動いていくと、思った通りにおばあちゃんの家に到着しない(プログラムにバグがある)という状況に遭遇します。
そのたびに若き「テスター」たちは意見を出し合い、議論し、あきらめることなく、命令を修正する作業(デバッグ)をしていきました。
そして、トライ&エラーを繰り返しながら、なんとか2チームともおばあちゃんの家に無事到着する方法を見つけ出しました。
1チーム目のアウトプットはこちら。
2チーム目のアウトプットはこちら。
今回はいい感じに、2チームそれぞれが命令の組み合わせ(経路)が異なる答え(プログラム)を導き出してくれました。目的には経路の条件や制限はないため、どちらも正解です!
面白かった、つまらなかった、しんどかった、など、感想は様々だと思いますが、今後みんながいろんなことを考える際に、今回の体験が小さなヒントになればよいなと思っています。
駆け足で進行させていただきましたが、児童のみなさんは、最後まで粘り強くついてきてくださいました。ありがとうございました。
先生方には、実施前の準備時、実施中、終了後に至るまで多大なるご協力をいただきました。本当にありがとうございました。
そして、私自身がとても楽しい時間を過ごせたことを、みなさまに感謝いたします。
教材の素材
本イベントで利用した素材を当サイトの以下のページにて提供しています。適宜ご利用ください。
【素材】 Rescue Mission (CS Unplugged)
本ページ利用についての注意事項
本ページで紹介している本イベントの内容は、「CS Unplugged」で紹介されている「Rescue Mission」のノウハウ、コンテンツ、データなどの情報を利用しています。
これらの情報はすべて「クリエイティブ・コモンズ・ライセンス(CC BY-SA 4.0)」のもとに提供されているため、本ページで紹介した情報(文章や画像など)はすべて同ライセンスを継承しています。
ご利用の際には、該ライセンスを理解された上で、ご利用ください。
ただし、当ページ内の「CS Unplugged」で紹介されている情報以外の情報に関しては、当サイト運営者独自の情報であり、著作権などの権利は放棄していませんので、当サイトの「利用規約」に従ってご利用ください。
各種お問い合わせがございましたら、「お問い合わせフォーム」よりご連絡ください。
参考資料