みなさん、おはようございます!タカハシ(@ntakahashi0505)です。
こちらの記事は、タカハシが音声メディアVoicyの「スキルアップラジオ」にて放送した内容から、ピックアップしてお届けします!
今回のテーマは、初心者のためのアウトプットによるプログラミング学習法です。
なお、以下で実際にお聴きいただくこともできます!
では、よろしくお願いいたします!
ハッシュタグ企画「言語化しよう」
今日は、ハッシュタグ企画「言語化しよう」について、話をします。
言語化というと、僕は本当に大好物なんです。とくにプログラミング・ITとかスキルを教える仕事をしていますので、学習の際にアウトプットによる学習がいいと常々お伝えしています。
プログラミング学習の言語化
今日はとくに初心者向けなんですけれども、プログラミング学習の言語化。アウトプット方法について、詳しくお伝えしたいなと思っています。
プログラミングの学習、とくに初心者の場合なんですが、たとえば最初変数・データ型・反復・関数・オブジェクトとか、どんどん親しみのない概念が次から次へと出てくるんです。
ハードなところは、正直あるのではと思うわけです。かつ、それらの概念を積み重ねで学ぶ必要があります。
前の言葉の意味が分からないと、次の概念が全然分からなくるみたいなことがあります。基礎が揺らいでいると、どんどんしんどさが増していきます。
効率の良いアウトプット学習
短い期間で当然皆さん学びたいわけで、効率よくしっかり身につけていく、学習していく必要があるんです。その際に、アウトプットが本当に有効です。
ただ一方で、日本人の多くの方々の学習は、本を読む・話を聞く等のインプットをすれば、身につくのではと勘違いされてる方が非常に多いです。
とても残念だなと思うんですけども、アウトプットがものすごく有効なので、是非今日話しをする中のどれか1つでもいいので、騙されたと思ってやってみてほしいです。
学習におけるアウトプット・インプットの比率
そもそも学習におけるアウトプット・インプットの比率。これは6対4から7対3でアウトプットの比率を多めに持っておくのが理想的と言われてるんです。
アウトプットの方法としては、書く方法と話す方法があります。これに関しては、どちらでもOKかなと思います。なぜアウトプットは有効かと言うと、脳はインプットした情報をほとんど忘れてしまうんです。
1回本読んだり・話を聞いたりするだけでは、ほとんど忘れます。そういう仕組みになっているのでまあ仕方がないことなんです。じゃあどうするかというと、その入ってきた情報を記憶してくださいとメッセージを脳に送るんです。
海馬へのアウトプット学習
脳の中でも記憶として定着させるかどうか、これを判断している部分が海馬になるんです。海馬に対してこの情報は重要だから忘れないようにと言う事は、それなりに工夫をして伝えてあげないといけません。
その1つの方法がアウトプットになります。海馬は、活用した情報を記憶として定着するよう優れた動きをします。そして、さらにそれを繰り返しやることで、より一層効果を発揮します。
またアウトプットすると、書いたもの・話したものが、自分の目・耳から再度フィードバックされます。人の理解はぼんやりしているもので、分かったと思っても解像度が結構低かったり、勘違いしてたりとかすることもあるわけです。
実際に、目・耳から自分のアウトプットをフィードバックします。そうすることで、自分は本当に理解しているのかを確認できます。そして、理解しているとしたら、どこまで理解していて、どこが理解できてないのかを正確に分かるようになります。
また、頑張ってアウトプットしようとする過程で、脳の中でその対象について、整理整頓する働きが起こります。そして、脳がすっきりしていく効果も期待できるわけです。
オススメのアウトプット言語化方法
ということで、ぜひアウトプット言語化をしていただきたいなと思います。プログラミングの初学者に向けて、3つほどオススメのアウトプット言語化方法をお伝えします。是非、どれか1つでもいいのでやってみていただきたいなと思います。
Tweet学習
1つ目は、Twitterを使った学習です。これをTweet学習と呼んでるんですが、たとえば書籍を読んでいる時・講座を受講してる時・動画を見てる時とかです。ただ、それらの行為だけやってると、どうしてもインプットだけになります。
ですので、Twitterを使ってアウトプットも同時にしていきましょう。なぜTwitterがいいかと言うと、Twitterは文字数が少なくても投稿として成立します。手軽にできるところがあります。
一方で、フォロワーが見てる若干の緊張感がありますので、脳みそがフル回転するわけです。そういうわけで、非常に効率的なアウトプットツールだなと思うんです。
どんな所をTweetするかは、納得感があった所・発見があった所はもちろんです。逆に、気になった所・分からなかった所でもいいと思います。
とにかく思ったことを素直にアウトプットします。気になった所・分からなかった所は後で調べたり、人に質問したりするために見返して活用できます。
人に説明してみる
次にお伝えしたいのが、人に説明してみることです。
新しく出てきた言葉・概念とか、たとえば変数・データ型とか、講座を受講してるとどんどん出てくるわけです。
その定義を1回学んだ後に、誰か相手を見つけて、定義とかなんでそれが必要なのかを説明する機会をもつわけです。その相手は、家族とかでもいいですし、友達でもいいですし、一緒に受講してる学習仲間でもいいかなと思います。
今日はIf文とFor文学んだよと、どんなものかと言うとこういうもんだよと話をするわけです。相手がいると、相手が理解したかどうか反応見ながら説明ができますので、非常に有効な手段だと思います。
相手がいない場合は、人形でもOKです。プログラマーの間では、「ラバーダッキング」という問題解決手法があります。
ゴム製のアヒルのおもちゃに話しかけることで、問題が整理されるということで、皆さん活用しているんです。
アヒルじゃなくてもいいんですけど、何でもいいので、対象を見つけて独り言のように話してみる方法です。もし相手がいない場合は、そういう方法でもいいと思います。
コードを1行ずつ説明する
最後に紹介するのが、コードを1行ずつ説明することです。
プログラムのコードは、1行ごとに「何をする」という命令になっているんです。1行ずつ処理されていきますので、1行ずつ説明ができるわけです。その行がどういう処理をしているのかを口に出してみるのを、行ってみて欲しいわけです。
たとえば、この行は文字列を変数に代入しています。次の行は、それを関数に渡して呼び出していますみたいな感じで、自分の言葉で説明できるかどうかを試してみるわけです。
プログラミングの勉強をしてると、写経という方法があるんです。
これは、書いてあるコードを自分で書き写す行為です。コードを自分で書き出して、実行する学習方法なんですけども、その時に写経しながら今書いているコードがどんな処理をしてるのか、口に出しながらやっていくってのもいいのではと思います。
ということで、今日はプログラミング学習時の言語化による学習方法についてお伝えしてきました。
どれか1つでもいいから、やっていただきたいなと思います。まとめますと、1つ目がTweet学習です。2つ目が人に説明してみる。3つ目がコードを1行ずつ説明してみるです。是非、試してみてください。
まとめ
ということで、今日はVoicy「スキルアップラジオ」の放送から「初心者のためのアウトプットによるプログラミング学習法」をお届けしました。
タカハシのVoicyの放送はこちらからお聴きいただけます。
チャンネルのフォロー、コメント、SNSでのシェアなどなど、楽しみにお待ちしております。
では、また。