神奈川県の高校での事例発表。
神奈川でも情報Aの割合が多く、次いでC、Bは非常に少ない。情報Bは指導しにくいとの評価もある。unpluggedの内容を情報A,B,Cで分けてみると、情報Bをかなり網羅している。情報Bを教えるのに役立つのではないか?
1クラス33人に対して、探索問題、並べ替え問題、並列処理の授業を行った。ただし、あまり時間はかけられなかった。
探索問題では、線形探索、二分探索、ハッシュ法について。unpluggedの実習を行い、特徴や長所、短所などをまとめさせた。ふだんおとなしい生徒たちが活発に議論する様子にびっくりした。
並べ替え問題では、天秤が用意できずにカードを使った。トランプは生徒が置いた場所を覚えてしまうのでよくない。微妙に大きさの違う文字を印刷したカードを使うことでそういった問題を避けた。
授業後にアンケートをとったら、100%が良いという反応で、面白い>理解しやすい>良い、という順序であった。
脳が活性化した、頭使った、印象的、楽しい、共同作業などのキーワードが多かった。
苦手意識の解消に役立つのではないか?
質問、コメント:
・中学校でやるより小学校でやった方がいいのでは?
・なぜ選択ソートとクイックソートなのか?
・現実世界とのつながりはどう考えているのか?アルゴリズムだけ教えてその先は?
・体験後に知識として定着化するアイデアは何かあるのか?(私の質問)
・次にプログラミング言語を教える必要はないのでは?
感想:
こちらも生徒との信頼関係がある中で効果的な授業を行っているように見えます。中学校の事例と違ってアルゴリズムの中に一歩踏み込んでいった印象を受けました。
私の質問の意図としては、両者とも遊び/楽しい要素を強調されていたので、単なるイベントとしてしか記憶に残らないのではないかと危惧したからです。ちゃんと知識、技術として定着する要素があればいいなと思います。多めのデータを与えて解かせる課題を設定したり、自分で問題を作らせるのも良いかもしれません。
この発表からは脱線しますが、unpluggedをプログラミング言語/プログラムに直接結びつけるのは困難かもしれません。慎重に言語を選ばないと手続き型言語の枠組みだけでは本質を見失う可能性もあります。このあたりを理解しないで指導すると結局理解を混乱させて本末転倒になるのではないかと思いました。