見出し画像

42Tokyoで「学び方の学び方」がどうやって身についていったか

私が受講しているプログラミングスクール42Tokyoは、その紹介動画で「学び方の学び方を獲得しましょう」と謳っています。

他のスクールでは、プログラミング言語が身に付くことや、就職に有利な点をアピールしているのと比べて、より本質的な力がつきそうだな、と感じたことを覚えています。

本科に入って約7ヶ月が経ち、これまでにこの「学び方の学び方」が具体的にどう身についていったかについて、まとめてみました。

画像:出典 - 42Tokyoカリキュラム紹介動画より


今までの挫折続きだった学習方法

私は仕事でもプログラマーをしていましたが、もっと実力をつけるためには業務以外でのプログラミングの機会が必要だと感じていました。

そして何度となく「iOSアプリ開発徹底入門」というような本を手にしてきましたが、第1章iOSとは、第2章Swiftの基本、、、などと読むうちに飽きてしまったり、困難にぶつかるとモチベーションがだだ下がりとなることがよくありました。

その時に困った理由としては、

・本をなぞった通りにはできても、自分一人で作れる実力がついた気がしない。
・少しでもテキストに書いていない現象にぶつかるとお手上げ
・書籍の発売から時間が経つとバージョン変更等により内容と差異が出てしまう

などが困難の種でした。

どうにも解決できず、いつの間にか書籍はタンスの肥やしとなっていきました。


一般的なプログラミング教材の進め方

普通のプログラミング学習の教材では、
「Zを作るために、ステップ1としてA,B,Cを作ります。次にD〜Gを作ります。」
というように、懇切丁寧に順序立てて記載してくれていると思います。

細かく丁寧に書かれてはいるのですが、私はその親切さに甘んじて、一行手順が省略されてしまったような箇所でどん詰まりすることがありました。

また、調べ方にもなれていなかったため、
Googleなどで検索 → うまく見つからないので本屋で別の本を見る
などとやってましたが、自分の知りたい情報がちょうどよく見つかることはほとんどなく、手詰まりになってしまう苦い経験もたくさんありました。


42の課題はいきなりラスボス級

42本科では、
「Zという機能を実現せよ。ただしF、H、Qという機能は使っても良い。」
というような、いきなりラスボスと戦えと言わんばかりの課題が突きつけられます。

課題の要求事項にあるF、H、Qというキーワードをヒントにこれらの機能を調べながらZの仕様の全体が徐々に見えていくような感じです。この学習方法は、同じ内容を学ぶ人が同時に居る、というセーフティネットがあるからこそ成り立っているのだと思います。

新しい課題を読み、まずはキーワードをネットで調べてみます。それでもどこから手をつけたら良いかわからない場合、

・課題を取り組んでる人に直接聞いてみる(みんな親切に教えてくれる)
・課題のチャンネルに質問を投げる
・他の人の日報で、参考にしたページのURLなど情報が得られる
・他の人のレビューに参加して理解する

など、42では情報を手に入れる方法が多く転がっています。

同じゴールを目指している生徒が居るため、競争心にも火がつきますし、ブラックホールという期限つきの退学システムもあったりと、ゲーム性を感じながら課題に取り組むことができています。

何度かこうして課題を乗り越えるうちに、
「調べ方さえ間違わなければ、欲しい情報はどこかに必ず落ちてる。」
と確信を持てるようになりました。


身についたこと①:わからない時の調べかた

いろいろ他の生徒の取り組みかたを見るうちに、調べ方もたくさんあることがわかりました。

・Google検索だけでなくQiitaやStackOverflowなどの技術系サイトでも検索してみる
・技術ブログには良い記事とあまり役立たない記事の両方がある
・敬遠しがちだが、英語のリファレンスには確実で正しい情報が載っている

知ってしまってからでは当たり前といえば当たり前ですが、実際に情報のありがたみを体感したからこそ、身についてきたのだと思います。

学び方とは「どこを調べれば良い」がわかることが最初のステップかもしれません。


身についたこと②:自分にあった実装の進めかた

他の生徒のレビューをしたり受けたりする間に、人によって取り組み方が違う、ということを知りました。

・理解が早く、課題をどんどん先に進めたい人
・関連知識も学びながらじっくりと課題を進めたい人
・人と相談したり理解した知識をまとめて周りに共有しながら進めたい人

他の方の進めた方を見るうちに、「自分にはどの取り組みかたが合ってるのか?」と意識するようになりました。

今までは、全てを理解している、早く実装できる、ことこそが正義だというプレッシャーがあったのですが、私は「理解や実装が早くはないけど、わかりやすいコードを書きたい」という欲があることに気づけました。

人と比べて自己否定をせず、自分らしいやり方で楽しく進めていこうと思えるようになりました。


入学試験Piscineの時点ですでに力はついた

思い返すと、入学試験であるPiscineに参加した時点でこの考え方は身に付き始めていたのだと思います。

というのも、1月のPiscineが終わって入学までの2ヶ月間で、何度となく挫折していたiOSアプリ開発に取り掛かることができたからです。

本科に入ってからは、42内のスマホアプリ開発のサークルを立ち上げたり、課題の合間にコツコツと進めていて、アプリ開発だけでなくサーバー側の実装なども触るようになりました。今は年度内(2021/3末)のリリースに向けて準備をしています。


42で得られたのはプログラミング言語そのものの知識ではなく、「学び方」を学んでいるのだな、と感じました。


いいなと思ったら応援しよう!