Mimoは時間や場所を問わずプログラミングを学べるアプリです。私はDuolingoを長く使っていますが、数週間でSwiftの基礎的な知識を習得するため、Mimoの宣伝文句に魅力を感じました。
Mimoで新しいことを習得できるか客観的に評価するため、Mimoでできることを調べて、新しい言語を習得しようとしている人にすすめられるのか確認しました。
モデル
Mimoは、各コース2レッスンまでは無料です。3レッスン目に進むと、SNSで紹介するか、有料会員に登録するよう求められます。4レッスン目以降は有料会員限定です。
Duolingoと同様、Mimoはアプリを連続して使用した日数を記録します。このゲーム的な要素で、アプリを開いて学習するよう促進します。また、バッチや賞状を収集する機能がゲームの要素を付加します。なにより優れているのは、Duolingoの「このユーザーをフォローする」に似た機能です。レッスンのスライド内で直接コミュニケーションがとれます。
Mimoには収集や達成の要素がたくさん盛り込まれています。さらに、設定した学習時間に応じてリマインドする機能もあります。ただし、学習時間の設定はコースの長さや内容などに影響しません。
執筆時点で、プレミアム会員の費用は年額54.99ポンド(日本円で約8000円)、または月額4.58ポンド(約670円)です。さらに契約自体は年単位でしかできません。モバイルアプリを使って学習を始める人のほとんどが1か月も経たずにやめてしまうという事実を、アプリ開発者は熟知しているようです。
無料でできることにこれだけのお金を投じる理由はなさそうです。
コース
MimoにはPHP、HTML、Swift、「ハッキング」などのコースがあります。複数のコースがセットになったコースもあり、順序よく関連する言語を学べます。たとえば「Make a Website」のコースには、Programming、Programming 2、HTML、CSS、JavaScriptなどのサブコースが含まれています。
このコースにはさほど魅力を感じません。基礎的な内容と難解な変数の概念のあとは有料のレッスンです。全43レッスンのうち無料なのは2レッスンだけなので、内容に価値があると納得して支払いに進むことは困難です。43レッスンなので数は多いですが、10~15分の短いレッスンがほとんどです。
どの言語のコースにも(少なくとも無料のレッスンでは)同じ内容が含まれるので、同じことをそれぞれの言語で説明されます。たとえばPHPのコースでは、PHPの変数について学習します。
Swiftのコースでも変数を学びます。
これでは有料会員に登録したくはなりません。理論的には正しいコース構成でも、Duolingoのプログラミング版を目指しているなら、学習済みの概念を学習中の言語で提示するのが順当でしょう。解決済みの問題を新しい言語で解決するのに勝る学習方法があるでしょうか? 実際の問題を解決したことにはなっていませんが。
最大の問題は、環境設定(私は本を執筆するほど環境設定にこだわりがあります)です。変数など、プログラミングの概念に関するレッスンから始まりますが、プログラミング言語を学んだ経験がまったくない人は、なにから着手すればよいか戸惑うのではないでしょうか。ランタイムやコンパイラー、IEDのインストール方法の説明がなく、OSなどの動作環境にも触れられていません。Mimoのコースをすべて終えたあとに、コンピューターの画面の前で困っているユーザーの姿が目に浮かびます。まるで剣術をスマホのRPGで学ぼうとしているかのようです。ゲームのアバターが剣を振り下ろせても、ゲームの外で戦う力は身に付きません。
コースの品質
「いわゆる」という表現が多用されていること、タイプミスがあちこちに見られることを除くとコースは良い内容です。理解しやすく初心者にやさしく書かれています。
無料レッスンには、4種類のシンプルな学習方法が用いられています。
- 推測
- 推定
- 暗記
- なぞなぞ
「推測」では学習していない項目に関する質問が出て、答えを推測します。間違えると次に進めませんが、何回でも挑戦できます。正答すると、解説が表示されます。
「推定」では、直前のスライドか数枚前のスライドで答えが示された問題が出ます。
「暗記」では、定義や理論、説明文が表示され、理解できるか確かめます。
「なぞなぞ」では、ばらばらになったコードを正しい順番に並び替えます。
この学習方法は理論的には正しいものの、実際にコードを打ち込んだほうが記憶に残りやすいと思います。またレッスンの最後にREPL(Read-eval-print loop:対話型評価環境)を設けて、学んだことを試せる機能があると良いと思います。
最後に
Mimoのコンセプトは魅力的ですが、プログラミングを習得できるとは思いませんでした。プログラミングの学習には、自分の指でタイプすることが欠かせません。また解決方法を検索する能力(StackOverflow-fuとして知られています)や、プログラミング言語のドキュメントを読んで重要な情報を探し出すスキルも必要です。さらに学習したい言語のコミュニティーに参加してサンプルコードを入手し、それを修正して自分のプログラムに使用する能力も必要でしょう。
Mimoは実践より理論に偏った暗記アプリケーションなので、大切な要素が抜け落ちています。実際のプロジェクトで出会うであろう用語を学習するには役立ちますが、実践的な価値は高くないでしょう。
もしかしたら有料会員のレッスンにはすばらしい機能があるのかもしれません。しかし、無料レッスンの品質が高くないことを考えると、年額55ポンドで年間契約しかできないのは、アプリ版のツーリストトラップにも感じます。
私はSitePointで教育に携わっていますが、SitePoint以外のプロダクトであってもいいものなら紹介します。良いトレーニングを紹介することがゴールであり、目先の利益は重要ではありません。教育の市場は十分に大きく、能力の高い開発者のコミュニティーは長期的には全体の利益につながります。たくさんの人が著者として応募してくれ、スキルを磨くトレーニングを紹介してくれます。また何年かののちに腕を磨いて貢献してくれるからです。
Mimoもこれから有力なトレーニング手段になれる可能性があります。そのために必要なのは、SNS要素の強化、シンプルなREPL(PHP、JS、Ruby、HTMLのようにサポートしている言語の場合)、無料レッスンの改善(誤字、説明文、表現、全般的な編集とコースデザイン)、料金体系の変更、手を動かす内容の追加です。Mimoはたくさんの人が新しいことを学習する場になるかもしれません。私自身、QueueやTrafficに10分以上はまった経験は何度もあります。無駄な時間を手軽なMimoで役立つスキルを習得できれば、その価値はとても大きいでしょう。
Mimoの発展を願っています。バージョンアップしたMimoも使う予定です。
(原文:Duolingo for PHP – How Much PHP Can Apps like Mimo Teach?)
[翻訳:内藤 夏樹/編集:Livit]