見出し画像

プログラミングを教えるのは難しい

従来の大学の常識をぶっ壊し、最高なテクノロジーのカリキュラムを組むためにイテレーション(反復方法)を取り入れる方法

従来の教育システムはテクノロジ―を適切に教える秘訣を見つけ出せていない。実際に大学が生徒に提供しているものは、業界が求めているものと大きく異なる。特に急速に発展しているウェブ開発の業界がそうだ。


従来の大学がこのような新しい分野に沿って改革することに苦労している中、テクノロジー教育市場は急成長している。何百個ものチュートリアルとリソースがedX、Coursera、Codecademy、Treehouse、Udemy、Lyndaなどに投稿されている。Udacity は大手企業のGoogleやFacebookと提携して共同の”nano-degrees”を作った。市場参加者であるGeneral Assemblyは世界の企業のオンサイトテクノロジー教育に参戦するために何百万もの資金を稼いでいる。コーディングブートキャンプ市場は凄まじく成長し、混み合っている。アメリカとカナダだけでも、2015年から2016年の間にコーディングブートキャンプの数が67から91に増えた。(一年で35%の増加)

市場がこのように急速に拡大していると、一般的に良いものと悪いものを見分けることが難しくなる。特に扇情的な販売キャンペーンや「iOSアプリを一週間でつくれるようになる」などの言い過ぎな広告があるとね。沢山の市場参加者が同じ価値と99%の就職率を提供しようと試みるが、それは真実ではない。TechCrunch等のメディアが時々反対の立場をとり、反論する中で、オバマは全ての子供がコードを学ぶべきだと言う。

結局のところ、個人的に一つの質問が残る。


果たして何が最高なテクノロジーカリキュラムを作るのだろう?

驚き!最高なカリキュラムは最高な先生から始まる。


テクノロジーの科目も他の科目を学ぶ時と全く同じである: 素晴らしい先生こそが全ての違いを生み出すのである。驚きましたか?(全然ですよね)。2012年にCourseraを起動したAndrew Ngがつくった機械学習のコースを受けてみたらわかるでしょう。これまでのデータサイエンティストは初心者向けの学習としてこのコースをおすすめするでしょう。このコースの考案や実行に移すまで沢山の時間と努力が必要だったのだろう。でも結局は一人の先生の作品なのです(もしかしたら数名)。一人の先生が何万人の生徒に影響を残すことができるから教育はとても拡張性がある。しかし拡張性を付けることは必ずしもお金と破壊的技術を必要とせず、才能と時間と熱意が必要なのである。

カリキュラムはUXにも大きく関係がある


もしかしたらいつか神経科学が進化し、新しい分野の勉強が数分で実現できるかもしれない。今のところ、これはサイエンス・フィクションでしかありえないけど。現代の教育過程は大まかにカリキュラムに定義された知識で成り立っている。言い換えると、生徒の新しい概念や技術を学ぶ一連の流れの経験で出来上がってるっていうこと。この一連の流れは単に内容だけではなく、例題・構造・挑戦・進行・楽しさをも含む。
私は初めてプログラミングを学校で学んだ時、最悪な経験をしました。その時私が学んでいた典型的なC++(プログラミング言語)のコースをお話ししましょう。

・まず3時間、パワーポイントを使ったプログラミングの概念についての講義から始 まります。(パワーポイントを使った講義は禁止しましょ、、、本当に、、🙏🙏🙏)

・そして2時間ほどPDFの課題を1人で取り掛かり、プログラムを書き出して数字をローマ数字またはとっても使いやすいものに翻訳しろと言われる。何故これをやっているのか、何が目的なのかを教えてくれる人が誰もいなかった。

・この二つの過程を踏んで(パワーポイント講義とPDF課題)、15分繰り返したものが、私が受講したプログラミングの授業の「カリキュラム」でした。

このコースの履修中、私達は先生が実際にテキストエディターを使ったり、コードをうつ場面を見ることは一度もなかった。コードを使ってソフトウェアを作る方法も話し合わなかった。APIやウェブスクレイピングを使って実際のデータを取り扱うこともしなかった。私にとって、コードというものはつまらなく、真の目的が見えない概念でした。他の同期にとってもどうでもいいものだった。

(左)かつて私が受講したプログラミングのコース(右)プログラミングのコースのあるべき姿

私が友達のMathieu(Le Wagon創立者の一人)と一緒にプロダクトのコーディングを始めた時、なんてコードが魅力的なのかを知った:

・データベースとソフトウェアをデザインする際にエンジニアのスキルが必要

・ユーザーが本当に欲しい機能をつくるためにプロダクトのスキルが必要

・インターフェイスを直感的にするにはUXとUIのスキルが必要

・プロダクトをよく見せるにはグラフィックデザインのスキルが必要😎

・コンセプトを説明し、売るためにマーケティングとライティングスキルが必要

・ユーザー行動を記録するために分析力が必要

私は自分が熱中できるものを見つけた。私は実際に自分の脳みそ全てを使い、C++のクラスと全く違った様々な総合的な技術を必要とし、とってもワクワクし、人を惹きつける世界を発見した。そして一つの疑問を投げかける。

どうして私が受講したプログラミングのコースはつまらなかったんだ?



答えは単純。生徒に良い経験をさせるには沢山のイテレーションが必要です。従来の学校はそれを実現する適当な土台がない。


カリキュラムにイテレーションは必須

全ての良心的な先生に彼らが5年前に作った授業について意見を聞いてみたらどうなるだろう。必ず彼らは更新する必要がある、と言うよ。その方法は突然授業をCourseraやedXなどのオンラインに掲載することではない。どうして従来の学校は主力製品であるカリキュラムをイテレーションする事に苦労するのだろうか?

・長期的なフィードバック: 先生として、10年間同じ授業を教え続けると、カリキュラムを繰り返すことが苦になるだろう。最高なカリキュラムを組むのは楽しいが大変だ。カリキュラムを維持し向上していくのが退屈な面かな。生徒は先生から授業のフィードバックを聞かれない。聞かれたとしても、先生達は毎年授業やカリキュラムを変更することに前向きではない。ただ鬱なだけだ。例えば毎年1人のユーザーにしかフィードバックをもらわないプロダクトマネジャーは絶対仕事しないだろうね!

・間違った動機: 沢山の学校や大学が博士号や誇らしい実績を持つ素晴らしい研究者と一緒に働いている。その中には魅力的な先生もいる。例えば、生徒たちが学ぶ学問に熱血な先生とかね。でもその中には業界内の経験が足りない人もいて、何年も実行してきたカリキュラムを反復するより、最前線の研究に時間を費やすことを好む人もいる。特にその学校が研究に力を入れていて、その研究結果を発表することに大学がボーナス給与を与えてる場合。結果的には、学校の名誉って先生の名誉からくるものだよね?私が聞いた限りではそうやって学校の順位が計られているらしい。悪循環だね。

Le Wagonは他のコーディングブートキャンプと違うカリキュラムの反復方法がある:

・私たちは毎月3ヶ月ごとにプログラムを実行します: 短いサイクルで、繰り返し細かいフィードバックを受ける

・生徒は一式揃った技術にお金を払っているのであり、先生たちの学歴に払っている訳ではありません。Le Wagonの先生が情報科学の雑誌やメディアに取り上げられているかどうかは関係ないのです。

当初から、私たちの主要なカリキュラムと基盤のイテレーションは最大で15回行なっています(毎年4回)。私たちは沢山の新しいアイディアを試し、導入してきました。

・毎日新しいクラスメートと新しい発見をし、共同にプログラミングをするための”バディ”システム

・従来の学校の試験に様に生徒の学習結果を評価するのではなく、生徒のコーディングを継続的に観察し、生徒が行き詰まっている時に積極的に助ける

・生徒が行き詰まった時に何が問題なのか、生徒からの説明を促すチケット・システム

・生徒達が記憶を訓練できるようにフラッシュカードを作り、1日の終わりに毎回コーディングをしなくても済むように主な概要を取り扱った練習問題を毎日させる

・などなど、、、

私たちは相当な数の新しい特性をカリキュラムに試し、繰り返し講義と練習問題の内容を改善してきました。正確に言うと過去3年間で2105回以上繰り返しました😱😱😱。このGithubにある履歴を見るとわかるでしょう。

合計2,105回もカリキュラムを繰り返し見直してきました

そして生徒達が私たちの教育にお金を払うからこそ、各セッションに対しての測定基準はNPSだけを利用します(NPSを知らない人のために、この記事をどうぞ)。これは2016年から2017年間にパリにあるLe Wagonの卒業生が残したNPSです。

私たちはNPSが70を越えることを最優先します。生徒にはプログラムに満足してほしい訳ではなく、人生が変わるような経験をしてほしいのです。この経験が私たちのカリキュラムを構成します。


インスピレーションも教育のうち


私はフランスにある名高いエンジニアスクール出身で、それを誇りに思います。彼らのプログラミングの教え方が下手だったとしても、そこの学校はいろんな分野に優れていて、学ぶ姿勢を教えてくれた。しかしまだ一つ疑問が残る。


なぜ学生時代の三年間は銀行とコンサル会社のどうでもいい話ばっかり聞かされたんだろう?


私の学校のネットワークでは沢山の刺激的な卒業生がいます。革新的なサービスとプロダクトを発明してきた何百人ものエンジニア、沢山の興味深いストーリーを持つ何百人もの起業家。それならどうして私が生徒だった頃は「刺激を受ける話」のような類の話を聞けるのが銀行やコンサル会社に勤めている人だけだったのだろうか?
Le WagonのYouTubeチャンネルを見ると、100を越える世界中の上位レベルの起業家やCTOとのトークを開催してきた様子が分かります。これらのトークは他のカリキュラムと同じくらい重要です。私たちにとってはインスピレーションも教育を通して生徒に教える内容の一部なのです。

私たちの20あるキャンパスにて100を超える様々な起業家たちのトークセッション

自分が本当にしたいことが分かってる人は少数しかいません。ほとんどの人は自分の天職を見つけるために刺激を受けていろんな話をきく必要があるのです。


全部を少しずつ教えるのではなく、生徒達も専門性が必要


天職を見つける際には成人した子供としてインスピレーションを受けるだけではなく、専門的技術を養う必要があります。本当に自分の好きなことと出会うには、特定の分野で技術を極めなければいけません(せめてジュニア専門員ですね😊)。
私が学校に通っていた頃、すぐに科学を好きになることはなかった。でも、もしかしたら素晴らしい先生たちと2ヶ月間の科学の短期集中型コースを受けたら熱中するかもしれない。自分の専門分野ができると、自主的になり、クリエイティブになり始める。あとは本当に自分が好きなのか好きじゃないのかを決めるまでだ。

大多数の人は自分が何が嫌いなのかを簡単に悟ることができるが、自分が好きなものを明確にすることは難しい。それを実現するにはインスピレーションと専門性が必要です。だからこそ”bootcamp”(短期集中型コース)の教育モデルは面白く、ウェブ開発などの技術を固めることにうまく適応するのです。専門技術を身につける数ヶ月間で今後も続けたいのか、続けたくないのかが分かるまで特定の分野に没頭させるからだ。


結論:最高なカリキュラムを組もう!


最高なカリキュラムの裏には必ず最高な先生がいます。でも最初から全てこなそうとは思わないで、継続して繰り返し改善するためのフィードバックやイテレーションを促進する様なシステムを作ろう。
・短期間のフィードバックを設定する
・学校の名声ではなく生徒達の経験を養成する
・教育の一部であるインスピレーションを軽視しない
・全ての少しずつ教えるのではなく、専門性を身につけさせて、生徒の将来の職業選択ができる様に彼らを熱中させる
読んでくれてありがとう。先生、生徒、bootcampの卒業生、Le Wagonのように教育に関して熱血である人たちの考えや意見もぜひ聞きたいのでコメント欄に残していってください。

この記事が気に入ったらサポートをしてみませんか?