本日はプログラミングの学習方法についての提案です。
今の時代、インターネット上にはプログラミング学習をサポートする優れたプラットフォームがたくさんあります。たとえばProgateやドットインストールなどプログラミング学習のプラットフォームをご存知の方も多いと思います。今回はこのような学習プラットフォームを組み合わせてプログラミングを学ぶことで学習効率を高める方法を紹介します。これからプログラミングを学ぶ方へのヒントになればと思って書いています。
プログラミングスクールの難しさ
以前の投稿でプログラミングスクールは費用が高い、、といった話をしました。
プログラミングスクールには費用面以外の課題ももちろんあるわけで、まずはその点をお話してみようと思います。
私も年に何度か(80日くらい)登壇して、プログラミングの講義を担当しています。教室で、複数人の受講生に対して、プログラミングの講義をしていると、どうしても起きてしまう問題があって、それは学習の進捗に差が生まれてしまうことです。
仮に教室に20人の受講生がいれば、プログラミングの速い人と、そうでない人とで進捗に差が出てきます。
進捗の速い人はもっと高度な問題にチャレンジしたい
進捗の遅れている人はゆっくり丁寧に学びたい
ですが多くの場合で教室には講師は1人しかいません。受講生の人数によってはサポート講師がさらに1名付くこともありますが、受講生一人ひとりに対して100%のサポートができているかというと、なかなか難しいのが現状です。
問題は何か
まずは問題点を探っていきましょう。学習の進捗に差が生まれしまうことは問題でしょうか。これはNOですね。みんな一人ひとり個性がありますし、かつてのSMAPの歌にもあったように育ってきた環境も違うので進捗に差が出ることは仕方ないです。
みんなちがって、みんないい。学習の進捗に差が出てくるのは問題ではありません。進捗にバラつきが発生して、受講生がストレスを感じることが問題です。
どこに原因があるのか
それでは原因についてはどうでしょうか。講師が足りないことでしょうか。もし教室に受講生が20人で講師も20人いるとしたら。3密になるのは避けられないですぅ、というモダンな話題は置いておいて、おそらく手厚いサポートはできると思いますが、まずコストがかかります。講師の稼働分の費用です。もし何らかの方法で、コストをカバーできたとしても自分と相性の良い講師でないとマンツーマンの指導は受講生にとってもストレスになると思います。
話が少しそれますが、講師という仕事に必要なのは高い専門性(プログラミングスキル)だけではなく、受講生の気持ちを考えて言葉を選ぶコミュニケーションスキルも重要なのです。
偉そうに書いてしまいましたので話を戻します。それではどこに問題の原因があるのかと言うと「教室での教え方」に原因があると思っています。
一斉授業の課題
ここで話題にしているスクールは私たちが、小学校や中学校で体験してきたような教師一人に対して、大勢の受講生がいるようないわゆるベタな指導をしている教室です。このやりかたを「一斉授業」などと呼ぶようですが、一斉授業だと先に述べたように受講生ごとに進捗の差が生まれ、速い人もそうでない人も両方にとってストレスになります。
反転型プログラミング学習
前フリが長くなりました。私が考えているオススメの学習方法がこれです。
①受講生は学習動画を視聴して学ぶ。
講師は前で話さない。
②わからないところを講師とマンツーマンで話す。
講師は受講生の学習状況に合わせて
必要な考え方や学習方法をアドバイスする。
このような学習スタイルを、反転授業や反転学習などと呼びます。この反転授業の良い点は、講師が受講生一人ひとりと向き合って時間を使うことができる点です。
受講生は動画を使って何度でも繰り返し学ぶことができるので、周りを気にせずに自分のペースで理解を深めることができます。また学習していて疑問に感じたところや困ったところ、聞きたいところにフォーカスして、講師から具体的なフィードバックをもらうことが可能です。このような反転授業形式の学習によって進捗にバラつきが発生しても受講生がストレスを感じることがなくなります。
どうやって実現するのか
このようなストレスフリーなプログラミングの学び方は学習プラットフォームを組み合わせることで実現できます。まず「①受講生は学習動画を視聴して学ぶ」の部分について。たとえば、これには Udemy という学習プラットフォームを使うことができます。
Udemyは、学びたい人、教えたい人のためのオンラインのマーケットプレイスです。プログラミング、マーケティング、データサイエンスなど、130000以上のコースを3500万人の受講生が学んでいます。
Udemyは様々な分野の学習動画を販売しているサイトです。日本だとベネッセさんが運営に関わっているようですね。なんとなく安心して勉強できそうですよね。それでオススメの講座がこれですね。
はい、宣伝ですね、すみません。私が制作したPHPの基礎を解説している講座です。Udemyは定期的にセールを行っているので、セール期間中に購入されることをオススメします。あるいは私の方でも割引クーポンを発行できるので、必要であればTwitterでDMを頂ければと思います。
次に「②わからないところを講師とマンツーマンで話す」。たとえばこれには ストリートアカデミー という学習プラットフォームを使うことができます。
習いごと探すならストアカ。趣味やビジネススキルの講座やレッスンを対面形式やオンライン形式で気軽に学べる。入会金・月謝なし、1回から受講可能。
ストリートアカデミーは以前も紹介しましたね。いろんな専門性を持つ人が先生になって、「教えたい」 x 「学びたい」をマッチングしていくサービスです。それでオススメの講座がこれですね。
ストリートアカデミー - PHPプログラミング・個別レッスン
私もストリートアカデミーで個別レッスン講座を開設していますので、Udemyで学習していて感じた疑問点などがあればこちらの講座内でZoomを使って丁寧に解説できます。
ストリートアカデミーには他にも様々な面白そうな講座があります。ストリートアカデミーは個別レッスンに特化しているわけではないのでご注意ください。
反転型プログラミング学習のススメ
まとめると
学習動画 + 個別レッスン = 反転授業
たとえば
Udemy + ストリートアカデミー = 反転授業
という勉強方法はオンラインで完結する反転型のプログラミング学習として、相当アリなんじゃないかなぁと考えています。もちろん費用はかかりますが、独学に苦労しているのであれば、誰かに聞けばわかるような簡単な疑問で時間を浪費していくよりも合理的な学び方だと思います。
あと反転授業でについては大事なポイントがもう一つあります。先ほども書いたとおり、個別レッスンは講師との相性が大事 です。せっかくスクールに入学したのに「先生が何を言っているのかわからない」といった話を聞くこともあります。私もしゃべりが上手いタイプではないですが、Udemyのサンプル動画をご覧頂ければ、話し方や考え方、キャラクターが伝わると思います(動画の中では真面目に話しています)。もし相性が良さそうな方であれば、一緒にストアカで勉強できたらいいなぁ、と思っています。
プログラミングは目的を達成するための手段です。
プログラミングの習得のその先に、みなさんのやりたいことがあると思うので、お金と時間の使い方を工夫して、効率よく学んでもらうことが大事かなーと思います。
さいごまでお読みいただきありがとうございました。