こどもとIT

1人1台PC環境3年目の渋谷区が取り組む、公教育とIT企業による“未来の学び”

――渋谷区立鉢山中学校×ミクシィ プログラミング課外活動レポート

2020年4月の小学校でのプログラミング教育スタートに向けて、これまでの公教育の慣習にとらわれず、企業との協業を積極的に行う動きがある。渋谷区教育委員会と渋谷エリアの民間企業は、2019年6月にプログラミング教育事業に関する協定を結び、「Kids VALLEY 未来の学びプロジェクト」を進めている。参加企業は、東急株式会社、株式会社サイバーエージェント、株式会社ディー・エヌ・エー、GMO インターネット株式会社、株式会社ミクシィの5社で、各社が様々な形で支援をしているところだ。

その一環として、渋谷区立鉢山中学校では、株式会社ミクシィのサポートによりプログラミングの課外活動が行われている。昨秋からスタートした全6回(※)のうち、1月29日に開催された5回目を取材することができた。渋谷区で公教育とIT企業がタッグを組んで行われるプログラミング教育はどのようなものか、詳しくレポートする。

※3月に予定されていた第6回目の講座は、新型コロナウィルスの感染拡大防止のため中止

渋谷区が1人1台PC環境を作って3年目

このプログラミング課外授業は、学年を問わず希望者を募って行われている。普段のクラブ活動とは関係なく、プログラミングに興味のある生徒が自分のタブレットPCを持って集合した。

渋谷区では、2017年9月から渋谷 ICT教育システム「渋谷区モデル」を推進し、区内の小中学生全員が1人1台のタブレットPCを使える環境を整備した。折しも昨年12月に国からGIGAスクール構想が発表され、全国の自治体では小中学生の1人1台PC環境を整える体制が検討されているところだろう。渋谷区は既にこの環境を実現しており、導入当時中学1年生だった生徒が現在ちょうど中学3年生になっている。

渋谷区では、1人1台のタブレットPCが授業や学校での活動、家庭学習等で活用されている

ミクシィの提案するプログラミング活動は?

ミクシィでは、今回のプログラミング活動のプロジェクトにあわせ、独自のプログラミングアプリを開発した。渋谷区で配布されているタブレットPCに合わせてWindows版を、毎回機能追加のアップデートをしながら生徒機に配布している。

子ども向けのプログラミングツールは、プログラムに必要な命令をブロック型にビジュアル化したものが多いが、ミクシィのアプリは、あえてテキストコードを扱う。言語は「Lua(ルア)」を採用した。プログラミングはテキストコードで行うが、コード入力支援機能があり、ボタンを押せば該当のコードを自動で入力できる。もちろん一文字ずつ直接コードを入力しても構わないが、入力支援ボタンを使うとタイピングの負担を最小限にできる。

ミクシィオリジナルのプログラミングアプリ画面。オレンジ色のボタンがコード入力支援ボタン

当日講師を務めたミクシィ開発本部CTO室の田那辺輝氏は、同アプリの開発者でもある。一般的に、プログラミングと聞いたり、英文字の並んだコードを目にすると、それだけで反射的に「わからない」と感じて遠ざけてしまう人が多いと田那辺氏は感じてきた。中学生ならばテキストコードから始めても十分理解できると判断し、初めから気軽にテキストコードを触って怖さや抵抗感を無くして欲しいと考えたそうだ。また、テキストコードの方が、より高度な内容を扱うことができると考えている。

とはいえ、子ども向けのビジュアル言語に比べたら、テキスト言語を扱うハードルは高い。気軽にテキスト言語を扱える環境が必要だと考え、GUIを整え、コード入力支援機能やプログラムの実行結果をわかりやすく出力する機能を備えたアプリを開発した。ビジュアル言語と、より本格的なテキスト言語の学習の間をつなぐような位置付けだ。アプリは今のところ一般公開する予定はなく、ブラッシュアップしながら課外活動で活用するという。

なお、アプリ上で生徒がプログラミングする際に使う言語として採用した「Lua」は、C言語に組み込んでゲーム開発に使われることもあるスクリプト言語。コンパイルが不要で軽く扱いやすいことや、コードの記述方法が比較的平易なことなどから、「Lua」を採用したそうだ。

株式会社ミクシィ 開発本部CTO室 田那辺輝氏

プログラムでアニメーションを作る

この日の活動内容はアニメーションを作ることだ。前回の活動ではプログラムで線や図形の描画を行ったので、今回はその図形をアニメーションさせる。まず、アニメーションの知識としてフレームレート(※)の概念を説明したあと、アニメーションをプログラムするためのアプローチが2つ紹介された。

※フレームレート:パラパラマンガに例えると、1秒間に何コマの枚の絵を切り替えるかということ。数が大きい方が動きがなめらかになる

1つ目のアプローチは、パラパラマンガの要領で条件に応じて違う図形を描画させる方法だ。例えば、if文で、1フレーム目ならば、2フレーム目ならば、3フレーム目ならば……という風に場合分けをしていく。分岐ごとに別の図形を描画するプログラムを記述しておけば、時間の経過で順に描画され、アニメーションして見える。

条件文で描画を切り替えるアプローチのコード(配布資料より)

2つ目は、図形描画の座標や半径等の数値を計算で変化させて動きを作る方法だ。例えば円の半径を変数にして、フレーム毎に、変数に一定の数を足すプログラムにしておけば、円が大きくなるアニメーションができる。

説明資料や動画、実際にコードを組んでみせるなどしてひと通り説明があったあと、実習に入った。見守っている側は、if文や変数についても軽い説明で進んだ印象を受けたので、「子どもたちはこれだけで理解できたのかな?」と少々ハラハラしたが、生徒達は不安な様子もなくパソコンに向かっている。

話を聞いてみると、講師やサポートスタッフは、最初の説明で全てを理解することは目指していない。見本の真似をしてみて、プログラムが動くということを実感して欲しいというスタンスで接しているそうだ。知識を十分に理解してから実習に移行するという従来型の学習スタイルとの違いを感じた。

教えたり相談しあったりする姿があちこちで見られた

気負わず初めてのことでもどんどん試してみる生徒たち

実習でチャレンジしてみると、多くの生徒が、前回経験した図形の描画まではすぐにできるものの、今回のアニメーション部分に関しては新たなロジックだったため、少し苦戦している様子だった。それでも、うまくいかないからといって、生徒達が投げ出してしまうということはない。コード入力支援ボタンを使ってコードを並べては消すことを繰り返したり、隣同士で教えあったり、サポートのスタッフに質問したり、入力支援ボタンを使わずに全文タイプしようとがんばったり、それぞれが好きな方法で自由に試している。

前回の活動で行なった図形描画までを行なっているところ。コードの背面に描画した図形が表示されている

少しでもアニメーションが動くと小さな喜びの様子が見える。時間の最後には、いくつかの生徒の作品を前方のスクリーンで紹介してそれぞれのプログラムの違いを確認した。完成した作品には「すごーい」という声があがり、作った生徒もうれしそうだ。全体で1時間の活動だったので完成せずに時間切れになった生徒もいて、終わりの時間が近づくと、まだやめたくないという声も聞こえる。完成させたい、もっとやりたいという気持ちが強いのはプログラミングには大切なことだ。

用意した時間に対して、プログラムの難易度が少し高い印象を受けたが、生徒は楽しんで活動していた。仮にコードの細部がわからなくても、まずは使ってみて、テキストコードを使いながら徐々に理解が追いつけば良い、というアプローチに、生徒の側も慣れているのだろう。

課外活動とプログラミングの相性の良さ

今回見ている限りでは、テキストコードの一行ごとの意味を理解できた生徒ばかりではない様子だったが、一歩踏み込み、コードの細部を理解して使いこなすフェーズも経験できたらさらに世界が広がるだろう。これは課外活動なので、例えば、テキストコードの理解を徹底的に深めて専門性を高めることをゴールにしても全く問題ない。

クラブ活動の世界というのは、スポーツでも芸術系でも、その特定の専門分野についてかなり高度なことを、大人の学び方とさほど変わらない手法で教えているものだ。同様に、プログラミングを極めるクラブ活動があってもいいわけで、興味を持った子どもたちがもっと尖った活動を楽しんでも構わない。これは課外活動ならではのひとつの可能性だろう。

尖った活動をすることも、ひとりひとりのペースややりたいことを尊重することも、どちらもできるのが課外活動のメリットだ

さらに、プログラミングは集団競技ではないので、同じクラブ内で課題設定がバラバラな生徒が混ざり合っていてもいい。活動に立ち会った同校の松澤貴幸教諭によると、今回のプログラミング活動には、同校の特別支援学級の生徒も数名参加しているそうだ。同じ校内に特別支援学級があっても、通常、支援学級の生徒が他のクラスの生徒達と机を並べて学習をしたり学級活動をする機会は残念ながらほとんどない。「皆この時間をとても楽しみにしています。特別支援学級の生徒が一緒に活動する場はとても貴重です」と特別支援学級を担任する松澤教諭は話す。学年、所属クラスに関わらず取り組めるのも、課外活動ならではのメリットだ。

来年度以降の活動と今後の見通し

ミクシィというと、ゲーム「モンスターストライク」で社名を知っている生徒も多く、アンケートなどをするとゲームクリエイターやエンジニアになりたいという気持ちを持っている生徒もいるそうだ。企業のエンジニアがプログラミング教育の活動に関わることで、リアルな仕事のイメージを子どもたちがより身近に感じられるという良さもあるだろう。渋谷区と企業が連携する「Kids VALLEY」のメリットのひとつかもしれない。

同社は子どもたちにプログラミングを通してものづくりの面白さを感じて欲しいと考えており、今年度の活動を元に来年も課外活動に取り組む予定だという。中学校の授業への教材提供やサポートも、来年度以降の課題として検討しているとのことだ。

企業のエンジニアと子どもたちが直接関わる場はお互いにとっていい刺激になるはずだ

授業で使う教材となると、「技術・家庭」の技術分野で扱うプログラミングの内容に対応する必要があり、2021年に全面実施となる中学校の新学習指導要領での変更点をふまえて授業設計することになる。また、プログラミングに興味がある生徒ばかりではないから、クリアすべき課題は増えるだろう。2020年4月から小学校で始まるプログラミング教育だが、中学校では小学校の経験をどう受けとめていくのか、課外活動、授業内容の両面で引き続き模索が必要だ。

狩野さやか

株式会社Studio947のデザイナー・ライター。ウェブサイトやアプリのデザイン・制作、技術書籍の執筆に携わる。自社で「知りたい!プログラミングツール図鑑」「ICT toolbox」を運営し、子ども向けプログラミングやICT教育について情報発信している。