良い教師とは何なのか

良い教師とは何なのかということを考えた

今までの人生で教師として尊敬に値する人にも出会ったし,逆に教師として最低だと思う人にも出会った

そんな中で良い教師とはなんなのかを考えたのでまとめておきたい

というのも私が高校生の頃に将来何になるのかを考えていた時に漠然と教師にだけは絶対にならないと思っていた
しかし人生というのは不思議なものでお金に困って始めたバイトが予備校の物理の教材を校正するバイトだったり,プログラミングのアルバイトをしていると思っていたらプログラミングを教えるバイトもしていたりして何だかんだで教育分野に関わる機会があった

そして気付いたら自分の同期となる人達にプログラミングを教えることになり,プログラミングの研修内容を一から考えることになったりした

このプログラミング研修の内容を考えることになって,今まで教育分野に漠然と感じていた不満のようなものが整理できてきた気がするのでまとめておきたい

いい教師とは

論理的に説明して疑問を持たせない

論理的に説明しないと教えられている側は何を言われているのか分からない

ただ覚えろとしか言わない教師は最悪だし,自分の教え方が下手なことを隠すために生徒を叱りつけるような教師は教師どころか人間として最低だ

教える内容を論理的に説明して理解させることが重要で,叱りつけることは教師のやることではない

何度も繰り返す

一度説明したとしてもしばらく後にもう一度説明すると見え方が全く違うことがある

例えば高校数学でベクトルをやったあとに図形と方程式の公式を見ると全てベクトルで解けてしまうことが分かるはずだ

一度やったことでも面倒がらずに,全てを見通せる状態になった段階でもう一度説明すると見え方が変わる
また理解があやふやの状態で先に進んでもう一度戻った時に理解ができるということも大変良くある
そしてその時の理解が本質であったりもするのでこの過程を面倒がってはいけない

プログラミング研修では if 文の説明などは最初に軽くやった後に実際に Web アプリを作ってもらう過程でもう一度教えた
こうすることで理解度は格段に上がる

つまずくところを把握している

教えられている側がどこでつまずくかというのを把握している必要がある

質問をするには理解していないところをまず整理しなければならない
これは初学者には極めて難しいことで,これをあらかじめ把握している必要がある

そんなこと出来ないと思われるかもしれないが,私が尊敬する教師は私の疑問には全て授業内で質問されるまでもなく説明していた
この辺りは経験がものをいうところもあるのだろうが,初学者がつまずくところを把握して事前にフォローしておくことは重要だ

また独りでやっている時につまずくと嫌になって投げ出す原因になるので事前につまずきそうなところは一度説明しておくと安心感が全然違う

プログラミング研修ではデザイナーがはまりやすい git や rbenv などの開発環境構築などを盛り込んだところはこれだ

実際に業務をやっていく上で悩んで欲しくない

成功体験を作る

勉強などというのは基本的に退屈なものだ

それを持続させるには成功体験をさせる必要がある

いつまでも座学で教えこんでいたところで何も面白く無いので,軽く説明をした後に実際に問題をやらせてみることが重要だ

これは大学受験なら実際の入試問題だろうし,Web プログラミングなら実際に Web アプリを作ってもらうことになるだろう

人は褒められて伸びるものだ
何に使うのかよく分からない基本問題のようなものが出来たところで,何に役立つのかという疑問が増えるだけだ

同時に複数のことを教えない

人はわからないことが何個も出てくると理解を止めてしまう

一度に教えることは出来る限り減らすべきで,余計なことを教えなくて済む教材を用意する必要がある
そういう教材を用意できれば教えやすいし,理解もしやすい

しかし一度教えたことが絡んでいる場合は別で,それは既に紹介した『何度も繰り返す』にあたる

これがプログラミング研修では SQLiteSinatra のような予備知識が少なくて済む技術を選定した理由だ

またファイルやディレクトリ構成をあらかじめ用意しておいたのもこれだ

まとめ

自分が尊敬する教師と最低だと思っている教師を比較してみると意外と違いが見えてきた

今後も機会があれば気をつけていきたい

時間は貴重なので教えられる側の時間を無駄にはしたくないものだ