絶対に挫折しない! 医療者のためのプログラミング連載講座 Part 2.
こんにちは!
BeatFit エンジニアの飯塚浩也です。
今回は、前回 に引き続き、医療者が絶対に挫折しないための勉強法、総論編Part 2 をお届けします。
総論編は全部で 6部あり、今後は、1ヶ月に 1,2 記事のペースで更新します。
一度に全部知りたい方は、こちらの記事にまとめましたので、有料となりますがぜひ、ご覧ください。
では、始めます!
対象となる読者
・プログラミングをこれから始めよう!と思っている「未経験者」の方。
・プログラミングを始めたけど、勉強につまずいている「初級者」の方。
本連載は、吉岡さんとの共同連載となります。
この記事で学ぶこと
・プログラミングの、ちょっと実践的な学習方法とは?
総論2:
前回、プログラミングでは、複利思考が重要と述べました。では、具体的に、どういう勉強をすれば、最速で上達するでしょうか?
遠い昔の、英語の勉強を思い出してみましょう。
私達は、中高6 年間、一生懸命に英語を学びました。
その成果もあり、医療者の中で、英語の文献を苦もなく読める人は少なくないでしょう。
では、中学高校の勉強だけで、英語をスラスラ話せる様になった!という人はどれくらいいるのでしょうか? 私見ですが、ほとんどいないと思ってます。
ここで、10年前の、個人的なエピソードをご紹介します。当時、ピチピチの医学生だった私は、幸運にも2ヶ月間、アメリカの病院で研修する機会を得ました。
英語は、受験勉強では苦手意識を持ってはいなかったものの、当時は全く喋れませんでした。このまま英語が喋れないままアメリカに行ってもしょうがないので、半年間、必死になって多くの英単語を覚え、教科書を読み、論文を読み、英語のCD や動画やドラマを見て、シャドーイングの練習などをしてました。
しかし、一向に喋れるようになりませんでした。
トチ狂って、スピードラーニング的なもの (英語の音声を10倍速で逆再生して流すという今考えるととんでもないまがい物) にも手をだしましたが、全く無意味でした。
焦りました。
アメリカの大地で、1人英語が喋れないまま、2ヶ月間もどう過ごしたらよいのか?帰国子女ではない、ただの 1千葉県民では、英語は喋ることはできないのか?
悩みに悩んだ挙句、最後の願いを込めて、スカイプ英会話をやってみました。それは、30分200円くらいと割安な値段にも関わらず、英語の発音が良い綺麗なフィリピン人のお姉さんと、楽しく英会話できる、ちょっと怪しげなレッスンでした。
しかし、どうでしょう? メキメキ、英語が喋れる様になるではありませんか。あれだけ、いろんな教材に手を出し、暗記やリスニング、動画などの勉強をしても効果がでなかったのにも関わらず、ただ、楽しく綺麗なお姉さんと会話をしているだけで、英語が上達するではありませんか?
話を戻します。
プログラミングにもこれと実は、同じことが言えます。
試験勉強のように、本を大量に買って読んで暗記し
勉強会に参加して、すごい人の話を聞いてメモを取り
講演を聞いて、有名な人からノウハウを教えてもらい
すごいエンジニアさんと名刺を交換して、人脈を築いても
残念ながら私は
プログラミングができるようにはなりませんでした。
1行も、コードを書けるようになりませんでした。
この惨憺たる事実に気づくのに、半年以上もかかりました。(きっと聡明な皆さんなら、もっと早く気づくはずです・・・)
中学高校 と 6年間、英語を勉強をしただけで、英語が喋れないように。
サッカー観戦をするだけで、サッカーがうまくならないように。
ミュージシャンの音楽を聴くだけで、自分の歌声が上達しないように。
冷静に考えると、当たり前のことですよね。
何が言いたいかを、一言でまとめると
プログラミングは、スポーツなんだ!
プログラミングって、体で覚えるんです!
頭ではなくて、手で覚えるんです!
車の運転と、一緒なんです!
あまりイメージがわかないと思いますので、これから具体的な例をあげます。
map メソッド、というものがあります。
これは、配列( [1,2,3,4,5] みたいな集合 ) を操作する時に使うメソッドです。
MDN という、いわば、医療版 UpToDate の解説を、読んでみましょう。
ほげえええええええ
もうさ・・・
意味不明すぎるんだよ!
文が長い!!
こんなに難しいこと、よくわからない!
覚えられない!
これだから、初学者がプログラミング嫌いになるんだよ。いくら正しい情報を届けるって言っても、こんなに長くて意味不明な文章誰が読むんだ??
あ????
少し取り乱してしまいました。
map メソッドを使いこなしている今でさえ
この長ったらしい日本語に、殺意さえ覚えます。
では一体、私達はこの 難解な map メソッドにどう立ち向かえばいいのでしょうか?
簡単です。
以下の3つのやり方で、10分で、マスターできます。
1. 簡単な例文を探せ!
2. Google で、言語 + Playground で検索!
3. Playground (遊び場) で、実際に動かせ!
では、順にやっていきましょう!
1. 簡単な例文を探せ!
先ほどのMDN のページで、例文を探しましょう。
赤枠のところに、シンプルな例文があることがわかります。
2. Google で、言語 + Playground で検索しましょう。
今回の言語は、Javascript なので、
「Javascript Playground 」
と、検索します。
(個人的には、上から2番目の JSFiddle をよく使うのですが、今回は、上の赤枠のPlayground を選択しましょう。)
クリックすると、このような画面が出てきます。
ここに、先ほどの例文をタイプしましょう。
これで完成です。
右下の、console に、map メソッドの結果が出ます。
あなたは、これみて気づくはずです。
ああ、map メソッドは、配列の各要素を、二倍にして新しい配列を作るというものなんだ・・・と
物足りないと思うので、
配列の中身を変えたり
map(x => x * 4) などと、map の関数を変えたり
自分で色々アレンジして、右下の結果がどう変化するか
試してみてください。
これで、おしまいです。
簡単ではなかったでしょうか?
文字だけで読むと意味不明なものが、
実際に手を動かすだけで、10分あれば理解できます。
プログラミングは、暗記ではなく、スポーツなんです。
ただきっとおそらく、
このnoteを読んだ 99%の人が、自分の手を動かさずに、そっとブラウザを閉じるタイプだと思いますので、頑張って手を動かしてプログラムを動かしたそこのあなた、きっとすぐ上達すると思いますよ!
頑張ってくださいね!
まとめ
・プログラミングはスポーツのため
暗記しても無駄である
・むしろ、なるべく暗記しないために、
Playground で遊び
・体で覚えよう
・医療者の皆さんなら、一瞬でマスターできます。
学習のコツは、
ググる!
例文をコピる!
Playground で、動かす!
これを素直にやり続ければ、あなたの力はメキメキ上達するでしょう!
私はこのやり方で、今、エンジニア (フロントエンド + バックエンド) として幅広く、働かせて頂いております。これから、インフラやデータベース、機械学習の勉強、新たな言語の習得などなど、一生勉強が必要ですが、毎日が楽しいです!
お互い頑張りましょうね!
それでは、また!
この記事が気に入ったらサポートをしてみませんか?