プログラミング学習と脳の使い方~本当に正しい学習してるのか?


brain

photo credit: Like_the_Grand_Canyon Brain cookie via photopin (license)

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

私自身は、VBAやGASなどのプログラミングを中心に研修や執筆のお仕事をしています。

昨年、2017年末からはコミュニティも開始して

  • 習慣化しましょうね~
  • 実務で使いましょうね~
  • アウトプットしたほうがいいですよ~
  • 写経すると良いですよ~

と伝えてきたわけですが…これ、本当に効果あるんですかね?

ちょっと心配になりましたので、科学の裏付けを得ておきたいと思いました。

そして、「学習」ですから、その対象となる科学は「脳科学」になるわけです。

これまで私が伝えてきたプログラミング学習のノウハウが脳科学の裏付けを得られるのか…?

調べてみましたので、ご覧ください。

※この記事はコミュニティ「ノンプログラマーのためのスキルアップ研究会」定例会Vol.10「プログラミングと脳の使い方」の内容の一部を加筆修正して記事にしたものです。当日の様子は以下のツイートまとめもご覧くださいませ。

ノンプロ研定例会Vol.10 「プログラミングと脳の使い方」
プログラミングの学習には数百時間という少なくない時間が必要です。忙しいビジネスマンにとっては、いかに効果的に学習を進めるかが非常に重要です。学習というのは、得た知識や情報を効果的に取り出すことがで..
スポンサーリンク

学習とは何か

まずは、改めて「学習」とは何を指すのか、定義を整理しておきましょう。

デジタル大辞林には

①学問・技術などをまなびならうこと。
②学校で系統的・計画的にまなぶこと。
③人間も含めて動物が、生後に経験を通じて知識や環境に適応する態度・行動などを身につけていくこと。

…とありました。①は当たり前すぎるし、②はなぜか「学校」限定…。今回の文脈でいうと③が近いですかね。

それで、今回いったんこう定義しておこうと思います。

  1. 新しい知識を記憶する
  2. 記憶した知識を活用できる

つまり、長期記憶を効果的に蓄積できて、それを都度効果的に取り出して活用できるようにする、というのが「良い学習」ということになります。

記憶に関わる脳の器官や機能

記憶に関わる脳の器官や機能はたくさんありますが、特に重要なものとして以下のようなものが上げられます。

  • 短期的に記憶を保持しつつ、外部からの入力と長期記憶から次の行動を決定する「ワーキングメモリ(前頭前野)」
  • ワーキングメモリからの記憶を長期記憶にするかどうかを振り分ける「海馬」
  • 感情を生み出し海馬も刺激をする「扁桃体」
  • 長期記憶を保管する「大脳新皮質の神経細胞とシナプス」
  • 運動の調整をする機能に加えて、身体で覚える手続き記憶を保管する「小脳」

これらの機能をうまく使う学習法が、良い学習となるわけです。

たくさんのポイントがあるようなのですが、この記事では2点ほどお伝えしておきたい

チャンクとチャンキング

ワーキングメモリの記憶機能は、以下のように脆弱です。

  • 7±2の事項(=チャンク)しか置けず、その数は増やせない
  • 何もしないと数秒で失われる
  • 割り込みに弱い

なので、闇雲に情報を取り入れたり、取り出したりすると、すぐにワーキングメモリがいっぱいになって処理できなくなり、そしてどんどん失われてしまいます。

ワーキングメモリは余裕をもたせながら使う必要があります。

「チャンク」は工夫をすると情報をうまく圧縮してたくさんの情報を詰め込むことができます。

有名なのは「1192年に鎌倉幕府が誕生した」という事項を「1192(いいくに)作ろう鎌倉幕府」というフレーズで覚えようというものです。

「1・1・9・2」という無意味な数値の羅列だけだとチャンク数を複数個消費してしまいますが、フレーズに入れ込むことで、1つのチャンクにすべての情報を詰め込むことができるようになる、ということです。

このように、チャンクの中に多くの情報を詰め込むことができるように圧縮することをチャンキングと言い、記憶をする・活用する両側面で有効なテクニックとなります。

スキーマとは

もう一つ重要な単語として「スキーマ」というものがあります。スキーマとは関連付け・体系化された一連の知識や行動プロセスのことです。

例えば、自動車の運転免許を持っている方であれば「車を駐車する」という行為をしようと思ったら

  1. ミラーを見て安全確認
  2. 窓を空けて後ろを見る
  3. ブレーキペダルを離す
  4. クリープ現象が起こる
  5. ハンドルを調整する
  6. ブレーキペダルを完全に踏む

などといったことをいちいち確認せずとも、一連の動作として遂行できます。これは、上記の記憶が一連の流れとして関連付けされて記憶されているからです。

つながっている記憶は、信号伝達がしやすいため、取り出しやすくなりますし、このように身体で覚えるような手続き記憶は、強固な記憶になりえます。

また、以下のような情報を得たとき

  • タイヤが4つある
  • 座席が2つある
  • ハンドルがある
  • 出入りするための扉がある

我々は「車かな?」と想像をすることができます。それは、各情報が「車」という体系に関連付けられて記憶されているからできることで、これは前述でいう効果的なチャンキングになっています。

つまり記録を関連付け、体系化をしてスキーマを強化しておくことは、学習において非常に重要な役割を持ちます。

学習効果を上げるための脳の使い方

これらをもとに、いくつかの学習効果を上げるための脳の使い方を考えることができます。

以下リストアップしますね。

  • 日々の習慣
    • 自我関与
    • 十分な睡眠
    • 適度な運動
  • 学習中
    • 集中する
    • 書く・打つ
    • やってみる
    • 適度な難しさ
    • 緊張感
    • 教える前提で学ぶ
    • 感情を出す
  • 学習したあと
    • 復習する
    • 省察する
    • 想起する
    • アウトプットする
    • フィードバック

たくさんありますが、脳科学的にはこれらがいずれも効果的ということになります。

私がこれまで伝えてきた内容は、ほぼ正しかったのでホッとしました…。

特に、教えるタイプのアウトプットは非常に効果的です。上記のポイントのうち、多くのポイントを一気に求められますから。

まさに「教えることは二度学ぶこと」は科学的にも証明されたわけです。

まとめ

以上、学習と脳の使い方について簡単ではありますがお伝えしました。

いや~、これらの下調べは大変だったのですが、ものすごく勉強になりましたし、自信になりました。

以下、参考資料です。どれもオススメです…!!

さて、コミュニティ「ノンプログラマーのためのスキルアップ研究会」グループ内では、上記内容をお話している定例会の様子もアーカイブとして公開予定です。

興味がある方は、ぜひご入会を検討してみてくださいね。

「ノンプログラマーのためのスキルアップ研究会」について

コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
  1. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2017-2018)
  2. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2019)
  3. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2020)
  4. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2021)
  5. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2022)
ぜひ、皆様のご参加をお待ちしております!
コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

タイトルとURLをコピーしました