OSSの祭典「オープンソースカンファレンス(OSC)」。OSSの開発コミュニティやユーザーグループ、OSS関連企業が集い情報発信を行うイベントだが、2018年2月23日と24日に明星大学 日野キャンパスで開催された「オープンソースカンファレンス 2018 Tokyo/Spring」では、異色の特別トラックとして、2020年度から小学校で必修化されるプログラミング教育を考える「こどものプログラミング教育」トラックが設けられた。
2月24日の「こどものプログラミング教育」トラックに登壇したさくらインターネット 技術本部ミドルウェアグループ Engineer/Developer Advocatorの前佛雅人氏は、自身の子供時代の経験と、さくらインターネットが石狩市で行っている「プログラミング教育出前授業」のプロジェクト経験から、「学校での教育となると他人事に感じてしまいがちですが、小学校のプログラミング教育に対して、私たちエンジニアやコミュニティができることがたくさんあります。まずできることから始めましょう」と呼びかけた。
学校外に高度なプログラミングが学べる場を用意したい
小学校で始まるプログラミング教育では、「プログラミング」という教科を設けるのではなく、国語、算数、理科、社会、体育、音楽、図工といった既存の教科の授業にプログラミングを取り入れる。
その目的は、コーディングを教えて職業プログラマーを育成することではなく、将来普遍的に求められる「プログラミング的思考」を育むことにある。プログラミング的思考とは、「自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」(文部科学省「小学校段階におけるプログラミング教育の在り方について」(議論の取りまとめ)より)だ。
このプログラミング教育について、前佛氏は、「知ることと体験することは全然違います。義務教育で、全国すべての小学生にプログラミングの学習機会を提供することには意義があると思います。でも、学校にすべて押し付けることになってはいけません」と述べた。
学校でプログラミングを教えることで、かえって苦手意識を強めてしまう子供もいるのではないかとの意見もある。かといって、その子に学習機会を与えないのは間違っていると前佛氏は考える。「私は小学生のとき、走るのが遅くて体育が大嫌いでした。でも、最近になってランニングを始めたら走るのが楽しくなった。今興味がなくて嫌いでも、学校で基礎を学んでおくことで、将来に役立つこともあります」(前佛氏)。
さらに、「学校の体育の授業だけでオリンピック選手になった人はいません。体育の授業がきっかけで才能に気づいたり興味を持ったりしてスポーツを始める子はいると思いますが、その後、地域のスポーツチームでの指導や専門のトレーニングを受ける環境があってアスリートになります。プログラミング教育も同じです」と前佛氏。プログラミングについても、学校の授業でプログラミングの才能に気づいた子や興味を持った子に対して、さらに学べる環境をエンジニア個人やコニュニティが学校外に用意してあげたいという。
その思いの背景には、前佛氏の少年時代の経験がある。
プログラミングを学べるまで10年待った
前佛氏は、IT業界では知る人ぞ知るトップエンジニア。コンテナーやDevOpsなどのテクノロジーに精通したこてこてのギークという印象だ。小学1年生のころからコンピュータに興味があった前佛氏だが、学ぶ環境には恵まれていなかったという。
「6歳のとき、なぜか家にあったシャープX1を触ってみました。強く興味を持ちましたが、1年生なのでアルファベットが読めなかった。コードが書いてある雑誌を読んでも打ち込み方が分からない。親も詳しくなかったし、富山県滑川市の田舎だったので周りに質問できる大人もいませんでした」(前佛氏)。ここで一度、前佛少年の興味の芽は潰えてしまう。
再びコンピュータに触れる機会が訪れたのは小学校5年生の時。地域で開催されたパソコン教室に参加した前佛少年は、興味関心を爆発させて講師を質問攻めにしたが、ワープロの文字入力より詳しいことは教えてもらえなかった。「コンピュータの仕組みをもっと詳しく知りたかったのに、とても悔しかった記憶があります」(前佛氏)。
ようやく勉強できたのは、富山高専に進学した16歳からだった。「学校中にネットにつながったPCがあり、図書館に参考書がたくさんあって、質問できる先生がいました」(前佛氏)。6歳で初めて興味をもったコンピュータの勉強が始められたのは16歳。「今、周りにいる国内外のすごいエンジニアは、子供のときから学ぶ環境に恵まれていた人が多いです。自分の10年間のブランクがとても悔しい」(前佛氏)。
少年時代の自分のように、プログラミングに興味と意欲のある全国の子供に、より高度なことを学べる場を提供してあげたいというのが前佛氏の願いだ。「学校の先生にすべてをサポートしてもらおうというのではなく、専門知識をもった私たちエンジニアが、学校外で地域の子供をサポートしていきましょう。まずはできることから」(前佛氏)。
石狩市の全小学校で「プログラミング教育出前授業」
学校外で子供たちをサポートするだけでなく、2020年度からのプログラミング教育必修化にむけて試行錯誤する学校現場に対しても、外部のエンジニアやエンジニアコミュニティが貢献できる領域は大きい。
前佛氏の所属するさくらインターネットは、2017年2月から、同社がデータセンターを構える北海道石狩市で「小学校プログラミング教育支援」プロジェクトを行っている。このプロジェクトでは、2020年度から市内全小学校の先生が主体的にプログラミング教育を行えるようになることを目的に、さくらインターネットから講師を派遣して出前授業や先生への研修を実施している。
2017年度は、全小学校で出前授業を実施した。「まずは出前授業をして、先生たちにプログラミング教育をイメージしてもらうところから」(前佛氏)。石狩市では学校によって学年構成が異なる(複数の学年が1つの学級になっていたりする)ので、学校ごとにカリキュラムを作成したという。
出前授業では、パソコンを使用する授業、使用しない授業の両方を用意した。パソコンを使わない授業では、例えば、「ペンギンからのお手紙」をテーマにして絵と記号で暗号通信(データ構造)を学ぶ。また、「ロボットのお仕事」では身近な動作を細かい命令に分けて順に並べるシーケンスの概念を学ぶ。パソコンを使う授業では、「Code Monkey」によるチュートリアル型プログラミング体験のほか、「IchigoJam」を使ったプログラミングも試みている。
それぞれの出前授業について、石狩市教育委員会や担任の先生と振り返りを行い、「IchigoJamで効果的な授業を行うためにはサポーターなどの支援が必要」、「暗号を解く活動は、子供たちは楽しんでいたがデータ構造の理解につながっているのかあまり実感がない」、「ロボットのシーケンスについてはそのまま担任の先生が教えられる上、アレンジもしやすい」といった実践結果を蓄積、共有している。
プロジェクトメンバーの前佛氏は、「出前授業が、これから子供たちにプログラミング教育をする先生たちの自信につながっている」と感じているという。同社は2018年度も引き続き出前授業を行い、2020年度にむけて先生自身で授業を行えるように支援をしていく。