小学生がJavaScriptでゲームを開発!?プログラミング教育の先進都市・加賀市の狙いとは

2019年8月、加賀市のイノベーションセンターに拠点をおくコンピュータクラブハウス加賀にてTechAcademy協力のもと、「コンピュータクラブハウス 夏の陣!」を開催しました。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

2019年8月、加賀市のイノベーションセンターに拠点をおくコンピュータクラブハウス加賀にてTechAcademy協力のもと、「コンピュータクラブハウス 夏の陣!」を開催しました。

 

コンピュータクラブハウス加賀は、ふるさと納税の仕組みを活用したクラウドファンディングを活用して資金を調達し、2019年5月にオープンした米国発の子ども向けのテクノロジー施設です。プログラミング教育に力を入れる加賀市がNPO法人みんなのコードに委託する形で、運営されています。

 

プログラミング教育は2020年に小学校でも義務教育として取り入れられることが決定しているが、この義務教育化に先んじて独自の取り組みを行っている自治体は日本全国では増加しています。2019年2月4日~3月25日の間に行われた、2018年度(平成30年度)教育委員会等における小学校プログラミング教育に関する取組状況等について」と題したアンケート調査によると、回答をした教育委員会のうちすでに「授業を実施している」割合が52.0%に達しているようです。

 

数値の上では多くの自治体でプログラミング教育が実施されているが、一方で課題も多く最も大きな課題は、実際のプログラミング教育をどのように行ったらよいのかというノウハウと、人材を有している自治体がほとんどないことです。

こうした状況の中、加賀市の取り組みは他の自治体には見られない特徴的な仕組みが注目を集めています。

 

なぜ加賀市でプログラミング教育が盛んなのか?

加賀市が、プログラミング教育に力を入れだしたのは2016年からです。この背景には、金沢から南にある石川県の自治体の中で、加賀市だけが消滅可能性都市としてみなされており、その状況を打破するためには「人材教育」に力を入れるべきだと、加賀市長を務める宮元陸氏によって唱えられた方針があります。

 

この方針を受け、宮元市長からの協力を要請されたのがNPO法人みんなのコードで代表を務める利根川裕太氏です。2016年の5月、加賀におけるプログラミング教育の必要性を感じた宮元市長は即座に利根川氏に連絡をとり、その月のうちには会談を開催しました。最初の会談から3カ月もたたない2016年8月には、教育委員会をはじめとした加賀市の教育関係者が集う場で、みんなのコードが展開を推進しているプログラミング教育「アワー・オブ・コード(Hour of Code)」の教材を解説する体験会を実施、というベンチャー顔負けのスピード感で加賀市におけるプログラミング教育のプロジェクトが立ち上がりました。

 

その後もプログラミング教育は加賀市において順調にすすみ、2017年度からは、加賀市立のすべての小中学校で、総合的な学習や技術の時間に、年間5時間のプログラミングの授業を実施するようになりました。

 

そして、2019年5月には公設置民営の仕組みで、日本初の「コンピュータクラブハウス」が設置されるに至りました。コンピュータクラブハウスとは、1993年に米国・ボストンで初めて設立され、子どもたちに「いつでも」「安全に」テクノロジーを知ることができるようにすることを目的としたコミュニティです。世界各国にすでに100か所以上の拠点が開設されているが、日本ではこれまで実績がなく、2019年のコンピュータクラブハウス加賀が最初の拠点として開設されています。

 

気になる講座の内容は?

さて、気になるのは、今回の授業の内容です。

通常、小学生向けのプログラミング教育では、「ビジュアル型プログラム言語」と呼ばれるプログラムコードの記述がなくても、視覚的な操作でプログラミングが可能なプログラミング用のソフトを用いた内容のものが多くなっています。

今回の授業では、一般的なビジュアル型プログラム言語ではなく、Webサービスなどでよく利用されるJavaScriptを用いた、プログラムコードを実際に記述して、シューティングゲームを開発するものとなっています。

 

今回の講座では、

  1. ゲームであれば、普段自分が遊んでいるものなので、題材はゲームを完成物としている点
  2. すでにコンピュータクラブハウス加賀ではビジュアルプログラミングを使ったことのある子どももいるため、新たな選択肢として実際にコードを書く体験をしてもらう点

が特徴となっています。

 

プログラムの教え方も実に実践的です。

ゲームはシンプルな縦型のシューティングゲームですが、

自機を画面上に表示させる

自機をマウスの左右の動きと連動して動くようにする

といったように、実際のゲームで必要な処理を、プログラムに置き換えながら解説して、各自がコードを書いていく形式となっています。一つ一つのゲーム上の動きがどのようにプログラムによって置き換えられていくかを意識しながら学習していくことで、ゲームとコードとの対応が理解できるようになっています。

 

例えば、次のようなゲームの処理をコードにしていきます。

 

〇自機を画面上の任意の座標に表示

〇自機をマウスと連動して移動させる。

〇敵機を画面上の任意の座標に表示

〇敵の移動の速度と、移動の方向を設定

〇敵機を画面上で設定した速度などに基づいて移動

〇敵機、及び自機の画面端に到達した場合の移動の処理を設定

〇敵機と自機のあたり判定を設定

〇自機が弾を打てるようにする。

〇敵機が弾を打てるようにする。

etc…

 

といったように、普段意識しないで遊んでいるゲームを、一つ一つの処理や判定として分解していき、対応するコードを記載します。工夫点として、アルファベットを打ち続けるのは集中力が持たない子もいるので、『まずはプロダクトを作り切る』ところに重きを置きそれが体験できる仕組みになっています。コードはある程度ライブラリーとしてまとめられており、それらをコピー&ペーストしたり、一部の内容を変更することで、正常に動くように準備されています。

 

途中つまずく生徒はいたものの、最終的には全員の画面上に正常に動くゲームが映し出されていました。

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

ゲームをつくってみた子どもたちの感想は?

今回講座に参加した児童は小学5年生~中学3年生までの総勢14名。プログラミング経験のある生徒は一部であったが、みな「ゲームを作れる」というところに興味をもち、参加をきめたとのことでした。

「最初は難しく、コードを書く場所を間違っていたりしてうまく動かなかったが、わからなかったら個別で修正するところを教えてくれるので理解しやすかった(小学5年生)」

 

「自分でゲームを作ってみたいと前から思っていた。ビジュアル型のプログラムはやったことがあったが、自由度はコードを直接書いた方がやはり高い。ゲームバランスを自分の思うように調整したりしてみたい。作ってみたいのは弾や敵が非常に多い弾幕系ゲーム(中学3年生)」

 

「Javaをやったことはあったが、JavaScriptは今回初めて。今回はライブラリーを準備してくれていたので作成できたが、次は自分でライブラリーを0から作るのに挑戦したい(小学6年生)」

 

TechAcademyの今後の自治体との取り組みとは?

今後TechAcademyとしては、今回のような自治体と連携したプログラム教育のオフラインの場を増やしていきたいと考えています。今回授業を行った加賀市とは以前にも共同でプログラミング教育の取り組みをしているが、今後は、単発のイベントで終わるのではなく、継続的に子どもたちが学べる環境や仕組みを作っていくことをしていきたいです。

また、今回は実際にコードを描く形式の授業であったが、TechAcademyとしては学習の手段はこの形式にとどまらず、ビジュアル型プログラミングや、ロボット、IoTなど様々な選択肢の授業にも取り組んでいきたいと考えています。

 

TechAcademyでは初心者でも最短4週間でエンジニアになれるオンラインブートキャンプを開催しています。未経験でもこれからプログラミングを習得したいと思っている方は特にご覧ください!

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。