ここ数年、EdTechというキーワードがちょっとした注目を集めています。「江戸テック」でも「エロティック」でもありません。Education(教育)をTechnology(技術)で進化させようと、次々と立ち上がっている教育系オンラインサービスのことです。
大学の講義をオンライン動画で配信する「Coursera」とか、社会人教育の「N-Academy(Nアカ)」、リクルートの「受験サプリ」とか、いろいろある中で、以前から多くの人が利用してきた教育サービス企業も次々と参入しています(参考1、参考2)。
英語のように、多くの人が学びたいと思っていて、これまでなかなか成果の出なかったジャンルも人気があります(英語学習まとめ)。
そんな中で、特に注目を集めているのが、子供から大人まで、プログラミングそのものを学習できるサービスです。
かつてニューヨーク市長だったブルームバーグ氏は、2012年の新年の抱負として「プログラミングを学習する」と宣言して注目を集めました(参考)。このとき利用したサービスが、「Codecademy」による無償のプログラミング自習コースでした。
また先日、朝のNHKのニュースでも、子供向けプログラミング学習塾の人気具合が取り上げられて、話題になりました(参考)。
このようなプログラミング学習サービスに対するニーズの根底にあるのは、いったい何でしょう。それは、コンピュータ技術によって、世の中が大きく変化しているという感覚ではないでしょうか。スタートアップブームと連動して、この変化に対応するためには、ただスマホやパソコンが使えるだけではダメではないか、プログラミングができると大きなチャンスがあるのではないか、という感じでしょうか(参考:起業家/一般人にプログラミングは必要か?)。
そこで、この記事では、代表的なプログラミング学習サービスを、いくつかのパターンごとに紹介します。そのあと、まだほとんど誰も進出していない領域について考えてみたいと思います。
パターン1:一般向け – オンライン教材
まず最初に紹介するのは、一般向けに、主に動画でオンライン教材を提供するサービス。いくつかのジャンルのひとつとして、プログラミング教材があります。この場合は、進捗度やコミュニティ機能などが利用できるようになっています。
また、プログラミングに特化したサービスでは、広告が表示されたり、動画を見るだけなら無料だけど、プレミアムサービスを利用すると有料といった感じになっています。
- schoo(スクー)プログラミング学部
授業の動画をオンラインで視聴できるサービスで、チャットで、他の受講生や講師とコミュニケーションもできます。 - Udemy
オンライン教育のマーケットプレイス。講師が、自由にオンライン教育コースを登録できます。ビジネスや資格取得に混じって、プログラミングやWebサイト構築のコースがあります。 - ドットインストール
3分動画でマスターする初心者向けプログラミング学習サイト。3000本以上の解説動画を公開しています。
これらのサービスを利用するポイントは、プログラミングのための環境を、自分で用意しなければいけないところ。それから、つまづいた時にサポートしてくれる人がいるかどうか。プログラミングでは、このあたりが課題になると思います。
パターン2:プロ養成 – オンラインプログラミング講座
2番目は、プロ志向のオンラインプログラミング講座。特徴は、ブラウザでコードを入力して、実行しながら学習できること。つまづいたポイントは、本物のエンジニアがアドバイスしてくれたり、コースを修了できれば、実力に応じて人材派遣や就職斡旋してくれるといったメニューがセットになっている場合があります。
- Progate(プロゲート)
オンラインコンテンツとオンラインエディタで、プログラミングしていくサービス。HTML+CSSから、Ruby on railsまで多彩なコースがあります。 - CODEPREP(コードプレップ)
コースに沿って、オンラインエディタでコーディングしていくサービス。ディスカッション機能で質問したり、経験ポイントをためる機能があり、飽きさせにくくなっています。 - Paiza動画ラーニング
1本3分の動画レッスンを見ながら、オンラインでプログラミングしていくプログラミング入門学習コンテンツ。オンラインでコーディングテストを受けることができるプログラミングスキル評価サービスPaizaのサービスの一部になっています。 - Cyllabus(シラバス)
オンラインコンテンツを読みながら、コードを写経していくサービス。コースの作成機能があり、Github経由からも投稿できます。 - CodeCamp
現役エンジニアから、マンツーマンで学べるオンライン・プログラミングスクール。レッスンは、CodeCampに内蔵されているオンラインエディタでコードを書いていきます。 - TechAcademy
実践型のWeb開発プロジェクトを体験できるサービス。8週間という短期間で学習し、コードはGithubに公開していきます。
身近に、プログラミングを直接教えてくれる環境がないとか、つまづきやすいポイントをきちんと教えて欲しいという人にとっては、良いきっかけになるかも知れません。一方、コーディング自体は、何かを開発することの一部でしかないので、課題解決力や地頭の良さが求めらたりするような気もします。
パターン3:子供向け – プログラミングツール
小学校高学年くらいでもプログラミングにチャレンジできるよう、ビジュアルプログラミング言語をツールがいくつか登場しています。オンラインで、インタラクティブにプログラミングを学習できますし、作成したプログラムの共有サービスもセットになっているので、手軽に始めるときにもピッタリですね。
- Scratch
MITで開発されたビジュアルプログラミング言語。作成したプログラムを共有する機能も付いているし、ガイドブックなども充実しています。 - VISCUIT(ビスケット)
簡単なイラストを描くと、それがプログラムになって動き出すというビジュアルプログラミングツールです。一般的なプログラミングとは毛色が違いますが、コンピュータが備える本来の原理を体感することができる環境になっています。 - コロコロゲーム工作ブロック
ご存知、小学生の定番コミック雑誌コロコロコミックで提供されているビジュアルプログラミング言語です。コロコロコミックのキャラを使ってゲームを作ることができます。中身は、UEIが開発したMOONBlock。 - hack for play
一見クリア不可能なダンジョンを、プログラミングで攻略していく、アクション・アドベンチャーゲーム。ゲーム自体を改良しながら、クエストを攻略していきます。自分で作ったクエストを投稿する機能もあります。 - Code.org
すべての学校のすべての生徒に、コンピュータサイエンスを学ぶ機会を提供するという活動をしています。日本語でもでき、「アナと雪の女王」や「アングリーバード」といった人気キャラを使って、ビジュアルプログラミングが可能です。 - プチコン
ニンテンドウDSi/3DSで動作するレトロなベーシック環境。入手しやすく、素材も豊富なので、入門に最適 - Minecraft in education
すでに子供たちの間で大人気の、自由にモノ作りができるサンドボックス型ゲーム。モノ作りの自動化のため、プログラミング言語を導入することができます。また、マイクロソフトに買収されて、教育用サービスメニューが追加されました。
いずれも独自ツールになっていて、そこで覚えたスキルや技術を、他のプログラミング環境に展開しにくいことが、課題かも知れませんね。また、ツールと実行環境/ホスティング環境が一体化されているために、他のプログラミングツールやWebサービスなどと連携させにくいように感じます。
あとは、よいガイドブックやトレーナーがいないと、ちょっと敷居が高い感じはありそう。とはいえ、大昔も、BASICとベーマガを手に入れて、友達との情報交換だけで、何とかしてきましたから、口コミに載りやすい環境が用意できれば、意外と何とかなるのかも知れません。
パターン4:子供向け – プログラミング教室
主に、小学生から高校生を対象にした、プログラミング教室なども注目を集めています。
実際に教室でプログラミングを教えてもうらうという点では、Edtechというより、新しい科目に対応した塾なのですが、利用するツールがScratchやViscutといったビジュアルプログラミング言語を使ったり、ロボットやLEGOを組み合わせることで、敷居を下げています。
- Tech Kids School(テックキッズスクール)
小学生・子ども向けのプログラミング教育をScratchや本格的なプログラミング言語を使って行います。 - ビスケット塾
Viscuitを利用したプログラミング塾。ゲームつくり、絵本つくり、音楽作り、といった多角的なアプローチでコンピュータの本質を体験します。 - TENTO
早くから小中学生向けプログラミングスクールを展開していたTENTO。「Viscuit」や「Scrath」から、本格的なプログラミング言語まで、幅広いカリキュラムが用意されており、フランチャイズ教室も増えています。 - Qremo
こちらもNHKで紹介された、小学生向けのIT×ものづくり教室。プログラミング・ロボット作り・デジタル工作といったコースが用意されています。 - Rubyプログラミング少年団
Ruby開発の総本山である、松江市で展開されているプログラミング教室。RubyとBlocklyを組み合わせた、独自のSmalrubyを教えています。 - Life is Tech !(ライフイズテック)
中高生のためのプログラミング教室。1年間でプログラミングの基礎を学んで、マーケットプレイスにアプリをリリースするところまでたどり着きます。
注目を集めるといっても、まだまだ少数派というのが実態なのような気がします。本当に教えられる人が多くないので、全国展開はいろいろ工夫が必要かも知れません。
プログラミング教育サービスの未進出領域
というわけで、プログラミング教育サービスの4つのパターンを紹介してみました。これ以外にも、新旧とりまぜて、いろいろなサービスがありますし、このパターンには当てはまらないものもあるでしょう。とはいえ、現在、注目を集めているものは、網羅できているんじゃないかと思います。
では、このようなプログラミング教育サービスが進出できていない領域とは、どこなのでしょう。
じつは、「世の中がコンピュータ技術によって大きく変化している」なかで、どのサービスも、プログラミングの対象自体は拡大できていないように思います。ビジュアルプログラミング言語は子供向けの教育サービスで利用されていますが、汎用プログラミング言語によるシステム開発には取り入れられていません。普通の大人がプログラミングを覚えて、自分の仕事の効率を大幅に向上させた、なんて話も聞きません。
たとえば、そろばんや電卓を身につけるより、Excelを使うほうが計算やデータ処理は圧倒的に早くなりました。しかし、ここまでコンピューター技術が進化しても、Excelと同じように、プログラミングを身に着けた大人が、どこにでもいるという状況にはなっていません。10年ほど前から、日本語プログラミング言語なでしこで、それに近い取り組みがされていましたが、現在はちょっと停滞しているような感じもします。コンピューター技術の進化と浸透に応じた、イノベーションが必要ではないでしょうか。
「日本語プログラミング言語なでしこ」や、その開発者であるクジラ飛行机さんが執筆した「仕事がはかどるJavaScriptファイル管理術」なんて本のようなアプローチが、もっと出てきて欲しいところです。
そのためには、いろいろなツールやサービスや環境整備が求められると思いますが・・・もしかすると、先日公開したビジュアルプログラミングエディタのJavascriptライブラリであるMameBlock.jsが活躍する余地も、あったりするんじゃないか。
と、MameBlock.jsの活用方法など、いろいろ考えていることもありますが、また次の機会に。