読者です 読者をやめる 読者になる 読者になる

プログラミング C# - 翔ソフトウェア (Sho's)

C#/.NET/ソフトウェア開発など

教え手が代わりに理解してあげることはできない

teaching.jpg

子供に算数の問題の解き方を教えたり、新人プログラマにプログラミングを教えたりする場合、心掛けていることが二つある。

  1. 抽象的な教え方と具体的な教え方を併用する
  2. 理解は教わり手のもの

■ 1. 抽象的な教え方と具体的な教え方を併用する

以下の二つの教え方を併用するようにする。

  • 抽象的な教え方
    • 論理的な説明
    • 演繹的な説明
  • 具体的な教え方
    • 例示 (帰納的な説明)
    • 実演 (デモ。実際にやってみせる)
    • 実体験 (実際にやってもらう)

例えば、オブジェクト指向設計を教える場合、実際にプログラムを書いてもらって、それに対して徐々にリファクタリングをしていってもらい、どのようなメリットが生まれたかを体感してもらう。それから、クラスやオブジェクト、ポリモーフィズムという概念について説明する。

論理的な説明をしっかり理解することは重要。しかし、学び手が、体験から自ら気付き、学び取ることの方がもっと重要。

抽象的な教え方だけでは「腑に落ちにくい」。だが、具体的な教え方だけでなく、抽象的な教え方を併用するのは、「自分の考え方の枠内で、こじんまりと分かった気になる」のを避けたいがため。

論語に「學びて思はざれば則ち罔く、思ひて學ばざれば則ち殆し」という言葉があるが、「結論だけ暗記しての思考停止」や「早飲み込みして、分かった気になってしまう」のは避けたいところ。

2. 理解は教わり手のもの

○ 「気付きを奪ってはならない!」

自分の理解を説明する」場合は、ちょっと控え目に、結論の手前で止めておく。「自分の理解を説明しすぎる」のは、学習にとって、逆効果のこともあると考えている。

Aha! は教わる者にとって学びの至福の瞬間。それは、教わる者の権利であり、教える側がそれを奪ってはならない。 それが理由だ。

○ 「代わりに理解してあげることはできない」

「理解することは、本人にしかできない。代わりに理解してあげることはできない」

理解の方向に導く、ということはできる。でも、理解する、という部分は教わり手が自分でやるしかない。教え手が、そこを代わってあげることはできない。

  • 学習は、「Aha!」の連続であり、その瞬間がとても重要。
  • 且つ、それは本人が自分で達するしかないもの。
  • 教える側が自分の理解を説明しても、「Aha!」を体験させることはできない。
例:
アハ ピクチャーで、「ほらここが左目で、ほら、ここが右目。ね、人の顔に見えるでしょ?」 と説明したところで、本人の Aha!体験にはつながらない。それどころか、本人のAha!体験の機会を失わせることになる。