PHP

話題のアプリDuolingoのプログラミング版!?「Mimo」を使ってみた

2017/09/14

Bruno Skvorc

FREE
27

Articles in this issue reproduced from SitePoint
Copyright © 2017, All rights reserved. SitePoint Pty Ltd. www.sitepoint.com. Translation copyright © 2017, KADOKAWA CorporationJapanese syndication rights arranged with SitePoint Pty Ltd, Collingwood, Victoria,Australia through Tuttle-Mori Agency, Inc., Tokyo

手軽にプログラミングを勉強できるスマートフォンアプリ「Mimo」を実際に触ってみました。

Mimoは時間や場所を問わずプログラミングを学べるアプリです。私はDuolingoを長く使っていますが、数週間でSwiftの基礎的な知識を習得するため、Mimoの宣伝文句に魅力を感じました。

Mimoで新しいことを習得できるか客観的に評価するため、Mimoでできることを調べて、新しい言語を習得しようとしている人にすすめられるのか確認しました。

Mimo homepage screenshot at getmimo.com

モデル

Mimoは、各コース2レッスンまでは無料です。3レッスン目に進むと、SNSで紹介するか、有料会員に登録するよう求められます。4レッスン目以降は有料会員限定です。

The pay to unlock screen in Mimo

Duolingoと同様、Mimoはアプリを連続して使用した日数を記録します。このゲーム的な要素で、アプリを開いて学習するよう促進します。また、バッチや賞状を収集する機能がゲームの要素を付加します。なにより優れているのは、Duolingoの「このユーザーをフォローする」に似た機能です。レッスンのスライド内で直接コミュニケーションがとれます。

Achievements in Mimo

Mimoには収集や達成の要素がたくさん盛り込まれています。さらに、設定した学習時間に応じてリマインドする機能もあります。ただし、学習時間の設定はコースの長さや内容などに影響しません。

Reminder frequency menu

1日20分の勉強が異常だというのはちょっと悲しいですね。

執筆時点で、プレミアム会員の費用は年額54.99ポンド(日本円で約8000円)、または月額4.58ポンド(約670円)です。さらに契約自体は年単位でしかできません。モバイルアプリを使って学習を始める人のほとんどが1か月も経たずにやめてしまうという事実を、アプリ開発者は熟知しているようです。

The Upgrade to Premium screen in Mimo
無料でできることにこれだけのお金を投じる理由はなさそうです。

コース

MimoにはPHP、HTML、Swift、「ハッキング」などのコースがあります。複数のコースがセットになったコースもあり、順序よく関連する言語を学べます。たとえば「Make a Website」のコースには、Programming、Programming 2、HTML、CSS、JavaScriptなどのサブコースが含まれています。

The course track selection screen

Page 1 of the Make a Website track

Page 2 of the Make a Website track

このコースにはさほど魅力を感じません。基礎的な内容と難解な変数の概念のあとは有料のレッスンです。全43レッスンのうち無料なのは2レッスンだけなので、内容に価値があると納得して支払いに進むことは困難です。43レッスンなので数は多いですが、10~15分の短いレッスンがほとんどです。

どの言語のコースにも(少なくとも無料のレッスンでは)同じ内容が含まれるので、同じことをそれぞれの言語で説明されます。たとえばPHPのコースでは、PHPの変数について学習します。

PHP variables introduction

Swiftのコースでも変数を学びます。

Swift variables introduction

これでは有料会員に登録したくはなりません。理論的には正しいコース構成でも、Duolingoのプログラミング版を目指しているなら、学習済みの概念を学習中の言語で提示するのが順当でしょう。解決済みの問題を新しい言語で解決するのに勝る学習方法があるでしょうか? 実際の問題を解決したことにはなっていませんが。

最大の問題は、環境設定(私は本を執筆するほど環境設定にこだわりがあります)です。変数など、プログラミングの概念に関するレッスンから始まりますが、プログラミング言語を学んだ経験がまったくない人は、なにから着手すればよいか戸惑うのではないでしょうか。ランタイムやコンパイラー、IEDのインストール方法の説明がなく、OSなどの動作環境にも触れられていません。Mimoのコースをすべて終えたあとに、コンピューターの画面の前で困っているユーザーの姿が目に浮かびます。まるで剣術をスマホのRPGで学ぼうとしているかのようです。ゲームのアバターが剣を振り下ろせても、ゲームの外で戦う力は身に付きません。

コースの品質

「いわゆる」という表現が多用されていること、タイプミスがあちこちに見られることを除くとコースは良い内容です。理解しやすく初心者にやさしく書かれています。

The introduction screen of the PHP course

First screen of the PHP course

無料レッスンには、4種類のシンプルな学習方法が用いられています。

  • 推測
  • 推定
  • 暗記
  • なぞなぞ

「推測」では学習していない項目に関する質問が出て、答えを推測します。間違えると次に進めませんが、何回でも挑戦できます。正答すると、解説が表示されます。

User is expected to pick a term they hadn't heard of before

A new term out of nowhere is defined

「推定」では、直前のスライドか数枚前のスライドで答えが示された問題が出ます。

A deduction about implicit data types in Swift

「暗記」では、定義や理論、説明文が表示され、理解できるか確かめます。

PHP Theory

More PHP Theory

PHP being a server side language, slide explained

Guesswork slide, offering choices

Guesswork slide, wrong choice selected

Guesswork slide, right choice selected

「なぞなぞ」では、ばらばらになったコードを正しい順番に並び替えます。

A re-ordering of PHP and HTML code

A re-ordering of Swift code

Re-ordering PHP code

この学習方法は理論的には正しいものの、実際にコードを打ち込んだほうが記憶に残りやすいと思います。またレッスンの最後に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

Copyright © 2017, Bruno Skvorc All Rights Reserved.

Bruno Skvorc

Bruno Skvorc

コンピューターサイエンスと英文学の修士号を持つクロアチア出身のプログラマーです。SitePointのPHPチャンネルのエディターで、Diffbot.comのデベロッパーエバンジェリストです。古いコードを黒死病のように遠ざけて、最先端のプロジェクトに関わるようにしています。ランニングマシン型の机を愛用し、(ボード)ゲームをして、ときにはブログを書いています。

Loading...