プログラミング学習のコツは「アウトプット」!人に教えるつもりで学ぶことのススメ #ノンプロ研


blackboard

photo credit: rimse.nefert after school via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

皆さんが、プログラミングを学ぼうと思っているとしたら、どんな勉強の仕方をしますか?

  • 解説書を読む
  • セミナーを受講する
  • オンライン学習サービスを利用する

などいろいろな方法が考えられると思います。

特にノンプログラマーの場合は、業務中にプログラミングに関われる時間をとりづらいという大きな課題がありますので、その限られた時間を使って、効果的な学習をすることが求められます。

そのポイントになるのが、「アウトプット」です。

本記事では、アウトプットを意識した学習が効果が高いということ、またどのようなアウトプットをすべきかということについて紹介をしていきます。

※この記事はコミュニティ「ノンプログラマーのためのスキルアップ研究会」セミナーVol.2「ノンプログラマーのための『発信』する学習術」の内容の一部を加筆修正して記事にしたものです。セミナーからの抜粋動画もありますので、合わせてご参考くださいね。当日の様子は以下のツイートまとめもご覧くださいませ。

ノンプロ研セミナーVol.2「ノンプログラマーのための『発信』する学習術」
コミュニティ「ノンプログラマーのためのスキルアップ研究会」第2回セミナー。スキルアップと「発信」って関係ないのでは?とお思いかも知れませんが、ブログやSNSでの発信は学びの効果と非常に深い関係性が..

アウトプットをするほうが学習効果が高い

学習というと冒頭でお伝えした通り、読む、聴くなどの方法を思い浮かべるかも知れませんが、それだけで十分な学習効果が得られるかというと実はそうではないという事実があります。

まず、インプットよりもアウトプットのほうが学習効果が高いということを明らかにしていきましょう。

脳は入力より出力で覚える

米パデュー大学の実験結果で脳は「入力」より「出力」で覚えるということが証明されています。

潜在“脳力”:【1】脳は「入力」より「出力」で覚える:nikkei BPnet 〈日経BPネット〉
勉強は教科書を復習するより問題を解くほうが効果的だ──。そんな論文が『サイエンス』誌の2008年2月15日号で報告された。米パデュー大学のカーピック博士の研究だ。より専門的に説明すれば「入力を繰り返すよりも、出力を繰り返すほうが、脳回路への情報の定着がよい」ということになる。

実験の方法としては

  • 暗記するインプット
  • 覚えた内容について確認テスト(アウトプット)

を5回繰り返すという内容ですが、暗記する内容とテストの内容を変えて以下のような4グループに分けました。

インプット アウトプット
グループ1 全問 全問
グループ2 できなかった問題だけ 全問
グループ3 全問 できなかった問題だけ
グループ4 できなかった問題だけ できなかった問題だけ

最終的な成績が良かったのはグループ1とグループ2でどちらも80点、残りのグループはどちらも35点でした。

つまり、学習の内容と量よりも、テストつまりアウトプットの内容や量のほうが、最終的な結果に影響があったということになります。

たっぷりのアウトプットをする前提でインプットをしたほうが学習効果が高いということになります。

教えることは、二度学ぶこと

では、どのようなアウトプットが良いのかということになりますが、もう一つの実験があります。

ワシントン大学の実験では、人に教えるつもりで学習をしたほうが効果が高いというい結果が出たのです。

勉強の効率を挙げるには「人に教えるつもりで学ぶ」こと
アラフォー男がアンチエイジングについて考えるブログです。

内容としては

  • テストのために勉強をしたグループ
  • 人に教えるために勉強をしたグループ

この二つのグループに対してテストをした場合、後者のほうが成績が良くなります。しかも、特筆すべきは後者のグループは「まだ教えていない段階」でテストをしました。

ですから、教えるつもりでもいいんですね。

この部分については、ノンプロ研のセミナー動画もありますので合わせてご覧ください。

不特定多数向けに作る、書く、話す

さらに、その教える相手は特定の個人よりも、不特定多数の人々を相手を対象としたほうが学習効果は高いことは想像できると思います。

色々な人が見ているのであれば、当然発信の責任感も増してきますから、信ぴょう性を担保したインプットが必要になりますし、専門用語を全く知らない初心者や、様々な職業の人がいるかも知れません。

プログラミングでいうと、そのアウトプットの方法は

  • 作る
  • 書く
  • 話す

という方法が考えられます。

最前線で活躍するプログラマーであれば、世界にリリースするためのプログラムを作り、それをドキュメントや技術ブログで書いて共有し、勉強会などで話をするなど、人のためのアウトプットの機会を大いに活用しています。

しかし、ノンプログラマーでいうとそのような機会を得ることがなかなか難しいという現状があります。

ノンプログラマーが多くの人にアウトプットをする手段とは

それをフォローする一つの手として作ったのがコミュニティ「ノンプログラマーのためのスキルアップ研究会」です。

コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

同じような目的を持った仲間たちの中で、Facebookグループで学んだことを発信したり、オフラインの場で共有したりすることができます。

また、もう一つの手段として、ブログやSNSでの発信があります。これらは、ノンプログラマーが手軽に世界にアウトプットする最も手軽な方法の一つなのです。

ブログ=自分のメモを公開するだけ

そのブログですが、私は当初「集客」を目的としてスタートしていたのですが、今は「学び」と「価値提供」がメインの役割になっています。

前述の通り、多くの人のためにアウトプットすることは非常に学習効果が高いわけで、この活動のおかげで3年間でVBA、GASについては書籍を出す機会にも恵まれましたし、今もPythonやApp Makerなど新たなスキルを身に着けるきっかけになっています。

面倒!

そんな時間ない!

と、なるわけですが、そこは考え方をスイッチしてください。

どうせ、アウトプットしないと理想的な学習効果は得られません。となると、自分用のメモは作るでしょう。

その自分用のメモを公開すれば、それがブログです。

もちろん、下調べや、他の人がわかりやすいように書くという工夫は必要です。最初はその部分に時間がかかるかも知れませんが、そこはテクニックなので追々速くなります。

それであれば、最初から「多くの人に教えるつもりで」学習したほうがいいということになりますよね。

コミュニティではアウトプットとその支援をしています

お伝えしてきた通り、プログラミングの学習をする際には

  • たっぷりアウトプットをする前提でのインプット
  • アウトプットは多くの他人に向けて

としたほうが学習効果が高いということになります。

時間やその機会が限られているノンプログラマーであれば、なおのこと意識して行いたいところです。

その活動を支援するためにコミュニティ「ノンプログラマーのスキルアップ研究会」を運営しています。

セミナーでのライトニングトーク、Facebookグループでの発信、もくもく会でのプログラミングといった機会を提供させていただいています。

以下ページにて詳細の確認およびお申し込みが可能ですので、同じような仲間が集まるアウトプットの機会が欲しい!という方はご参加いただければうれしいです。

コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

どうぞご活用くださいませ!

「ノンプログラマーのためのスキルアップ研究会」定例会・分科会レポート

コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月1回、学びの質やモチベーションを高めるための定例会を開催していますので、こちらで過去のレポートをお送りしています。

  投稿者プロフィール

タカハシノリアキ株式会社プランノーツ 代表取締役
株式会社プランノーツ代表、コミュニティ「ノンプロ研」主宰。1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ
★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ
★フォロー頂ければ嬉しいです。

コメント