「分かったつもり」を抜け出す学習テクニック3選


プログラミングを学んでいて、こんな経験はないだろうか。

チュートリアルを見ながらなら書ける。記事を読んだ直後は理解できた気がする。でも翌日、白紙の状態でコードを書こうとすると手が止まる。

これは頭が悪いわけでも、努力が足りないわけでもない。人間の学習の仕組みとして、かなりよくある現象だ。

学習科学の研究によると、「練習中にスラスラできること」と「長期的に身についていること」は別物だという。短期的に成績が良く見える学習法が、実は長期学習につながっていないケースも多い。

つまり「分かった気がする」状態は、本当の理解とは違う可能性がある。

この記事では、学習科学の知見をベースに、エンジニアの学びを加速させる具体的なテクニックを3つ紹介する。どれもツールやサービスに頼らず、今日から始められるものばかりだ。


1. 白紙から説明する「想起練習」

学習を加速させる最も強力な方法は、思い出す行為を意図的に入れることだ。

これは「Retrieval practice(想起練習)」と呼ばれている。資料を読むだけ、動画を見るだけではなく、「学んだことを何も見ずに思い出す」ステップを毎回の学習に組み込む。

具体的なやり方

学習セッションの最後に、こんな時間を5分だけ取ってみてほしい。

  • ノートやエディタを開いて、今日学んだことを何も見ずに書き出す
  • 「このAPIは何のためにあるか」「この関数は何を受け取って何を返すか」を自分の言葉で説明する
  • 思い出せなかった部分をメモして、次回の復習対象にする

ポイントは「見ながら書く」のではなく「閉じてから書く」こと。

正直、これは最初かなりつらい。覚えたと思っていたことが全然出てこなくて焦る。でも、このつらさこそが効いている証拠だ。

学習科学では「desirable difficulties(望ましい困難)」という概念がある。間隔を空けて復習したり、思い出す行為を入れたりすると、その場の感触は難しくなる。しかし長期的な定着や応用力はむしろ上がるという話だ。

逆に、資料を見ながらスラスラ書けている状態は、気分はいいが学習としては効率が落ちている可能性がある。

初心者向けの調整

ただし、想起が極端に失敗する場合は要注意だ。何も出てこない状態が続くと、それはそれで学習にならない。

そんなときは段階を踏むといい。最初は資料をチラ見しながら説明する。慣れてきたら見る回数を減らす。最終的に何も見ずに説明できるようになれば、その知識はかなり定着している。


2. 復習タイミングをずらす「間隔学習」

次に重要なのが、復習のタイミングだ。

同じ内容を一気に繰り返すより、間隔を空けて復習するほうが長期記憶に残りやすい。これは「Spaced practice(間隔学習)」と呼ばれている。

「最適な間隔」は人それぞれ

ここで注意したいのは、「何日おきがベストか」は一律に決められないという点だ。

間隔が短すぎると、詰め込み学習と変わらなくなる。間隔が長すぎると、忘れすぎて「復習」ではなく「再学習」になってしまう。

研究者も「最適な間隔は個人差・教材特性で変わる」としており、万能な数字は存在しない。

現実的な運用方法

シンプルな方針としては、重要だと思う事項ほど、想起と復習の機会を増やすという考え方が使える。

たとえばこんな感じで回してみる。

  1. 学んだ翌日に、昨日のポイントを何も見ずに思い出す(1回目の想起)
  2. 1週間後、同じ内容を再度思い出す(2回目の想起)
  3. 思い出せなかった項目はログに残して、次の想起セットに入れる

最初は「翌日」「1週間後」くらいのざっくりした間隔で始めて、自分の忘れ方のペースを見ながら調整するのが現実的だ。

重要なのは「完璧な間隔」を追い求めることではなく、複数回想起する機会を作ること。間隔は多少ずれても、何もしないよりはるかに効果がある。


3. 間違いを「次の学習素材」に変える

3つ目は、誤答の扱い方だ。

想起練習をしていると、当然ながら間違える。「あれ、何だっけ」と詰まることも多い。

ここで重要なのが、間違えたらすぐにフィードバックを得ることだ。誤った理解をそのまま放置すると、間違った記憶が定着してしまう可能性がある。

間違いログを取る効果

想起練習で出てこなかった項目、間違えて覚えていた項目は、メモに残しておく。

これが次回の想起セットの素材になる。

例:間違いログ
- 2025-06-14: useEffectの依存配列を空にしたときの挙動を勘違いしていた
- 2025-06-14: async/awaitでエラーハンドリングの書き方があやふや

翌日や1週間後の復習で、このログを見ずに「何を間違えていたか」「正しくは何か」を説明できるか試す。

地味だが、これをやると弱点が可視化されて、効率よく穴を埋められる。

クイズ形式にこだわりすぎない

「自分でクイズを作ったほうがいいのか」「選択式と記述式、どっちが効くのか」という疑問が出るかもしれない。

これについては、形式による差は小さいとされている。短答でも選択式でも、思い出す機会を作ること自体が学習を促進する。

なので形式にこだわるより、「今日学んだことを何も見ずに説明できるか試す」という習慣を続けるほうが現実的だ。


まとめ:小さく試して調整する

ここまでの内容を整理する。

  1. 想起練習:学んだことを何も見ずに思い出すステップを毎回入れる
  2. 間隔学習:復習は詰め込まず、日を空けて複数回行う
  3. 間違いログ:誤答は記録して、次の想起素材にする

どれも「読む」「見る」だけの学習より、その場の感触は難しくなる。だが長期的な定着や応用力には効くとされている。

ただし注意点もある。ここで紹介したのは学習科学の一般論だ。効果は学ぶ内容、前提知識、復習間隔、フィードバック設計によって変わり得る。

だから「これが正解」と決めつけず、小さく試して自分なりに調整するのがいい。1週間やってみて、思い出せる量が増えたか、実際のコーディングで使えるようになったかを観察してみてほしい。

ツールを使わなくても、学び方を少し変えるだけで効率は上がる。


参考リンク