みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。
先日の月に一度の定例会のテーマは「発信術」。
ノンプロ研でもアウトプット、とくに教えることは、学びにおいて非常に効果的だとお伝えしてきたのですが、今回はあらためてそのあたりをまとめてお話しました。
とうことで、「2020版ノンプログラマーのための『発信』学習術」のレポートをお伝えします。
ちなみに当日の様子は以下、Togetterのツイートまとめもご覧くださいませ。
では、行ってみましょう!
プログラミングで「理解する」とは?
意外と見落としがちなのですが、プログラミングが「わかった・理解した」という状態は、どういった状態を指すのかという定義があやふやである場合が多くあります。
最もよくやってしまうパターンが「動いたのでOK」となってしまうパターン。
それで満足していると、ほとんどの場合、しばらくしてから
- 何が書いてあるのか、まったくわからない
- なぜか動かなくなった、そして直せない
となりがちです。というか、ほとんどの場合そうなります。
コピペは絶対ダメです、何の学習にもなってません。
人間の記憶なんて、弱いのです。
その対策のためにやることは、「言語化」です。
まず、そのときわかったとしても、それを日本語で説明することは案外できなかったりします。
なので、より理解が必要です。
さらに、それを自分(または他人が)わかるように言語化して、メモを残しておけば、忘れてしまったときに見返して、思い出す助けにすることができます。
さらにさらに、それは同じケースだけでなく、いろいろなケースで再利用できるのが理想です。
なので、プログラミング学習での「理解」は以下を到達点にすべきと考えています。
- 言語化できる
- 応用できる
最適なアウトプット比率と現実
そのような理解を得るために、学習において「アウトプット」が重要というのはよく言われています。
「OUTPUT大全」という書籍では、理想のアウトプットの比率として6~7割が推奨されていました。
しかし、ノンプログラマーの独学プログラミング学習法の主なものは以下。
- 本やネット記事を読む(写経)
- 動画を視聴する
- オンライン学習サービス
手を動かしたり、コンピューターのフィードバックを得る機会は多少あるものの、「言語化」の機会はほとんどないというのが現状です。
ですから、かなり意図的にアウトプットの機会を作る必要があります。
発信による「教える機会」を利用する
そこで、おすすめしているのが「発信」です。
学んだこと、目からウロコだったことを、言語化してインターネットを経由して発信をするのです。
当然、言語化をしなければ発信できませんし、相手がいること、そして見られることによる適度な緊張感により学習効果が倍増します。
さらに、何らかのフィードバックも期待できるかも知れません。
そして、それはTwitterなどのフロー型のアウトプット先と、ブログなどのストック型のアウトプット先を組み合わせることで、一石二鳥以上の効果を発揮します。
- Twitterなどでリアルタイムかつライトに学びを発信する
- ブログなどで検索性の高い情報として学びのまとめを発信する
これにより、学びの機会も増えますし、それぞれ異なる「筋肉」を鍛えることができます。
まとめ
以上、「2020版ノンプログラマーのための『発信』学習術」のレポートをお送りしました。
とにかく、学んだことを言語化してアウトプットをすることは意図的に行わなければなりません。
そして、その点においてインターネットは大いに活用できます。
フロー型→ストック型とアウトプットをすることで、より効果的なプログラミング学習をしていきましょう。
「ノンプログラマーのためのスキルアップ研究会」について
コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2017-2018)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2019)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2020)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2021)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2022)