2015/09/02

Udacityを使ってAndroid勉強会を開催する方法


はじめに


GoogleがUdacity上でオフィシャルに提供している学習コンテンツを使って勉強会を開くStudy Jamsを活用し、GDG石巻でAndroid開発勉強会で講師をしてきました。


Udacityを利用する勉強会では今までの講師の役割が全く違ったものになりますので、私が体験した講師の存在意義についてをご紹介し、今後、同様の勉強会を開催する方の参考になればと思います。


Udacityとは?

簡単に説明するなら「オンライン授業」です。あらゆる授業が録画ビデオで受講できるようになっています。
Google関連技術についてはGoogleがオフィシャルで授業コンテンツを作成しているため、質の高いコンテンツが揃っています。
ただし、ほとんどが英語。YouTubeを活用しているので、字幕を付けることが出来る授業もあり、なかには日本語の字幕の付いている授業もります。
Google JapanのStudy Jamsがサポートしている授業だと比較的入りやすいと思います。私はこの中から「Developing Android Apps」を選び、勉強会を開催しました。


勉強会講師の役割

勉強会開催にあたって、下記の疑問が自然と生まれました。


・Udacityの動画内に講師(技術を教えてくれる人)がいるので、講師は不要では?
・個人で受講できるのに、勉強会を開催して集まる必要ある?


勉強会を開催する前に、自分でUdacityの授業を幾つかうけてみました。
ただ受けるのではなく、勉強会で講師をするつもりで受講し、上記疑問に対する答えを探しました。


答えは「両方とも意義はある」と思い、実際に開催し、その仮説の検証を行いました。


勉強会のスタイル

いろいろなスタイルが考えられると思いますが、以下のスタイルがやりやすいのではないかと思います。

スタイル1:個人のPCで各個人がUdacityの授業を受講する
スタイル2:授業を複数準備し、興味ある授業ごとにグループを作り、それぞれのグループであつまり各授業を受講する
スタイル3:プロジェクターなどで1つの画面にUdacityの授業を映しだし、全員で受講する
スタイル4:スタイル3に加えて、授業内で説明される内容を実際に手を動かし確認する


勉強会の規模、設備、サポートしてくれる人・人数によって実施スタイルが異なると思います。今回は規模が10人程度に対して、サポートしてくれるスタッフ(GDG石巻のマネージャなど)がそろっていたのでスタイル4で勉強会を実施し、スタイル1で継続して勉強を続けられるよう意識した内容にしました。


設備としてプロジェクターがあったので、Udacityの授業をプロジェクターで映しだし、全員で1つの画面に向かい受講しました。


勉強会講師の存在意義

勉強会講師(今回は私)は講師ではなくサポータという役割が適切じゃないかと思いました。
動画内の講師が説明する内容について

・受講者の顔を見ながら、理解度にあわせて分かりやすく解説し直す
・開発経験から得られた「ここ重要!」な内容を強調する
・ハンズオン形式の場合のファシリテーション
・実装確認(バグっていたら一緒に原因を特定する、特定してあげるのではなく、特定の方法を教える。プリントデバッグ、スタックトレースの読み方、デバッガの使い方など)
・質問がある場合、それに答える
・補足情報(経験した事例や、専門用語の意味など)を加える


すべて技術的な知識や開発経験があるからこその付加情報なので、勉強会講師の存在意義はある程度あるのではないかと思いました。


勉強会の開催意義

オンライン授業の大きな利点の一つ「いつでも、どこでも受講できる」をなくしてまで勉強会を開催する意義についてですが、

・他の人の意見を聞ける
・他の人に教えてもらったり、教えたりして理解を深めることができる
・他の人の疑問点やつまづくポイントを知ることができる(自分がその疑問に気付かなかっただけ。授業を作業化して自分で考える事をやめ、自分の理解に対して無自覚になることは多い。)
・モチベーションが続く(他の人が頑張っていると自分も!ってなる)
・時間のコントロールを勉強会主催者に委ねることで確実に勉強が進む(長時間勉強で疲れないように適宜休憩が入ったり、サボれない)


という理由により、意義はあると思いました。
特に他の受講者の存在により、自分の理解の深化が最大のメリットじゃないかと思いました。


勉強会講師の準備

普段の勉強会だと、資料作成が必要ですが、Udacityを利用するとそれが必要なくなります。その代わり、Udacityの授業をサポートする資料が必要になります。
私が準備した資料は3つです。


・自己紹介
・Udacityの使い方
・授業の進行表


自己紹介は言わずもがなですね。サポートしてくれる人が何者なのか分からないままだと安心して質問できません。


Udacityの使い方ですが、受講生の全員がUdacityを始めて使う状況だったので、どのように活用すると、今後の勉強に役立つかを知ってもらうために使い方の説明を加えました。勉強会で勉強したことを自宅で復習したり、継続して勉強するのにも役立ててもらう意図もありました。


最後の進行表ですが、これが一番大事だと思います。私は勉強会で使う授業を事前に2,3回受講し、

・どのように授業が進むのか
・どこが大事なのか
・どこが難しく、再生を止めて追加の解説を加えるのか


を事前にメモしておきました。
Udacityは1レッスンが複数のセクションに分かれており、セクションごとにタイトルが付いています。タイトル毎に上記をメモしておきました。これのおかげで、授業を邪魔しないようなサポートがある程度できたのではないかと思います。
※事前にリハーサルなどをしていくとよりクォリティが上がると思います


勉強会のすすめ方

今回の授業は所要時間が4〜5時間(実際受講するとそこまで長くない)と表記されていて長めなので、適宜休憩を入れたり、授業内のミニクイズをみんなで考えたり、補足情報を加えて飽きない(寝ない)ようにするなどの工夫をしました。

また、実際に実装を通してAndroidのアプリ開発の基礎と基本概念を理解する授業でしたので、受講者にAndroid Studioを開いてもらい、授業の進行と平行して実際にコードを書いてもらいました。当然、何らかのミスによりうまくいかないことも有るため、GDG石巻のメンバーや私がサポートし不具合を解消しながら進めました。
実際、個人で勉強を続けるとしても、手を動かす内容であれば手を動かしたほうが確実に身につくと思い、サポートコストが高くなりますし授業の進行としてはリズムが悪くなるのですが、このような方法をとりました。

もっと長い授業もあるので、勉強会の時間を鑑みて、飛ばすセクションを決めておく、2回に分割するなどの工夫も効果的かもしれません。


先の進行表に休憩のタイミングやミニクイズに充てる時間、また難しいクイズの場合はヒントなども記載しておきました。


まとめ

Udacityを使ったAndroid開発勉強会を開催する1手法について説明しました。
GDG石巻で実際に行った経験から、Udacityを使った勉強会の意義や講師としての役割などについての考察をまとめました。

Udacityは個人で受けることのできるオンライン授業ではありますが、勉強会講師などに質問したり、他者から刺激(付加情報)を得るなど、勉強会の価値はある程度あると思われます。

勉強会講師は一般的な勉強会とは異なり、事前に資料の準備は必要ありませんが、授業コンテンツの理解と、進行管理の事前準備を行い、受講者のサポートに回る役割が求められるのではないかと思いました。

最後に、
GDG石巻で使った資料を公開しておきます。