プログラミング
夏のプログラミング通信
皆さんこんにちは!志學舎プログラミング担当阿部です。
今回も若葉台教室にて実施した通常授業の様子をお届けします!
6月のプレミドルのゲームはハッピータートルでした。
ハッピータートルは、タートル(亀)を操作して障害物(パイプ)を避けるゲームです。
タートルは一定の速さで落下するので、「上」キーでタートルを上昇させ、パイプに当たらないよう操作します。パイプに当たるとゲームオーバーとなり、得点が表示されます。パイプを通過するたびにスコアが加算され、スコアが上がるとレベルとパイプの移動速度が上がります。
ハッピータートルの画面↓
生徒がハッピータートルをしている様子↓
その後、Pythonで先ほど遊んだハッピータートルを製作しました。正面からの顔写真や音声は載せられませんが、真剣に取り組んでおり、すごく楽しそうな様子でした!
生徒たちの後ろ姿↓
プログラミングの難しい点の1つに、結果論で作成するとプログラムの中身の理解が出来なくなることが挙げられます。
「ネットにあるコードをコピペしたら上手く動いた」「よくわからなかったけど数字変えたら上手くいった」みたいに、出力だけを見て作成や修正を行うと、そのプログラムがどう動いているのか、その内部の仕組みや構造を理解できなくなります。これではプログラミングを習得したことにはなりません…
ただ、プログラムのコードを1つ1つ説明するのは非常に難しい!今回のハッピータートルを例に紹介します。
以下の写真は、タートル(亀)と障害物(パイプ)との当たり判定をしている箇所です。これを口頭で説明するのは至難の技…
そこで私は、書かれている数字を極端なものに書き換えたり、あえてわからない箇所のコードを消したりした後に、プログラムを実行してみることを通じて、生徒に体験的に理解させるようにしています
例えば、以下の写真のように青線の箇所を少しだけ変更させると…
タートル(亀)が、下の障害物(パイプ)に潜り込んでしまいました!つまり、青線の箇所は、下のパイプとタートル(亀)の高さに関する当たり判定をしていたことがわかります。
このように、理解できないコードに出会った際には実際に手を動かして、数値を変えたり、あえてそのコードを消したりさせることによって、そのコードが何に使われるのか、なぜ必要か、さらには改良する際にどの点を気を付けるべきかを気づかせることが出来ます。それを地道に繰り返すことでプログラムの中身の理解に繋がると考えています。
その後も順調に進んでいき、全生徒が見事、ハッピータートルを完成させました!素晴らしい✨
今後も授業の様子をお届けできたらなと思います。よろしくお願いいたします。
志學舎若葉台教室
https://kids-prolab.com/location/te11/
〒206-0824 東京都稲城市若葉台2丁目4−4 若葉台駅前KMビル3階
志學舎高幡教室
https://kids-prolab.com/location/te10/
〒191-0032 東京都日野市高幡1000−2 三井住友銀行 高幡不動ビル
東進衛星予備校若葉台校 校舎長 大城 敬弘
〒206-0824 東京都稲城市若葉台2-4-4若葉台駅前KMビル3F
[志學舎]TEL:042-350-2151 [東進]TEL:042-350-2283
instagram → https://www.instagram.com/toshin_wakabadai/
[公式]志學舎Youtubeチャンネルもよろしく!
[公式]志學舎東進Youtubeチャンネルもよろしく!