ちょうど1週間後の9月15日に行われた2回目の授業では、机の配置が変わった。これにより、生徒同士が相談しながら課題に取り組めるようになった。講師は、引き続き田那辺氏が務めた。
まず、前回の授業の復習として、for文を使った繰り返しの解説が再度行われた。ここは念入りにということだろう。
復習後、2回目の“本題”である「コードパズル」の解説が始まった。コードパズルには多くの課題が用意されており、正しくクリアできれば「Mission Complete!」と表示され、次の課題に取り組めるという仕組みだ。
課題はスモールステップ(小規模)だが、進めれば進めるほど難しくなっていく。隣に座っている生徒と相談しながら進めることはもちろん、黙々と自力で取り組みやすくもなっている。筆者が観察する限り、相談しながらコードパズルに取り組む生徒が多かったが、無事に「Mission Complete!」が表示されると所々で笑顔が見られた。
キーボードごとSurface Go 2が貸し出されているとはいえ、タイピングの習熟度には生徒ごとに差がある。そのため、プログラムの入力に手こずる生徒も見受けられたが、前回同様に集中して課題に取り組む姿が印象的だった。
コードパズルがある程度進んだ所で、もう1つ“本題”である「課題解決」のやり方が説明された。
課題解決では、「オラゴン」というキャラクターをプログラミングによって動かし、ゴールに到達させる。当然、オラゴンを動かすためにPythonを使うのだが、授業の時間を考えるとコードを一から書くのは難しい。
そこで今回は「前に○歩進む」「右に90度曲がる」といったプログラムがボタンとしてあらかじめ用意されており(いわゆる「ライブラリ」に相当する)、そのボタンを押していくことでコードを生成できるにしていた。
この課題には、プログラムの手法によって幾つもの「解」がある。そのこともあり、課題解決までのアプローチは生徒によって異なる。地道にクリアする生徒もいれば、「そういうやり方もあるのか!」というプログラムを組み立ててゴールにたどり付く生徒もいた。
授業の終わりでは、再び文法解説が行われた。シーケンスの一種であり、配列みたいな使い方ができる「リスト」をメインに、「リスト操作組み込み関数」「ディクショナリー」「文字列検索」「リスト検索」まで解説された。前回の授業と同様、思った以上にハイペースである。
今回は、授業後に数人の生徒から授業の感想を聞いてみた。すると、こんな回答が寄せられた。
進むのがちょっと早くて大変だったけれど、うまくプログラムが動くとうれしかった。
あまりプログラミングに興味がなかったけれど、少し仕組みが分かった気がした。
カッコや記号なども正確に打ち込まなくちゃいけないのが難しかった。
授業中の真剣な様子を見ても、プログラミングについて興味がある生徒は男女を問わず多いようだ。
後編では、3回目(9月22日実施)と4回目(9月29日実施)の授業の模様をお伝えする。楽しみにしていてほしい。
Copyright © ITmedia, Inc. All Rights Reserved.