コラム

技術・家庭科で「Python」を ミクシィが中学校で「プログラミング授業」を実施(後編)(2/3 ページ)

渋谷区立鉢山中学校の技術・家庭科のプログラミングに関する授業に、「モンスト」などで知られるミクシィが協力した。この記事では、3回目と4回目の授業の様子を見てみよう。

「ソフトウェアのアイデア」を考える課題が出された最終回


最後の授業に臨む田那辺氏

 9月29日、4回に渡るPythonの授業もいよいよ最終回となった。

 授業の冒頭では、前回生徒たちが取り組んだコードパズルの「解き方」の例が披露された。基本方針として、田那辺氏は「まずお題に出てくる変数名と関数名に注目して、次にお題が求めている条件をコードにしていけばよい」と説明した。

 リストの中から偶数だけを抜き出すお題は「『2で割った余りがゼロとなるの数が偶数』という考え方を利用すればいい」と解説した。さらにオラゴンを移動させる「課題解決」についても、まず「パターン」を見つけて、その繰り返しを「コード」にしていけば、効率的なプログラミングができると説明を加えた。

advertisement

最終回ということもあってか、生徒もこれまでにも増して真剣に授業に取り組んでいた

前回の授業で扱ったコードパズルの解き方の解説

まず、お題に出ている変数名と関数名に注目すると答えを導きやすい

解答のコード

「リストから偶数をあげる」問題の解説。一般的に、プログラムで「奇数」「偶数」を判定する場合は2で割った場合に“余り”があるかどうかで判定するのが基本だ

「キャラクター移動4」の解説。まずパターンを見つけることが大切だという。この例だと、右に90度曲がるたびに歩数が2歩ずつ減るので、それを繰り返していけばゴールにたどり着ける

 次に「フロー駆動プログラミング」と「イベント駆動プログラミング」の違いについての解説された。ボタンを押したら何かが起こるというのは、後者のイベント駆動プログラミングであると実例が示された。

 授業の締めくくりには、「ソフトウェア開発アイディアシート」が配布された。誰かの役に立つソフトウェアのアイデアを考えるという課題が出され、生徒たちは一生懸命考えていたが、すぐにアイディアを思いつかない生徒の方が多かったため、次回の授業までの宿題となった。

 これで4回に渡る授業は終了した。授業時間が1回当たり50分しかないこともあり、授業の途中で“駆け足”になる所もあった。それでも、この授業を通して、生徒たちは普段使っているPCやスマートフォンの“裏側”で動いているプログラムの仕組みをある程度理解できたようで、満足した表情を浮かべていた。


「フロー駆動プログラミング」と「イベント駆動プログラミング」の違いについて解説

授業の最後に配布された「ソフトウェア開発アイディアシート」。誰かの役に立つソフトウェアのアイデアを考えるという課題が出された

生徒たちは一生懸命、人の役に立つソフトウェアのアイデアを考えていた

Copyright © ITmedia, Inc. All Rights Reserved.