UdacityのAndroid Development for Beginnersについての解説

現在IT業界でSEとして仕事をしており現在は開発と直接関係する仕事はしていません。
しかし近いうちにAndroid開発の仕事がしたいと思い、現在UdacityでGoogleが提供している”Android Development for Beginners”というコースを受講しています。

Udacityってなに?
Udacityというのは数年前から着目されはじめたMOOCs(オープンオンライン講座)を提供しているサービスの一つです。UdacityのほかにもCourseraやedXなどがあります。日本だとgaccoなとどいったサービスがいろいろあります。
その中でUdacityは元々スタンフォード大学の教授でありGoogleのフェローであったSebastian Thrun(wiki)が設立したMOOCsです。
シリコンバレーの有名企業とタイアップしたコースが有名で、他のMOOCsとは違って企業が提供しているより”実践的な職業訓練”が受講できるのがその特色です。

”Android Development for Beginners”
Android Development for Beginners”というコースはGoogleが提供しているAndroidアプリ開発者の入門レベルのコースです。
Udacityで提供されているコースのほとんどと同じく有料と無料のものがあります。
有料であっても、無料であっても受講できる授業の内容自体(動画及びクイズ、授業の授業構成資料)は同じです。
その違いは以下の通り、

・有料の場合
1、書いたコードのレビューを受けれる
2、コースのスタッフに困ったときに質問できる*たぶん英語のみ対応
3、終了証がもらえる

というところです。
特に上記のサポートが不要な場合はメールアドレスや名前を登録するといった簡単な登録を済ませたらすぐに受講を開始することができます。

授業は英語で行われています
講座自体はGoogleの社員が作成しており、実際にAndroidのチームで仕事をしていた方が講師です。
講座はすべて英語で資料も全て英語です。動画自体はYouTubeが使われており、字幕を設定することもできます。
私は英語字幕で観ていますが、自動翻訳の日本語でも見る事ができます。
(このコースに限ってはリクルートが自前のサイトで翻訳して提供しているものがあるそうなので、日本語がいいという方はそちらを受講するのがいいかもしれません。)
英語自体はそんなに難しくないです。難しい単語を使う事はほとんどなく、シンプルで分かりやすい。
但し最初は講師のアクセントが教科書みたいな”正しい”発音ではないので慣れが必要かもしれません。それも英語字幕があるので、ほとんど問題になりません。
自分の感覚でいえばTOEIC600点ぐらいあれば十分受講できると思います。

コースの構成
コースは大きく分けて3つのパートに分かれています。そこからさらに以下の通りに小分けにされており、それぞれ一つの流れとして構成されています。
コースの最初の説明にあるのですが、これらのコースは全部で24時間前後で終了することができます。
週に6時間勉強して、4週間で終わるのが目安のようです。

下記一つ一つのパートはそれぞれ10~20ぐらいの動画に分かれており、各動画は全て平均5分程度(1分~8分)の長さで、半分ぐらいに簡単な確認クイズや質問などが入っています。どれも簡単なもので動画を見ていれば回答或いは実行できるものです。

Lesson 1A: Building Layouts
Lesson 1B: Building Layouts
Practice Set 1
Coffee Break Challenge (Optional)
Lesson 2A: Making an App Interactive ★現在ここまで完了
Lesson 2B: Making an App Interactive
Practice Set 2
Lesson 3A: Object Oriented Programming
Lesson 3B: Object Oriented Programming
Final Project : 5 Things

こちらのコースで使われているマテリアルが公開されているので、参考になると思います。
講座を受けながらAndroidアプリがどのように構成されているのが、どのようなファイルを弄ればアプリとして成立するのか、などが理解することができます。
コースの中で合計で3つの簡単なアプリを作成します。
どれも非常にシンプルで難しくはないのですがAndroidアプリの本質的な要素をカバーしている内容なので、とても勉強になります。

受講していて感じること
現在はLesson 2Aを完了した所です。初心者向けで非常に分かりやすく、噛み砕いてステップバイステップで、初心者がつまずかないようにとても工夫して内容が構築されています。そのためプログラミングが全くの初心者でない限り、Lesson2以降はあまり参考にならないかもしれません。
自分はこちらの講座を受けるのと同時に独学でJavaを勉強しているので、Javaの知識があるため、Lesson2以降で丁寧にソースコードの説明(メソッドや変数、グローバル変数の解説)があるのですが、すでに知っている内容なので特に参考になりません。
しかしプログラミングが全く初心者の人にとっては、かなり細かくゆっくり解説されており、さまざまに説明が工夫されているのでとても良い内容なのではないかな、と思います。
自分はあまり参考にならなかったので、1.25倍速で動画自体は聞き流しました。
Javaなどの経験がある人はUdacityの解説通り中級者以上向けのDeveloping Android Appsの講座から受講した方がいいと思います。

本当の初心者(プログラミング経験ゼロ、JavaとJavaScriptって何が違うの?とかエクセルの関数とかマクロとか触ったことがない方)がこのコースを受講するとたぶんAndroid Studioのインストール及びAndroid端末とPCをつないで自分で作成したアプリを実行する、動画か作成された時と今ではAndroid Studio及びSDKのバーションが違う、という所が大きな障害になってくるのではないかと思います。周囲にそういった事を質問する相手が居たり、ネットで検索して問題解決できそうな場合はそれらの事は特に障害にはならないと思います。

Googleは何故このコースを作っているのか
どこかに書いているのかもしれませんが、純粋のAndroidアプリ開発者を増やしてAndroidユーザーの満足度をアップさせるような環境を作りたい、というものなのかなと思っています。
この講座を受講していると、本当に講座がよく練られていてどこで受講者が躓きやすいのか、それを細かく分割して丁寧に教えており、さらにAndroidアプリの構造のコンセプトを理解できるような内容がしっかり詰まっています。
つまりGoogleは本気でこの講座を受講した生徒にAndroidアプリ開発者になれる知識を提供し、且つ実践的な訓練を提供しています。単なる社会貢献とかそういう、興味のある人が満足できるように表面的に取り繕うみたいな部分がありません。

日本とアメリカの教育や訓練についての思想の違いを感じる
私は日本で職業訓練に通ったり、学校に通ったり、会社の新人研修を受けたりしたことがあります。おそらく多くの社会人の方は同じような経験をしていると思います。その上でUdacityなど海外の教育機関が提供している講座を受講するとつくづく教育の有り方がぜんぜん違うな~と感じます。
日本は先生が上で、生徒が下。つまり先生と頂点とした階層型の人間関係が前提で、どこまで行っても先生が(上から目線で)生徒に教える。という形が存在している。職業訓練や資格講座などでは顧客が生徒なので、逆にお客様としての生徒が上な関係性で逆なのですが、上下の関係が必ず存在している。そして上の存在が(上から目線で)下の存在に向かってあれこれご高説を賜る、みたいな関係がある。
Udacityの授業を受けてみると、講師と授業者がフラットな関係である。なので教えるというより、情報を共有するのに似ているし、~しなければならない、~こうしなさい、これをしようと思う人間なら努力しなければいけません、みたいな相手の努力や頑張りを強要するようなことは一切ないです。励まして、大丈夫!できるから!というような、挑戦しようとしている人を助けていこう、というような考え方があると感じます。
どちらが良いとか悪いとかというより、受講する人間がどういう形式の方が合っているか、慣れているのか、という事だと思います。

****

というわけでまだ半分程度しか終わっていないので、引き続き最後まで頑張って受講していきたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です