「ゲームプログラミング」や「数学」など、
課外授業を織り交ぜプログラミングを指導

内田佳秀さん(セントルシア・PCインストラクター・2016年度4次隊)の事例

中等学校のIT科で「プログラミング」の授業を担当した内田さん。生徒たちに「数学の基礎力がない」「プログラミングへの興味が薄い」といった課題があったなか、各種の課外授業を織り交ぜながら技術習得を支援した。

内田さん基礎情報





【PROFILE】
1988年生まれ、愛知県出身。首都大学東京大学院の修士課程を修了後、自動車電装品メーカーに就職し、組み込みソフトウェアの開発を担当。2017年3月、協力隊員としてセントルシアに赴任。19年5月に帰国。現在は、自動車向けソフトウェアの外資系ベンダーで技術サポートを担当。

【活動概要】
セントルシア教育・革新・ジェンダー・持続的開発省のカリキュラム・教材開発局(カストリーズ郡カストリーズ)に配属され、中等学校のIT教育に関する主に以下の活動に従事。
●プログラミング授業の実施
●数学の補講の実施
●ゲームプログラミング教室の開催
●囲碁教室の開催
●業務改善ソフトウェア(成績表を自動的に作成するソフトウェア)の作成


プログラミングの授業で「設計」の演習問題を指導する内田さん(右)

 内田さんが配属されたのは、学校教育のカリキュラム策定や教材開発などを所管するセントルシア政府の一部局。メインの活動となったのは、日本の中学1年生から高校2年生までに当たる生徒が通う中等学校3校を巡回し、IT授業で「プログラミング」を教えることだ。
 同国の中等学校は、4年時から特定の学科を専攻する仕組みとなっている。内田さんが担当したのは、IT科の4年生の授業。巡回先の同科は、各学年に10人前後のクラスが1つずつあり、専任教員が1、2人ずつ配置されていた。彼らによるプログラミングの授業は、従来、4年生で「プログラムの設計(*1)」を教え、5年生で「プログラムの実装(*2)」を教えるという流れで行われていた。しかし、この方法では、実装を学ぶときにはすでに設計の知識が薄れてしまっているため、設計も実装も理解が中途半端に終わっていたようだった。そこで内田さんがとったやり方は、1回の授業のなかで設計と実装の両方を扱うというもの。授業の前半で1つのプログラムの設計について解説し、後半でそのプログラムの実装に取り組ませた。すると、後述のように「数学の基礎力の不足」が足かせとなり、理解が進まない生徒がいた一方で、みるみるプログラミングに習熟していく生徒も現れていった。
 巡回先のIT科教員の中には、プログラミングの経験をほとんど持たない人もいた。そこで内田さんは、彼らへの指導にも注力した。内田さんの授業を見学してもらったほか、授業の合間にマンツーマンのレッスンも実施した。そうして任期中に、初学者には難関だが、プログラムの実装で必須な技術の「デバッグ(*3)」まで、ひと通りの基礎を伝えることができた。

*1 プログラムの設計…コンピュータにどのような処理をどのような順番でさせるかを構想すること。
*2 プログラムの実装…つくった設計をもとに、プログラミング言語による記述を行うこと。
*3 デバッグ…プログラムのなかの問題がある箇所を見つけ、修復する作業。

生徒たちの基礎力の底上げ

「論理的思考力」の養成を目的に内田さんが立ち上げた「囲碁教室」

 内田さんの教え子たちは、プログラミングのベースとなる基礎的能力に課題がある生徒も多かった。「数学力」と「論理的思考力」だ。そこで内田さんは、これらを伸ばすための指導にも取り組んだ。
 教え子たちの多くに「数学力」が欠けていることに気づいたのは、プログラミングの授業を担当し始めて間もなくのこと。「割合」など、小学校で学んでいるはずの概念が理解できていない生徒が見られたのだ。IT科の5年生が受ける全国統一試験では、「値引き計算をするプログラム」なども出題される。そうしたプログラムは、いくらプログラミング言語の知識を蓄えても、「割合」の概念がわからなければつくることはできない。
 そうして内田さんは、生徒たちの数学力を上げるための策も講じるようになった。プログラミングの授業では、必要となる数学の知識も丁寧に解説。生徒の数学力がとりわけ低かった巡回校では、放課後に「数学教室」を開催した。内田さんのそうした「手間暇」に比例して、プログラミング授業の定期テストの点数も向上。生徒から数学に関する質問を受けることも増えていった。
 一方、生徒たちの論理的思考力の向上を目的に内田さんが実践したのは、「囲碁教室」の開催だ。ここに石を置いたら、次に相手はこんな手を指してくる——。囲碁にはそんな論理的思考力が不可欠であることから、試しに取り入れてみたものだった。生徒たちの論理的思考が実際にどれほど向上したのか、数値で測ることは難しかったが、囲碁教室は後述の「ゲームプログラミング教室」と並び、参加した生徒たちの生き生きとした表情が見られる活動となった。

モチベーションのありか

ゲームを作成するソフトの画面

内田さんが開催した「ゲームプログラミング」の教室で、自分がプログラミングしたゲームの動きに興奮し、スマートフォンで画面を撮影する生徒

 任期も残すところ4カ月ほどとなったころ、内田さんは授業の合間を使って「ゲームのプログラミング」を教える課外授業を開く活動を開始した。教え子たちに「IT学科を選択した理由」を尋ねてみたところ、「プログラミングへの興味」ではなく、「進学や就職に有利だから」といった実利的な理由を挙げる回答が多かったことから、「プログラミング自体にある楽しさ」を知ってもらうことも必要だと考えて企画した活動だった。
 実際に「ゲームプログラミング教室」を開いたのは、巡回先のうち、設置されているパソコンでゲームのプログラミングが可能だった1校。まずは入門編として、パソコン画面のボールをキーボードで操るプログラムのつくり方を指導した。授業で教えた技術を応用すればできるものだ。すると、参加した生徒たちは、プログラミングしたつもりのものと違う動きをボールがすると、飽きることなくプログラムの書き直しを重ねる。そうしてようやくボールが思い描いていた通りの動きを見せたときの生徒たちの喜びの表情は、まさに「プログラミングの楽しさ」を実感したに違いないと確信できるものだった。

後輩隊員へひとこと

自分の経験や技術を振り返って!
授業を担当するにあたり、何から手をつけ、どんなことを扱い、指導すれば良いのか迷うこともあると思います。そんなときは、自分がそれまでの経験で身につけた技術を見返し、それをどう反映していけるかを考えてみてはいかがでしょうか。

知られざるストーリー