小・中学生向けプログラミング学習教材「Progra!」のすべて

私の勤める株式会社FUCOでは、「Progra!(プログラ)」という、小・中学生向けのプログラミング学習教材をサービス提供しています。

Progra!は昨年末から今月にかけてリニューアル作業を行い、もうすぐ新バージョンがリリースされる予定です。

このリニューアル作業は、私にとってあらためてProgra!というサービスを見つめなおす好機となりました。サービスを長く運営しちると、当初の目的や意義について見失いがちになるものです。

今回はリニューアル作業を通じて感じたことや得られた考察を活かし、あらためてProgra!というサービスについて体系的に書き記してみたいと思います。

長文です。興味のない方は、昨年の秋田旅行の記事日光旅行の記事などをご覧になってください。秋田も日光もよいところでしたよ。

目的・背景

Progra!は、「誰でも簡単に小・中学生を対象としたプログラミング教育を始められること」を目的にサービス提供されています。

まずは、なぜProgra!という教材が生まれるにいたったのか、その背景について書いてみたいと思います。

現代IT社会の矛盾

「身近なモノを作る技術を、身近に学ぶ場所がない」

これはかつて私たちがプログラミング教育事業に参入する際に作成した、事業計画書に記した一文です。

昨今、スマートフォンやタブレットの普及で、アプリケーションやWebサービスなどの「プログラミングで作れらたモノ」が身近な存在になりました。プログラミングで作られたモノは、社会問題の解決から娯楽まで、幅広いジャンルで利用されるようになり、私たちの生活を便利で豊かにしてくれています。

しかし、その生活を便利で豊かにしてくれるモノを作るための技術「プログラミング」ができる人はどれくらいいるでしょうか。身の回りを見ると、あまり多くはなさそうな気がします。

そう、現代のIT社会が抱える矛盾がここにあります。
これからもアプリケーションやWebサービスなどの需要は増え続け、より私たちにとって身近な存在になっていくというのに、それらを作る「プログラミングができる人」がとても少ないのです。需要に対して供給がまったく追いついていない。単純な話です。

このIT社会が抱えた矛盾は、どうしたら解消されるのか。
考え続けた結果、私たちは「子供たちがプログラミングを身近に学べる環境を作る」ことで、この問題を解決できるのではないか、という結論にいたりました。
全国各地に子供たちがプログラミングを学べる場所があれば、プログラミングができる人は増え、IT社会の矛盾は解消されるというシンプルな理由です。

さっそく私たちは自らプログラミング教室を開校し、教室を増やしていくことにしました。

先生がいない

プログラミング教室を開校した私たちは、早々に「先生不足」という問題に直面することになります。
生徒は増えるにも関わらず、教える先生が圧倒的に不足しているのです。

事業をはじめた当初は、現役のプログラマーであれば誰でも先生になれるだろう、と考えていました。子供向けの学習だからとタカをくくっていたのです。

結論からいってしまえば、「プログラミングができること」と「プログラミングを教えられること」はまったくの別物でした。
プログラミングができる人はいても、それを他人に、ましてや子供たちにわかりやすく教えるのは容易なことではないのです。

最近の子供向けプログラミング学習では、「ビジュアルプログラミング言語」という「ブロックを積み上げるようにプログラミングができる言語」を用いて学習します。さすがに実務レベルのプログラミングで使われるソースコードを子供に書かせるのは、難易度が高すぎるというわけです。しかし、これがネックとなりました。

現役のプログラマーたちがプログラミングを学習した頃は、ビジュアルプログラミング言語はありませんでした。黒い画面に白い文字でソースコードを地道に書き綴っていったのです。彼らはそんな状況でも心が折れずにプログラミングを身に付けた人たちですから、ある意味「猛者」といえるような人たちといます。

そんな猛者たちに、子供たちのプログラミング学習のためだけにビジュアルプログラミング言語を勉強してもらい、先生をやってくれ、というのです。プログラミングを独学で身に付けた彼らにです。彼らが難色を示すのは無理もない話でした。

それならばということで、今度はプログラマーではなく、子供向け学習のプロであるソロバン教室や学習塾などの「習い事教室」の先生に打診してみることにしました。彼らはすでに子供に教えることに慣れている人たちです。

しかし今度は「プログラミング」という彼らにとって馴染みのないジャンルであることがネックになりました。自分がやったことがなく興味のないことを、わざわざ学習してまで子供に教えようとする人などいないのです。当然といえば当然の話です。

プログラミングができる人は、子供に教えるのがダメ。
子供に教えるのが出来る人は、プログラミングがダメ。

教える人がいない。
これが子供向けのプログラミング教育における最大の課題です。

自習でプログラミングが学べる教材

このような状況をふまえ、私たちは、教える人がいなくてプログラミング学習が遅々として進まない現状を打破するために2つの方策を考えました。

ひとつは、プログラミングが教えられる先生を養成すること。
もうひとつは、先生に頼らず、子供たちが自習でプログラミングが学べる教材を作ること。

私たちは後者を選択しました。
選択の理由は3つあります。

ひとつ目の理由は、プログラミングが教えられる先生を養成するのはあまりに時間がかかるように思えたからです。
一見、子供たちにプログラミングを教える先生を養成することは、ねずみ算的に考えれば効率がよさそうに思えます。子供たち一人ひとりに教えるよりも、先生一人に教えたほうが、と考えるのは自然なことかもしれません。
しかし、大人たちのプログラミングに対する苦手意識は、生半可なものではありません。苦手のバリアーを突破して、プログラミングを身に付けてもらうのは大変です。たとえ仕事の義務感をもって彼らにプログラミングを強制的に学んでもらうことができたとしても、それが子供にとって良いプログラミング学習環境であるとは言い難い気がしました。

ふたつ目の理由は、教材作成は私たちの強みが活かせるからです。
私たちはプログラミング教育事業を始めるまでは、WebシステムやWebサービスの開発を主な業務としており、インターネットを活用した「クラウドサービス」を作ることが得意です。
クラウドサービスは流通コストがかからないので、紙媒体などの実体を伴なうサービスよりも安価に導入できます。インターネットに繋がったパソコンさえあればすぐ使えるのが利点です。
つまり、私たちの強みを活かした教材をクラウドサービスで提供できれば、教材費用を安くして導入コストを低くすることになり、日本全国で教材を使ってもらえるのではないかと考えました。ひいては「子供たちがプログラミングを身近に学べる場所を作る」という当初の目的を、圧倒的な速さで達成することに繋がります。

最後の理由は、プログラミング学習は先生から教わる講義形式ではなく、自習形式の学習が向いているのではないか、と考えたからです。

「自習」というと「先生がいない場合の妥協案」というイメージがあります。当初は私たちもそう考えていました。

しかし、あらためて生徒たちを見てみると、子供たちにとってプログラミングとは、作る楽しさに満ち溢れた「遊び」なのだということがわかります。ブロックを組み合わせて自分が作りたいものを作ることができたとき、彼らは心からの笑顔を見せてくれます。
そこに大人が教育の名の下「あれをしなさい」「これをしなさい」「もっとこうしたほうがいいよ」といってしまうことで、子供たちにとって「遊び」だったプログラミングが「勉強」に変わり、ついには「楽しくないもの」になってしまうのです。

私たち大人は、目的地を目指すのに「地図」よりも「道案内」のほうが効率的と考えます。しかし子供たちは効率の良い「道案内」よりも、「地図」片手に自分たちの意思で移動するほうがワクワクして楽しいのです。
なぜなら彼らは目的地に到達する意味も価値もわかりません。大人が必要性を感じて子供たちにプログラミング学習をさせているのであって、彼らが自発的に学習を始めるわけではないのです。
そんな子供たちにプログラミング学習を継続してもらうためには、「先生の講義」という強制的な教育環境よりも、プログラミングを「遊び」にしたまま子供たちを導いてくれるような自習教材が向いているのではないか、と考えました。自習教材であれば、目的地までの道中を、子供たち一人ひとりのペースで楽しみながら歩くことができます。

Progra!の誕生

このような背景により、小・中学生向けプログラミング学習教材「Progra!」は誕生しました。

Progra!は以上の背景を色濃く反映させた教材ですので、一般的な教材と比べると明らかに異質とよべるところがいくつかあります。

Progra!はいわゆる「動画教材」というカテゴリに属しますが、動画中のテロップや、ポイント部分の強調表現や拡大縮小といった編集は一切されていません。固定されたPC画面で淡々と作り方を示すだけです。音声はありますが、教育において重要とされる「なぜ、どうして」は一切、解説していません。カーナビのように「次はこれ、その次はこうして」と手順を示すだけに終始しています。

念のためにいっておきますが、私は動画編集の事業をやっていたくらいですので、動画編集には精通しています。テロップであろうがポイントの拡大縮小であろうが編集は問題ありません。解説についても説明しようと思えばいくらでもできるところを、あえてしていないだけなのです。

もし仮にProgra!が懇切丁寧なテロップや音声解説、ポイントのクローズアップのある教材だったらどうでしょう。
子供たちは動画内の解説でわからないところがあれば、先生にきいて解決しようします。つまり、先生はその生徒の「質問」に応えられる人、プログラミングを理解し解説できる人、でなければなくなってしまいます。

この「生徒に質問されたらどうしよう・・・」という大人たちの不安が、子供たちからプログラミング学習を遠ざける大きな要因です。せっかくプログラミング教育に関心を示す人も、この難題を目の前にすると二の足を踏んでしまう人が少なくありません。これでは、いつまでたってもプログラミング学習が日本中に普及するわけがありません。

このような状況をふまえた結果、Progra!では最初から「なぜ、どうして」をやらないと決めました。カーナビのようにプログラミングの手順を示すだけであれば、理解できない子供はいません。内容について先生が生徒から質問されることがありません。これならば、これまでプログラミングにまったく縁のなかった人でも、子供向けのプログラミング教室をはじめることができます。

「なぜ、どうして」を子供に教えなければ身につかないのでは?と不安に思う人がいらっしゃるかもしれません。従来型の教育に慣れた方であればあるほど、そう思われる傾向が強いように感じます。

しかし想像してみてください。あなたが知らない町に引っ越したとします。
最初は自宅から駅までたどり着くのに地図片手に一苦労です。きっと道案内してくれる人が欲しくなるでしょう。
でもそれを2日、3日と繰り返すうちに、やがて地図や道案内がなくても駅に到達できるようになります。駅までの道のりに不安がなくなれば、周囲に気を配る余裕ができ、素敵なお店に気がつくようになるでしょう。

Progra!は教材中でこれを実践しています。「なぜ、どうして」を解説しなくても、同じことを何度も繰り返すことで、子供たちはそこに潜む「パターン」を見出すようになります。そして気がつけば自然にプログラミングの基礎知識が身につくようになるのです。「習うより慣れろ型の教育」というとわかりやすいのかもしれませんね。

Progra!はこのように、その誕生の背景にある「教える人がいない。ゆえにプログラミング学習が普及しない」という問題に真剣に向き合い、問題解決に向けて最適化された教材なのです。

定義・範囲

ここからはProgra!の前提となる定義と範囲について書いていきます。

エンドユーザー(利用対象)

Progra!を利用するユーザーは「小学4年生以上」を推奨しています。

この定義の理由は、タイピングで必要な「ローマ字」を義務教育で習うのが小学3年生だからです。
Scratchはマウス操作だけで大半のプログラミングができるものの、一部ではタイピングをする必要があります。そのため、タイピングの前提となるローマ字の知識が必要不可欠です(Scratchについては後述します)。

ターゲット(販売対象)

Progra!のターゲットは「既存の習いごと教室」を想定しています。
背景には小・中学生向けプログラミング学習の普及率の低さがあります。

小・中学生向けプログラミング学習の普及率は、ここ数年、右肩上がりです。
それに伴い、小・中学生向けのプログラミング教室も年々増えていますが、プログラミング教室単体でビジネスの採算が取れるくらいの生徒を確保するのは、まだ難しい状況です。

この現状をふまえると、ターゲット設定は新規でプログラミング教室に参入する方よりも、すでに他の習いごとビジネスをされている方の「プラスアルファの教材」として導入していただくほうが、遥かに早くプログラミング学習が広まります。ビジネスとしても現実的です。

「プログラミング教室をメインとするにはまだリスクが高いので、サブ的にプログラミング学習を取り入れてみてください。Progra!はその目的に最適な教材なんですよ。」というわけです。

教材の学習範囲

Progra!は、ビジュアルプログラミング言語 Scratchを用いて「子供が作りたいものを自由にプログラミングできるようになるための学習」を、教材の学習範囲としています。

この範囲の根拠は、子供たちに必要なのは「プログラミング」ではなく「プログラミング学習」である、ということが挙げられます。
これから子供たちに実施されるプログラミング教育とは、プログラマーになるためのものではなく、プログラミングという作業を通じて身につく「論理的思考力や創造性」といった部分を期待した教育です。
万人がプログラマーになる必要はありません。しかし、プログラミングを学ぶことで、今後の社会に求められるそれらの付帯的な能力が育まれることが期待されています。

この事情をふまえて教材を考えると、必要とされるのは現役のプログラマーがプログラミングをする際に行うコーディング(よく黒画面に白文字を打ち込むとイメージされるアレです)ではなく、プログラミングの概念を子供たちが簡単に理解することができる方法です。その方法に現状でもっとも適しているのがビジュアルプログラミング言語「Scratch」でした。

しかし、Scratchには「カリキュラムがない」という最大の問題点があります。プログラミングをする環境は無料で使えるものの、道具だけ与えられても子供たちは何から始めたらよいのかわからないのです。

「Scratchに体系的なプログラミング学習カリキュラムがあればいいのに。」

その声に答えるべく生まれたのがProgra!です。
Progra!は、Scratchを使って子供たちがゼロからプログラミングを学ぶための学習カリキュラムを提供します。
Progra!の学習カリキュラムは、論理的思考力や創造性といったプログラミング教育に期待される成果はもちろん、ひいては実用レベルのプログラミングへの「入り口」となるように、現役のプログラマーも監修として参加して作成されています。

特徴・仕様

Scratchを学ぶための補助教材

Progra!は、米マサチューセッツ工科大学(MIT)が開発したプログラミング学習用のビジュアルプログラミング言語「Scratch」を学ぶための補助教材です。

Scratchは、ほぼマウス操作だけでプログラミングができるのが特徴。タイピングができなくてもすぐにプログラミング学習をはじめられます。
Scratchでのプログラミングは、パステルカラーのブロックを用いて行われます。プログラミングの対象物は、ネコや犬などの動物、ティラノサウルスやトリケラトプスのような恐竜など、子供たちが親しみやすいキャラクターです。
Scratchはインターネットに接続できる環境があれば、誰でも今すぐ無料で使うことができます。子供たちのプログラミング学習の分野では、世界で最も使われているプログラミング言語です。

このように、Scratchは子供のプログラミングに最適な機能・性能を備えていますが、先述したように学習カリキュラムがないのが最大の問題点です。
Progra!は、Scratchに学習カリキュラムを与え、Scratchをより子供たちのプログラミング学習に最適な環境にするための補助教材として開発されました。

ゲームやアニメーション作りで学ぶ動画教材

Progra!は、子供たちが大好きなゲームやアニメーションを作りながらプログラミングを学ぶ動画教材です。
作品作りを夢中になって繰り返すうちに、プログラミングの基礎知識が身につくようになっています。

教材形式は動画を採用。
動画はYouTubeなどで子供にも馴染みがあり、勉強の億劫さを感じさせることなく、遊びの範疇でプログラミング学習を進めることができます。動画は紙を使ったテキストと違い、細かいディテールまで伝えきれるので、誤解や間違いが減るのもよいところです。

ジュニア・プログラミング検定に準拠したカリキュラム

Progra!は、㈱サーティファイが主催する「ジュニア・プログラミング検定」に準拠した学習カリキュラムを採用しています。
検定を前提とした学習を行う方はもちろん、検定を前提としない方にもゼロからプログラミングを体系的に学ぶのに最適な教材です。

実は、私たちはジュニア・プログラミング検定の、検定問題や付帯教材の作成・監修をしています。
Progra!はジュニア・プログラミング検定に直接関わっている私たちだからこそ成し得た、検定取得に向けて最適なカリキュラムになっています。

自習を前提とした教材

Progra!は、目的・背景で示したように、小・中学生向けプログラミング教育の抱える課題「教える人がいない」を解消するため、子供たちが自習で使うことを前提とした教材です。

自習で使える教材なので、プログラミングがわからない方でもご利用いただけます。基本的なパソコン操作について子供たちに教えられる方であれば、誰でも先生として子供たちにプログラミング教育を行うことができます。
Progra!は、動画を見れば必ず作品が作れるようになっているので、基本的に「わからない」ということはなく、「子供たちに質問されたらどうしよう」と心配する必要はありません。

今すぐ使えるクラウド教材

Progra!は、インターネットに接続した環境さえあれば、世界中どこからでも今すぐ使えるクラウド教材です。

面倒で煩わしいソフトのインストール作業や管理などは一切不要。
お申し込み手続きが終了したら、いますぐお手持ちのパソコンすべてでプログラミング学習を開始することができます。

入会金不要 月額2,980円で使い放題

Progra!は、月額2,980円(税別)の月額利用料だけで使うことができます。
利用する生徒数や利用回数による従量課金は一切ありません。どんなに生徒が増えてProgra!を利用する回数が増えても、月額2,980円だけで使い続けることができます。

また、教育系サービスにありがちな、入会金や加盟金は一切不要です。
お気軽にProgra!を使ったプログラミング教育を、お試しいただけます。

Scratchの画面上で使える

Progra!は、Progra!サイトで動画を見る以外に、Google Chromeの拡張機能を使うことでScratchの画面上で動画を見ることもできます。

アプリケーションやブラウザのタブを切り替える手間がなく、Scratchの画面上でシームレスに学習することができるので、子供の集中力を途切れさせることがありません。

スマートフォン・タブレットでも使える

Progra!は、パソコン以外にスマートフォンやタブレットからでも利用することができます。

パソコンの隣にタブレットを置き、Progra!の動画を見ながらScratchで作品をプログラミングする、といった使い方も可能です。

導入・申し込み方法

お申し込みの流れ

Progra!のお申し込みは、公式サイトにあるWebフォームから受け付けています。Webフォームに必要事項を入力し送信してください。

お申し込み内容に問題がなければ、Progra!の利用に必要な「ユーザID」が登録いただいたメールアドレスに送信されます。

公式サイトの「ログイン」メニューより、受信したユーザIDを使ってProgra!にログインしてください。

お支払いはクレジットカード

Progra!の月額利用料のお支払いは、クレジットカードの請求にて行われます。各月ごとの請求日は、お申し込み日を起点とした毎月同日です。

6ヶ月以上のご利用を前提とされる方のみ、銀行振込でのお支払いを受け付けています。銀行振込でのお支払いを希望される場合は、お問い合わせフォームより、「銀行振込を希望」とご記入のうえ、お問い合わせください。

免責事項

Scratchの動作不良

Web版のScratchは、メンテナンスや不具合などを理由に、稀に利用できないことがあります。
Scratchは私たちの管理物ではないため、同現象が発生してプログラミング学習ができない場合は免責とします。

Scratchには「オフライン版 Scratch」という、インターネットが使えない環境でも動作するソフトが用意されています。
万が一に備え、オフライン版のScratchをダウンロードしてパソコンにインストールしておくのがオススメです。

拡張機能の動作不良

Progra!はGoogle Chromeの拡張機能を用いることで、Scratchの画面上でProgra!のレッスン動画を見ることもできます。

しかし、Google Chromeの拡張機能は、使用者のブラウザにインストールされた「他の拡張機能」との相性によって、ごく稀に不具合が生じる場合があります。

拡張機能は、できるだけ不具合が生じないように作られていますが、万が一不具合が発生した場合は免責とします。

また、Scratchのアップデートや仕様変更に伴う、拡張機能の動作不良についても免責とします。
速やかなアップデート作業を行いますが、一定期間、拡張機能が使用できない場合があります。

最後に

Progra!について、一通り書き出してみました。
この作業を通じて、私自身、Progra!の理解をより一層深めることができたように思います。

ここまで読んでくれた人の中には、なぜ個人のブログで、所属する会社のサービスについてこんなに深く書くのかを不思議に思われる方もいらっしゃるかもしれませんね。公式サイトすら超える情報量ですから。

これは以前から私がやりたいと思っていた「公私混同化」の実験です。先日の英語教室を開校する記事についても同様です。
公私混同化については、いつか別記事で書いてみたいと思っていますが、このやり方は早くも私にとってよき影響を与えてくれている実感があります。最近、調子がよく感じられるのは、この実験がうまくいっているからですね。

アフィリエイトだけではない、ブログの新しい価値や使い方について、生徒さんに教えられる日は近そうです。毎日を楽しく過ごすために、公私混同化は必要不可欠なものだと確信しています。

これからも公私の垣根なく、書きたいことを書きたいだけ書いていこうかと思います。