情報教育というモノ
わたやんさんの日記にインスパイアされて(^^;書いたもので、異論、反論ではありません。
ってかそんな段階まで自分自身の考えがまとまっていないというのもアリですが。
また、ここで書くのはあくまでも「一般教養としての情報」であって、将来プログラマになろうとしている人相手の「専門教育としての情報」ではありません。
という前置きを置いといて、高校での情報教育のお話。
で、のっけから情報とはあんまり関係ありませんが(^^;、数学で出てくるサイン、コサインとか、微分、積分って生徒に評判良くないですよね。って私だけ?(^^;
私は高校の頃とか凄く苦痛でした。理系なのに・・・
で、何で苦痛なのかというと、ソレを覚えても何に使えるかサッパリわからない。
まぁ、問題に解答して正解すると得点がもらえる(^^;という使い道はわかるんですが、実際それらがどう活用できるかという事がサッパリわからないのに、丸暗記しなきゃいけないような公式とかやたらと出てきて、記憶教科の苦手な私としてはとてもイヤだったな・・・と。
まぁ、後になって大学で色々やってるうちに、「あぁ、三角関数はこういう意味なのか~」とか「微分、積分はこういう所で使うとご利益があるのか~」というのがわかって、改めて勉強しなおしたり(^^;
で、結局何が言いたいかと言うと「人間ってのは役に立つ、興味のあることは覚えるけど、何の役に立つかわからない、興味の無いものは覚えない」って事なんですよ。
えてしてエラい人というのは
・○○という公式/原理で普遍的な現象を理解できる
・○○を理解するには△△を理解する必要がある
・△△は基礎的な事なので中学・高校で教えよう
と考えてしまうので、「△△はともかく重要だから覚えろ」となってしまって、習う方は「で、それ覚えたら何かいいことあるの?」となる。
上から見たら△△の重要性がわかるけど、下から見れば何で覚えなきゃいけないかわからない。
これはカリキュラムの問題じゃなくて教え方の問題。
この教え方の問題というのも2つあって、一つは「教え方は非常に属人的なものだ」という事。
教える方が○○から△△までの関連を知っていたとしても、それを生徒に伝え切れるかどうかというのは教師によって変わってくる。
「将来ニンジンが食えるから早く走れ」と言っても馬は走らない訳で(^^;、常に走り続けさせようと思えば目の前にニンジンぶら下げるのが有効だけど、それをどれだけの教師がやっているか。
「それが何の役に立つの?」という疑問に「いいからともかく覚えろ」という教え方になってしまってはいないか。
そういう教え方を許すカリキュラムになってるかどうかというのもあるだろうけど。
もう一つの問題は、これは数学では少ないでしょうが、情報では「そもそも教えてる教師自身が○○と△△の関連をわかってるのか?」という問題。
特にプログラミングとかだと、抽象化された問題集レベルの「こういう問題を解決するためにこういうプログラムをすれば良い」というのは理解していても、実際の身近な事象を問題集レベルまで抽象化してプログラムに落とし込むという事までできる教師がどれだけいるのかというのが問題なんじゃないでしょうか。
知らない者が知らない者に教えてるんじゃ、「とりあえずオレの覚えた事をオマエらも覚えろ」という教え方しかできない訳で、それではとても生徒の興味を掻き立てる事はできないだろうし。
で、仕方ないので目の前の問題を解決できる表計算とかの使い方を教えて満足してしまうというのがあるんじゃないかな?
まぁ、実際の所、ほとんどの生徒にとっては、C言語教えられるよりは表計算教えられる方が将来役に立つってのもあるかもしれない(^^;
一点
しかし彼らはオフィスソフトでほんとうに情報を生み出しているのだろうか。単なる整形加工は何も生み出してはいない。というのはちょっとどうかな?と思う。
ってか、C言語とか使ったプログラミングであっても、無から有を生み出してる訳じゃなくて、所詮は整形加工に過ぎないですよ。
もちろん「綺麗な表を作りましょう」というレベルで止まってちゃダメだっていう意味なんだろうけど、それは「オフィスソフトだからダメ」という事ではなくて「教える内容がダメ」というだけの事。
プログラミング言語を使ったとしても、入力されたデータに何らかの演算、集計、加工を行って、それを出力する事ができるだけで、入力されてないものが勝手に出てくる訳じゃないし、ハードウェアを直接弄るようなのじゃなくて抽象化された数値の入力から結果を得る程度なら表計算でも(速度は別にして)できる。
アルゴリズムの部分が最初から関数として用意されててブラックボックスになってるからダメというのであれば、C言語にだってqsort関数あるし(^^;
どうしてもアルゴリズムの部分も実際に書いてみるべきだと言うならVBAだってあるし。
そもそもアルゴリズムなんて教える必要があるのかどうかという問題もあるかもしれない。
ってか、そもそも「高校で情報を教える目的は何か」という所に立ち返ってみると、プログラミングやアルゴリズムを高校で一般教養として教える必要があるのか?将来プログラマとかにならない多くの生徒にとって役に立つ知識なのか?と考えると多少疑問の余地が無いでもない。
まぁ、「雑学の一つとして」とか「ごく一部であっても将来プログラマになる生徒をインスパイア(^^;するため」というのもあるだろうけど、どうせ時間をかけて教えるなら、より多くの生徒の役に立つ(単に綺麗な表を作りましょうというに留まらない)表計算の使い方を教えた方が良いという考え方もあるかもしれない。
私的には、プログラミングを覚えて一番役立ったと思うのは、「モノゴトを抽象化して数値に置き換えて処理する」という能力(?)だと思う。
これはいくらアルゴリズムやプログラミングを教科書的に覚えてもダメで(教科書では既にモノゴトが抽象化されてしまっているから)、実際の事象を自分なりにプログラムに落とし込んでいくという訓練(?)を繰り返さなきゃできないんじゃないかな?
何かまとまりが付かなくなってきましたが(^^;、長くなったのでこの辺で・・・
| 固定リンク
| コメント (9)
| トラックバック (0)
最近のコメント