土曜の夜はプログラミングの時間です。
春は「Code.org」、夏はレゴ(SPIKE Prime)を使っていましたが、9月からは「Scratch(スクラッチ)」でシューティングゲームを作っています。内容はごくシンプルで、弾丸で敵機を倒して点数を記録するというものです。
まずは自機のロケットを作るところから始めたところ、みなさんなかなか上手に作れていました!


なかには、なぜか「自機を牛乳ビン、敵機を牛」にしている子がいました。
「自分の生みの親を倒すとは、なんと残酷な設定にしたのだろう」と話したら、本人はあまり深く考えていなかったとのこと(笑)。

01. 貫通する弾丸、鳴り響く効果音——シンプルに見えて奥深い「バグ」との格闘
動きとしては至ってシンプルに見えますが、実はここまで来るのに色々とありました。
- BUG & ISSUE 01 // プログラム上の論理バグ(動き・当たり判定・変数)
- 「自機がうまく動かない」「弾丸が敵機に当たっても貫通してしまう」「弾丸が勝手に放たれる」「弾丸が当たっていないのに当たった音がする」「スコア判定がおかしい」「ライフの数が正しく設定できない」など、少しの条件の違いで思い通りに動かなくなります。
- BUG & ISSUE 02 // タブレットや周辺機器のシステム不具合
- さらには、「タブレットの制限で文字が小さく表示されてしまう」「ファイルの保存ができない」「キーボードが認識されない」「再起動できない」など、本来のプログラミングのデバッグではない不具合も多々発生しました。
自分ですんなり解決できる時は稀ですが、大体は困り果てて私が対応したり、時には哲生先生(塾長)を呼んで直してもらったりということもありました。
02. 「悶々とした自分との戦い」を見守り、デバッグを通して成長する
自分が成し遂げたいことがあって、何かの問題にぶつかった時、子どもたちの中で「悶々とした自分との戦い」が始まります。
その時、大人がすぐに手を差し伸べて直してあげるのは簡単かもしれません。けれど、それだと本人のためになりません。しばらく様子を見ながら、必要なタイミングでヒントをあげて、一緒に解決をしていくようにしています。
1つ解決したところで、また次の課題に取り組み出すと新たな問題が生まれる。まさにその繰り返しです。そうこうしながら、少しずつ一つの大きなものが作られていき、やがて自分の力で成し遂げられます。
このシューティングゲームはまだ作成中です。この先もまだまだ乗り越えなければならない課題が出てくることでしょう。でも、その「デバッグ作業(原因を探して直す過程)」を通して、子どもたちはひとつずつ着実に成長していくことと思います。完成する頃が今からとても楽しみですね。
DEBUGGING & SELF-DRIVEN LEARNING // ENGINEERING & ROBOTICS LAB
「なぜ動かないのか?」と向き合う時間が、折れない思考力と問題解決力を育てる。
プログラミングにおいて最も学びが深まるのは、一発でうまくいった時ではなく、思い通りに動かないバグや機材トラブルに直面し、自分の頭で原因を切り分けて解決した瞬間です。当ラボで学ぶ生徒たちの成長の記録や、実践的な学習環境については以下よりご覧ください。
