みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
皆さんが、プログラミングを学ぼうと思っているとしたら、どんな勉強の仕方をしますか?
- 解説書を読む
- セミナーを受講する
- オンライン学習サービスを利用する
などいろいろな方法が考えられると思います。
特にノンプログラマーの場合は、業務中にプログラミングに関われる時間をとりづらいという大きな課題がありますので、その限られた時間を使って、効果的な学習をすることが求められます。
そのポイントになるのが、「アウトプット」です。
本記事では、アウトプットを意識した学習が効果が高いということ、またどのようなアウトプットをすべきかということについて紹介をしていきます。
※この記事はコミュニティ「ノンプログラマーのためのスキルアップ研究会」セミナーVol.2「ノンプログラマーのための『発信』する学習術」の内容の一部を加筆修正して記事にしたものです。セミナーからの抜粋動画もありますので、合わせてご参考くださいね。当日の様子は以下のツイートまとめもご覧くださいませ。
アウトプットをするほうが学習効果が高い
学習というと冒頭でお伝えした通り、読む、聴くなどの方法を思い浮かべるかも知れませんが、それだけで十分な学習効果が得られるかというと実はそうではないという事実があります。
まず、インプットよりもアウトプットのほうが学習効果が高いということを明らかにしていきましょう。
脳は入力より出力で覚える
米パデュー大学の実験結果で脳は「入力」より「出力」で覚えるということが証明されています。
実験の方法としては
- 暗記するインプット
- 覚えた内容について確認テスト(アウトプット)
を5回繰り返すという内容ですが、暗記する内容とテストの内容を変えて以下のような4グループに分けました。
インプット | アウトプット | |
---|---|---|
グループ1 | 全問 | 全問 |
グループ2 | できなかった問題だけ | 全問 |
グループ3 | 全問 | できなかった問題だけ |
グループ4 | できなかった問題だけ | できなかった問題だけ |
最終的な成績が良かったのはグループ1とグループ2でどちらも80点、残りのグループはどちらも35点でした。
つまり、学習の内容と量よりも、テストつまりアウトプットの内容や量のほうが、最終的な結果に影響があったということになります。
たっぷりのアウトプットをする前提でインプットをしたほうが学習効果が高いということになります。
教えることは、二度学ぶこと
では、どのようなアウトプットが良いのかということになりますが、もう一つの実験があります。
ワシントン大学の実験では、人に教えるつもりで学習をしたほうが効果が高いというい結果が出たのです。
内容としては
- テストのために勉強をしたグループ
- 人に教えるために勉強をしたグループ
この二つのグループに対してテストをした場合、後者のほうが成績が良くなります。しかも、特筆すべきは後者のグループは「まだ教えていない段階」でテストをしました。
ですから、教えるつもりでもいいんですね。
この部分については、ノンプロ研のセミナー動画もありますので合わせてご覧ください。
不特定多数向けに作る、書く、話す
さらに、その教える相手は特定の個人よりも、不特定多数の人々を相手を対象としたほうが学習効果は高いことは想像できると思います。
色々な人が見ているのであれば、当然発信の責任感も増してきますから、信ぴょう性を担保したインプットが必要になりますし、専門用語を全く知らない初心者や、様々な職業の人がいるかも知れません。
プログラミングでいうと、そのアウトプットの方法は
- 作る
- 書く
- 話す
という方法が考えられます。
最前線で活躍するプログラマーであれば、世界にリリースするためのプログラムを作り、それをドキュメントや技術ブログで書いて共有し、勉強会などで話をするなど、人のためのアウトプットの機会を大いに活用しています。
しかし、ノンプログラマーでいうとそのような機会を得ることがなかなか難しいという現状があります。
ノンプログラマーが多くの人にアウトプットをする手段とは
それをフォローする一つの手として作ったのがコミュニティ「ノンプログラマーのためのスキルアップ研究会」です。
同じような目的を持った仲間たちの中で、Facebookグループで学んだことを発信したり、オフラインの場で共有したりすることができます。
また、もう一つの手段として、ブログやSNSでの発信があります。これらは、ノンプログラマーが手軽に世界にアウトプットする最も手軽な方法の一つなのです。
ブログ=自分のメモを公開するだけ
そのブログですが、私は当初「集客」を目的としてスタートしていたのですが、今は「学び」と「価値提供」がメインの役割になっています。
前述の通り、多くの人のためにアウトプットすることは非常に学習効果が高いわけで、この活動のおかげで3年間でVBA、GASについては書籍を出す機会にも恵まれましたし、今もPythonやApp Makerなど新たなスキルを身に着けるきっかけになっています。
面倒!
そんな時間ない!
と、なるわけですが、そこは考え方をスイッチしてください。
どうせ、アウトプットしないと理想的な学習効果は得られません。となると、自分用のメモは作るでしょう。
その自分用のメモを公開すれば、それがブログです。
もちろん、下調べや、他の人がわかりやすいように書くという工夫は必要です。最初はその部分に時間がかかるかも知れませんが、そこはテクニックなので追々速くなります。
それであれば、最初から「多くの人に教えるつもりで」学習したほうがいいということになりますよね。
コミュニティではアウトプットとその支援をしています
お伝えしてきた通り、プログラミングの学習をする際には
- たっぷりアウトプットをする前提でのインプット
- アウトプットは多くの他人に向けて
としたほうが学習効果が高いということになります。
時間やその機会が限られているノンプログラマーであれば、なおのこと意識して行いたいところです。
その活動を支援するためにコミュニティ「ノンプログラマーのスキルアップ研究会」を運営しています。
セミナーでのライトニングトーク、Facebookグループでの発信、もくもく会でのプログラミングといった機会を提供させていただいています。
以下ページにて詳細の確認およびお申し込みが可能ですので、同じような仲間が集まるアウトプットの機会が欲しい!という方はご参加いただければうれしいです。
どうぞご活用くださいませ!
「ノンプログラマーのためのスキルアップ研究会」について
コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2017-2018)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2019)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2020)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2021)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2022)