本家の
大西泰斗先生の「David's Room 講演会」に行って来た!
http://plaza.rakuten.co.jp/struts/diary/201304110000/
に書いたように、昨日、大西先生の「中学校英語を2時間で」-----David's Room 講演会
に行ってきたわけだが、思った以上に、かなりの量、英文の暗唱の練習をする。
ただし、暗唱といっても、暗記した文を言うのではない。それでは、間に合わない。
情景を思い浮かべて、それを、英語にしていく練習をしているといったほうがいい。
(暗記をしているわけでなく、その場で英語をすぐに組み立てられる位練習する)
で、思ったのだが、これって、プログラム言語の教え方でも同じじゃないだろうか?
プログラムを書くとき、
自分がある程度書きなれている言語であれば、
何も考えずに、プログラムがすらすら出てくる。
だが、まったく考え方の違う言語
たとえば、Javaでは、すらすら書ける人が、
Lispや、(形式仕様の)BやZぐらい違う言語を書こうとした場合
もし、何も習っていなければ、すらすら書ける・・・とはいかない。
その場合、どうやっておしえるか・・・
従来の教え方は、サンプルプログラムを出して、
適当に説明して
その後、演習問題を解かせるというものだが、
これだと、圧倒的に、練習量が足りない。
そもそも、説明した直後に書かせるわけではないので、
反射的にすらすら出てくるようなプログラムの書き方
ができなくても、課題をこなせる
(実務だと、反射的に出てこないと、これはきつい。
このレベルだと、プログラムを書くことに神経を使うので、
数百行書かないと仕事にならないプロジェクトに配属されると、
毎日神経使いすぎて、頭がピーマンになってしまう・・・古!)
たぶん、プログラムを教えるときに、その場ですぐに、
練習させないと身に付かない。
で、それは、短いフレーズでいい。
例えば、for文を教えるとき、
使い道として、配列にある要素の合計値を足す例を挙げたら、
その場で、そこだけ(初期化-for文内-結果表示)だけを
すぐに書かせる。
これを、何度もやらないといけない。
手続き型の場合、プログラムの構造は、そんなに複雑なものではない。
むしろ、(演習問題ではなく)短い範囲で、ポイントを、反射的に出てくるまで
教えないといけないんじゃないかという気がした。
大西泰斗先生の「David's Room 講演会」に行って来た!
http://plaza.rakuten.co.jp/struts/diary/201304110000/
に書いたように、昨日、大西先生の「中学校英語を2時間で」-----David's Room 講演会
に行ってきたわけだが、思った以上に、かなりの量、英文の暗唱の練習をする。
ただし、暗唱といっても、暗記した文を言うのではない。それでは、間に合わない。
情景を思い浮かべて、それを、英語にしていく練習をしているといったほうがいい。
(暗記をしているわけでなく、その場で英語をすぐに組み立てられる位練習する)
で、思ったのだが、これって、プログラム言語の教え方でも同じじゃないだろうか?
プログラムを書くとき、
自分がある程度書きなれている言語であれば、
何も考えずに、プログラムがすらすら出てくる。
だが、まったく考え方の違う言語
たとえば、Javaでは、すらすら書ける人が、
Lispや、(形式仕様の)BやZぐらい違う言語を書こうとした場合
もし、何も習っていなければ、すらすら書ける・・・とはいかない。
その場合、どうやっておしえるか・・・
従来の教え方は、サンプルプログラムを出して、
適当に説明して
その後、演習問題を解かせるというものだが、
これだと、圧倒的に、練習量が足りない。
そもそも、説明した直後に書かせるわけではないので、
反射的にすらすら出てくるようなプログラムの書き方
ができなくても、課題をこなせる
(実務だと、反射的に出てこないと、これはきつい。
このレベルだと、プログラムを書くことに神経を使うので、
数百行書かないと仕事にならないプロジェクトに配属されると、
毎日神経使いすぎて、頭がピーマンになってしまう・・・古!)
たぶん、プログラムを教えるときに、その場ですぐに、
練習させないと身に付かない。
で、それは、短いフレーズでいい。
例えば、for文を教えるとき、
使い道として、配列にある要素の合計値を足す例を挙げたら、
その場で、そこだけ(初期化-for文内-結果表示)だけを
すぐに書かせる。
これを、何度もやらないといけない。
手続き型の場合、プログラムの構造は、そんなに複雑なものではない。
むしろ、(演習問題ではなく)短い範囲で、ポイントを、反射的に出てくるまで
教えないといけないんじゃないかという気がした。