島根県松江市

Rubyを核としたプログラミング教育

義務教育におけるプログラミング教育が議論されている。背景にあるのは、IT産業の成長にともなう人材育成だ。

文部科学省による学習指導要領改定にともない、2012年度から中学校の技術家庭科でプログラムによる計測・制御という単元が既に必修となっており、2020年度からは小学校でもプログラミングを学ぶことが決定している。

今回、Rubyを核として地域のIT産業振興に取り組む島根県松江市がプログラミング教育をどのように実施しているのかを取材した。

松江市ではRubyを使いながらプログラムによる計測・制御の授業を行なっている。学習指導要領改定当時の2012年から現在までの松江市中学校におけるプログラミング教育の歴史について松江市職員の佐藤さんより説明があった。

松江市のプログラミング教育史

(松江市産業観光部 佐藤文昭さん)

「2012年当初はWindowsのコマンドプロンプトからRubyを使うことを想定して、教材を作成していました。現在ではSmalrubyを利用しています。生徒はセンサーを搭載したロボットを動かしながら計測・制御のプログラミングを学習することができます」

SmalrubyとはScratchを参考にして作られたソフトウェアである。命令が記述できるブロックを並べていくことで、プログラムを作成できる。(Smalrubyについての詳細は過去事例を参照いただきたい)Smalrubyの導入によって、GUI*で教えることが可能になった。また後述の標準ワークシートを作成したことにより、誰にでも一定の品質を担保した授業が可能となっている。

*カーソルをマウス操作で動かすなど、画面を見ながら直感的に操作できる方法。ここではCLI、いわゆるプログラマなどが扱う黒い画面と対比して使われている。

制御対象となる自動車型のロボット

技術家庭科の先生に対する講習

プログラミング教育では、誰がプログラミングを教えるのかいう点が問題になりがちだ。現在の学習指導要領では、中学校の技術家庭科の時間でプログラミング教育を行うことになっており、技術家庭科の先生がプログラミングを教えることになる。先生方は教育のプロではあるが、必ずしもプログラミング経験が豊富にあるとは限らない。

また、技術家庭科の先生とは言っても、島根県内の他の場所から新しく先生が着任する場合は、松江市が提供するプログラミング教材を使うのは初めてかもしれない。そのようなこともあり、先生方に対する研修支援が当然必要になってくる。

ここで、松江市で実践している研修について詳しく紹介していく。まずは、夏休み期間を利用して先生方に対する導入研修を行う。

松江市の中学校におけるプログラミング教育の中心教材となるのが、松江市教育研究会技術・家庭部会により作成された標準ワークシートである。松江市の中学校におけるプログラムによる計測・制御の授業はこの内容に沿った形で行われる。

取材中、先生方への講習会で講師を担当していたのは、松江第一中学校の技術家庭科の先生だ。松江第一中学校は、他の中学校に先駆けてSmalrubyを使った授業を行なっており、講師を担当された先生は他の学校の先生に教えることができるだけの豊富な経験と知識を持っている。

また導入研修後は、松江市で随時ヒアリングを実施しながら、授業中に起きた問題点を先生と共有することによって翌年度の授業運営改善に役立てている。

小学生のプログラミング教育もRubyで

冒頭で述べたように2020年からは小学校においてもプログラミング教育が必修化される。同じ年から、英語が小学校3年生で必修化され、5年生、6年生では教科化される。全体のコマ数が増えるわけではないから、英語が教科化される中でプログラミングの為だけに時間を確保し授業を実施するのは難しいかもしれない。そこで松江市が考えているのは算数の授業を利用し、プログラミングを使って数を学ぶというものだ。

FizzBuzz*のプログラミングを作成する過程で、倍数の概念を視覚的に学べるのではないかと佐藤さんは語る。

本案件は、総務省が実施する若年層に対するプログラミング教育の普及推進事業に採択され実証実験に向けて準備を行なっている段階だ。

*FizzBuzzとは倍数を判定するプログラミングのアルゴリズムの1つ。

プログラミング教育先進地 松江市

松江市は島根県や地元企業と協力しながら義務教育カリキュラム以外でのプログラミング教育も実施している、代表的な物に、親子でのプログラミング教室体験、地元の中学生を対象とした中学生Ruby教室、高校生や大学生が主要な参加層であるRuby合宿がある。Ruby合宿の卒業生の中には、既にIT業界で活躍している人材も多い。

小学校でのプログラミング体験、中学校での技術家庭科での授業、さらにはRuby教室、Ruby合宿など、子供時代に一貫して、Rubyという1つのプログラミング言語を利用し、プログラミングの基礎に慣れ親しむことができるのは大きな利点だ。プログラミング言語には、その言語独自の作法のようなものがある。1つの言語に絞ることによって、よりプログラミングの本質的な部分を学ぶことに時間を割くことができる。

松江市のプログラミング教育モデルは他地区、特に松江市と同規模の地方都市において、大いに参考にすべき所が多いと感じる。プログラミング学習はインターネット上だけではなく、人と会って教えてもらえる環境は重要であるし、職業人談話ではないが、将来のロールモデルとなりえる大人が近くに存在し、交流できることは非常に大きな刺激となるだろう。

地方都市では、経済規模の問題から民間ではサービスを提供しきれない部分もある。そこを行政が上手くカバーし、誰もが自由に参加できるプログラミング研修を開催することは意義がある。松江市が行なってきたプログラミング教育による成果として、卒業生がIT業界で活躍するなど、その実績も目に見える形で既にでてきている。今回紹介した、プログラミング教育の資料や教材の多くは松江市のサイトで公開されており、無償で利用可能だ。ぜひ参考にしていただきたい。

※本事例に記載の内容は取材日時点(2017年2月)のものであり、現在変更されている可能性があります。