今年度初のプログラミングワークショップ
2023年度になって早くも1ヶ月半がすぎ、私のプログラミングワークショップも今年度初めての開催を迎えた。第一弾は今年で7年目の南小学校のコンピュータクラブ活動だ。先週、RubyKaigiで週の後半は家にいなかったこともあって、準備は日曜日の1日だけになってしまった。(もっと前からできたはずだけど、段取りが悪すぎ) 夜になっても何をしようか迷っていたが、お風呂に入った後くらいから何故だか急に頭が回転を始めたようで、やりたいことがどんどん浮かんでしまい、削除に削除をしてなんとか授業時間の45分に収まるだろうサイズにできた時は午前2時をすぎていた。今(当日の夜)、ものすごく眠い中でこれを書いている。
さて、頑張って作成したワークショップの内容は以下の通り。自分としては初の試みであるアイスブレイクとアンプラグドを中心にした内容にした。
- 椅子を円形に配置し、自己紹介するアイスブレイク
- アンプラグドバブルソート
- プログラミングとは何かを語る
0勝1敗の敗戦投手
結果から言うと、、、、、グダグダの一言。
アイスブレイクの後、1つ手順を、しかもかなり重要な手順を抜かしてしまったために、抜かした直後の内容の意味づけができなくなり、子供たちの興味は薄れ、飽きて別のことをし始める始末だった。それでもなんとか持ち堪えたものの、心配していた時間は逆に余ってしまう事態になった。
壮大なテーマ、、抱えすぎ
今回のテーマは「人の強み、コンピュータの強み」を直感的に理解してもらうことだった。題材に選んだのは、上に書いた2番のバブルソート。人によるソートとアンプラグドのバブルソートを比較してみることで、テーマの「強み」を発見してもらう。人は俯瞰して物を見る、つまりパラレルに曖昧な思考が得意な反面、コンピュータは自身で工夫はできないけれど、同じことを正確にすごい速度で実行できる、ということに気づいて欲しかった。
抜いてしまった、人によるソート
ソートの対象は、自己紹介の時に18名のクラブ員みんなに紙に書いてもらった「好きなこと/もの」にした。予定ではこれをScratchのリストに入力して表示させ、あいうえお順に一人一人が自己紹介していき(つまり、人によるソートを実行している)、次にScratchに仕込んでおいたバブルソートでソートし、「なんだ、自分たちで順を見つけなくてもできたんじゃん」と落胆させたところで、子供たちを使ってアンプラグドバブルソートを実演、その手順の多さから、それを瞬時にこなすコンピュータの凄さと、単純な手順しかできないコンピュータの弱さに気づいてもらうという手筈だった。
ところがScratchに入力するときに自己紹介をさせてしまい、人によるソートを飛ばしてしまったのだ。Scratchでバブルソートしたときに気づいたが、時すでに遅しで、アンプラグドのバブルソートをやったものの、「なんでこれやってるの」という空気になってしまった。それからはもうグダグダに。時計を見ると予定よりも15分も早く進んでいる。仕方ないので、円陣のままでアンケートを取ろうと、みんなのプログラミングの経験やCahtGPTの話をした。まあそれなりにみんなを知ることができたし、なんとかアイスブレイクの中の「自由に発言する」が望まれている場であることは理解してもらえたようだった。
なぜなぜ
一言で言うなら、ファシリテートする手順が複雑で多すぎたのが原因だろう。その複雑な手順をマスターするまでの時間が短すぎたとも言える。アイスブレイクはいい、だけどそこにソートを入れ、しかも「コンピューターとは、、」に近いことまで入れ込むのは、今ふりかえるといかがなものか、と言う感じだ。
教訓
「脳が活性化すると頭に血がのぼり興奮状態になるが、これは失敗への序曲であることを忘れるなかれ」
前日の夜、ぎりぎりになって頭が冴え始め、理想的なワークショップが完成できたと感じたのだった。しかし冷静に振り返る時間も練習する時間も取れなかったのだから失敗して当然だ。
とは言え、この内容自体、悪いものでもないと思っている。ストーリーとして通っているし、バブルソートはアンプラグドでも比較的わかりやすいアルゴリズムだ。そして"第二回"でQuickソードをアンプラグドで実演することで、コンピュータでのアルゴリズムを考えることの重要さを実感できる(はずだ)からだ。
ぜひ、今回の失敗を土台に同じフォーマットをもう一度やりたい。どこか良い機会ないかなぁ。。。。
次回のクラブは6月、怒涛のワークショップ三連発の1つになる。