2015/09/30

Shift│第9回 プログラミング教育で地域創生、官民学が連携して地域人材を育成する島根県松江市の一大プロジェクト [3/7]

プログラミングの授業では、x座標とy座標にワクワクする生徒たち

 当時の様子をよく知る、松江市まつえ産業支援センターの森脇直則さんによると、2009年に松江駅前のオープンソースラボで初めての中学生Ruby教室に参加する子どもたちを見た大人たちは、プログラミング教育に手ごたえを感じていたという。2012年、松江市長は、松江の市立中学校でRubyによるプログラミングの授業を開始する方針を掲げた。これを受けて産業振興課(当時)は、松江市内の中学校でRubyを実際に授業で採用してもらうべくアプローチを始めた。
 「まずは、中学生Ruby教室の内容をそのままやってみようという方針でした。そこで、中学校の技術科の先生方が集まる場所にお邪魔して、ご協力いただける先生を募ったのです。そこで、手を挙げてくださった先生がいらっしゃったのがスタートです」(森脇さん)
 その先生こそ、当時松江市立第一中学校で教鞭をとっていた兼折さんだ。兼折さんは、Rubyプログラミングを技術科の「計測制御」の題材として採用した。コンピュータは、与えられた命令通りに動くというプログラムについての授業だった。
 「計測制御」では、それまではPCを使ってフローチャート(流れ図)をつくるという授業を行っていた。教育用につくられたフローチャート作成ソフトを使うと、PC上で動作についての流れ図を描ける。できあがった流れ図を、USBを通してロボットに転送すると動かすことができる仕組みだ。
 「フローチャートは簡単なプログラムの場合、全体の構造をわかりやすく表現できます。その反面、こういう条件のときはこう動くといった場合分けを組み合わせると、複雑になります。そのため授業では凝ったことができませんでした。複雑なことをやろうとするなら、プログラミング言語を使った方が楽です」と語るのは、兼折さんの後を引き継いで松江市立第一中学校で技術科を教えている戸谷さんだ。
 2014年度の最初の授業は中学3年生の2コマだった。
「自分が担任するクラスで授業をやったのですが、プログラミングを組むのは、生徒たちがこれまでやったことのないことだったので、つくり方や保存の仕方など、基礎の基礎から始めました」
 最初は、PCの画面上にねこのキャラクターを表示する簡単なプログラムをつくった。次にねこを右に動かして壁にぶつかったら戻ってくるプログラム。さらにその動きを繰り返す方法などを順次学んだ。こうやって、プログラムの基本的な流れ、順次処理、繰り返し、条件分岐といった知識を身に付けていったという。
 「生徒たちは、座標軸のx座標が1つ増えれば右に動くことはすぐに理解しました。好奇心旺盛な彼らは、y座標を使えば縦横ジグザグに移動できるのではないかなど、色々と試したくてしょうがない様子でした。『先生、早く次に進んで』とリクエストがあるぐらいでしたから」(戸谷さん)
 授業ではテキストを配っていたので、独力で先に進む生徒もいたようだ。理数系が嫌いな男子や、プログラミングに最初は興味をもてなかった女子も夢中になり、次々と難しいプログラミングへ挑戦していった。「トライ&エラーができることは、プログラミング学習のいいところです。最初の2コマだけでも、プログラミングは生徒の興味をすごく引くものだなと思いました」と、戸谷さんは手応えを感じた。
 ただし、障壁もあった。2012年に行った授業では、記号や数値でプログラムを組んでいた。プログラム言語では「:(コロン)」や「;(セミコロン)」といった記号を多用する。見慣れないこれらの記号の扱いや英字の「l(エル)」と「i(アイ)」を間違えるなど、現場ではそれなりに問題もあった。プログラムは、1文字間違っただけでも動かないからだ。