« Engadget-Jより・・・ | トップページ | お誕生日おめでとう! »

2005.10.31

情報教育というモノ

わたやんさんの日記にインスパイアされて(^^;書いたもので、異論、反論ではありません。
ってかそんな段階まで自分自身の考えがまとまっていないというのもアリですが。
また、ここで書くのはあくまでも「一般教養としての情報」であって、将来プログラマになろうとしている人相手の「専門教育としての情報」ではありません。
という前置きを置いといて、高校での情報教育のお話。

で、のっけから情報とはあんまり関係ありませんが(^^;、数学で出てくるサイン、コサインとか、微分、積分って生徒に評判良くないですよね。って私だけ?(^^;
私は高校の頃とか凄く苦痛でした。理系なのに・・・
で、何で苦痛なのかというと、ソレを覚えても何に使えるかサッパリわからない。
まぁ、問題に解答して正解すると得点がもらえる(^^;という使い道はわかるんですが、実際それらがどう活用できるかという事がサッパリわからないのに、丸暗記しなきゃいけないような公式とかやたらと出てきて、記憶教科の苦手な私としてはとてもイヤだったな・・・と。
まぁ、後になって大学で色々やってるうちに、「あぁ、三角関数はこういう意味なのか~」とか「微分、積分はこういう所で使うとご利益があるのか~」というのがわかって、改めて勉強しなおしたり(^^;

で、結局何が言いたいかと言うと「人間ってのは役に立つ、興味のあることは覚えるけど、何の役に立つかわからない、興味の無いものは覚えない」って事なんですよ。
えてしてエラい人というのは
・○○という公式/原理で普遍的な現象を理解できる
・○○を理解するには△△を理解する必要がある
・△△は基礎的な事なので中学・高校で教えよう
と考えてしまうので、「△△はともかく重要だから覚えろ」となってしまって、習う方は「で、それ覚えたら何かいいことあるの?」となる。
上から見たら△△の重要性がわかるけど、下から見れば何で覚えなきゃいけないかわからない。

これはカリキュラムの問題じゃなくて教え方の問題。
この教え方の問題というのも2つあって、一つは「教え方は非常に属人的なものだ」という事。
教える方が○○から△△までの関連を知っていたとしても、それを生徒に伝え切れるかどうかというのは教師によって変わってくる。
「将来ニンジンが食えるから早く走れ」と言っても馬は走らない訳で(^^;、常に走り続けさせようと思えば目の前にニンジンぶら下げるのが有効だけど、それをどれだけの教師がやっているか。
「それが何の役に立つの?」という疑問に「いいからともかく覚えろ」という教え方になってしまってはいないか。
そういう教え方を許すカリキュラムになってるかどうかというのもあるだろうけど。

もう一つの問題は、これは数学では少ないでしょうが、情報では「そもそも教えてる教師自身が○○と△△の関連をわかってるのか?」という問題。
特にプログラミングとかだと、抽象化された問題集レベルの「こういう問題を解決するためにこういうプログラムをすれば良い」というのは理解していても、実際の身近な事象を問題集レベルまで抽象化してプログラムに落とし込むという事までできる教師がどれだけいるのかというのが問題なんじゃないでしょうか。
知らない者が知らない者に教えてるんじゃ、「とりあえずオレの覚えた事をオマエらも覚えろ」という教え方しかできない訳で、それではとても生徒の興味を掻き立てる事はできないだろうし。

で、仕方ないので目の前の問題を解決できる表計算とかの使い方を教えて満足してしまうというのがあるんじゃないかな?
まぁ、実際の所、ほとんどの生徒にとっては、C言語教えられるよりは表計算教えられる方が将来役に立つってのもあるかもしれない(^^;

一点

しかし彼らはオフィスソフトでほんとうに情報を生み出しているのだろうか。単なる整形加工は何も生み出してはいない。
というのはちょっとどうかな?と思う。
ってか、C言語とか使ったプログラミングであっても、無から有を生み出してる訳じゃなくて、所詮は整形加工に過ぎないですよ。
もちろん「綺麗な表を作りましょう」というレベルで止まってちゃダメだっていう意味なんだろうけど、それは「オフィスソフトだからダメ」という事ではなくて「教える内容がダメ」というだけの事。
プログラミング言語を使ったとしても、入力されたデータに何らかの演算、集計、加工を行って、それを出力する事ができるだけで、入力されてないものが勝手に出てくる訳じゃないし、ハードウェアを直接弄るようなのじゃなくて抽象化された数値の入力から結果を得る程度なら表計算でも(速度は別にして)できる。

アルゴリズムの部分が最初から関数として用意されててブラックボックスになってるからダメというのであれば、C言語にだってqsort関数あるし(^^;
どうしてもアルゴリズムの部分も実際に書いてみるべきだと言うならVBAだってあるし。
そもそもアルゴリズムなんて教える必要があるのかどうかという問題もあるかもしれない。

ってか、そもそも「高校で情報を教える目的は何か」という所に立ち返ってみると、プログラミングやアルゴリズムを高校で一般教養として教える必要があるのか?将来プログラマとかにならない多くの生徒にとって役に立つ知識なのか?と考えると多少疑問の余地が無いでもない。
まぁ、「雑学の一つとして」とか「ごく一部であっても将来プログラマになる生徒をインスパイア(^^;するため」というのもあるだろうけど、どうせ時間をかけて教えるなら、より多くの生徒の役に立つ(単に綺麗な表を作りましょうというに留まらない)表計算の使い方を教えた方が良いという考え方もあるかもしれない。

私的には、プログラミングを覚えて一番役立ったと思うのは、「モノゴトを抽象化して数値に置き換えて処理する」という能力(?)だと思う。
これはいくらアルゴリズムやプログラミングを教科書的に覚えてもダメで(教科書では既にモノゴトが抽象化されてしまっているから)、実際の事象を自分なりにプログラムに落とし込んでいくという訓練(?)を繰り返さなきゃできないんじゃないかな?

何かまとまりが付かなくなってきましたが(^^;、長くなったのでこの辺で・・・

|

« Engadget-Jより・・・ | トップページ | お誕生日おめでとう! »

日記・コラム・つぶやき」カテゴリの記事

コメント

全くその通りです。
私も確率やら行列やら電気やら、理系なのに苦労した分野はいくつもございます。

>走り続けさせようと思えば目の前にニンジンぶら下げるのが有効
だからというか、理科には小学校では現象の観察が多いですよね。で、その知識をベースに、中学高校で「理由の説明」。「あー、そういう理由でこうなるんだー」と納得しながら公式や定理を身につけていく方が、圧倒的に理解しやすいですから。

それに対して、数学(特に高校数学)が必要になる場面って、比較的高度なところだと思う。高度だからこそ教え方(というか魅力の伝え方)が難しく、「とりあえず覚えとけ」的教え方に終始してしまいがちなんだと思います。とりあえず覚えとけ!だと、定理や公式が何の必然性もなくポッと出てきたようにしか見えなくて、魅力もへったくれもないわなあ。

教師は理解させることが大切だと思われる傾向があるけど、本当に大切なのは興味を抱かせることなんですよねえ。果たしてそれが出来る教師はどれだけいるのだろうか?と思いますが、少なくとも私には出来ないので偉そうなことは言えません。

投稿: まるでパンダ | 2005.11.01 01:41

数学、苦手だったなぁ~と思い出しながら...
微分、積分なんてもう忘れた^^;;
サイン・コサインは数学の中じゃ好きだったなぁ~。
学生の頃、覚えたというより覚えさせられたという意識が強い公式なんかは、キレイさっぱり忘れています(笑)

投稿: みぃ | 2005.11.01 13:18

微分積分。私も大の苦手で、これで理系を挫折しました。
何事も体験しないと抽象化は難しいと思います。
会社のお偉いさんに抽象→具現で仕事を考えるよう言われて、そうなのかなと思いつつ仕事はできませんでした(笑)。

子供のことを考えると情報教育は人事ではないですね。
自分でしっかり教えようと思っても、親の言うことは聞かないんだろうな(^^;

投稿: AKIKO | 2005.11.01 14:15

>まるでパンダさん
興味を持たせる事ができれば、後は勝手に本人が知りたがるので「教える苦労」というのは無いんでしょうが、まぁ、そう簡単には行きませんね(^^;

「とりあえず覚えとけ」になってしまう理由の一つとして、学習指導要綱などで「深入りしない」とか「扱わない」と、高度な事を排除する傾向があるというのもあるんじゃないですかね?
上で書いた例で言えば、(△△を基礎として成り立つ)○○に付いては扱わないとなっていれば、もう何の役に立つかもわからない△△だけを教えるしかないというのもあるのかもしれません。

>みぃさん
私の場合、何を忘れたかすら覚えてません(^^;

>AKIKOさん
モノゴトを抽象化する利点として、外見や慣習などで、一見別々に見えるものが、実は同じパターンに当てはまるんだという事に気付けるというのがあります。
そういう飾りを取り払う事ができれば、新たな発見があったり真理に近付けるという楽しみも(^^;

逆に抽象化に失敗して、別々のものを同じものとして扱ってしまう危険性もありますし、抽象を現実に適用する場合には、その場その場に合わせた適用の仕方を考えなきゃいけないというのもありますが。
(同じ結果なんだからと言って、同じように適用すると、まず失敗する(^^;)

投稿: <セルダン> | 2005.11.01 19:07

>で、仕方ないので目の前の問題を解決できる表計算とかの使い方
>を教えて満足してしまうというのがあるんじゃないかな?
生徒がそれを教わって満足するのは仕方ないけど,教師がそれを教えて満足するのはどうか,というのが私の思い。教える側が抽象にあぐら書いてあきらめてちゃいかんでしょ。
>もちろん「綺麗な表を作りましょう」というレベルで
>止まってちゃダメだっていう意味なんだろうけど、
あ,そういう意味です。オフィスソフトで仕事してる人の多くはきっと情報を生み出してるんだろうけど,「綺麗な…」だけを仕事だと思ってる人が目に付く(もちろんそれは仕事になりえるものではありますが)こともあるもんだからあのような書き方になりました。
>プログラミングやアルゴリズムを高校で一般教養として教える必要があるのか?
教える必要があるとは思いませんがプログラミングは「体験」する必要があるとは考えています。アルゴリズムは整列みたいなムズカシイことまでやることないとは思ってますが。
>「とりあえず覚えとけ」になってしまう理由の一つとして、
>学習指導要綱などで「深入りしない」とか「扱わない」
そういうのは多々あります。深入りしとかないと意味がわからないことってよくありますから,それを「体験」することに価値はあります。

抽象化云々についてはこないだ買った新書にたまたまそんな話が書いてあったんだけど,職場に置いてきちゃいました(--;。

投稿: わたやん | 2005.11.01 22:13

まだ表計算ソフトなど存在してなかった大昔の頃のこと。(^_^;
ローンの利子の計算をしているうちに、どっかでみたことあるなぁと思ったら、数学のある公式を思い出し、大急ぎで数学の教科書を取り出して公式を確認し、計算してみたら、あっという間に利子計算が出来たというカンドーの記憶があります。
学校で教わることは無駄という声が大きいですが、私はそんなことないと思っています。
ようは、抽象的に教わったものを日常につなげることが出来るかどうかなので、学校教育のおかげで日常生活がどれだけ役立ってるかというのに、気づいてないだけだと思うのですが…、そういうことを証明し説明することもまた難しいような気もします。
ま、情報処理教育の話とはズレてますけど。

投稿: 不比等 | 2005.11.01 23:44

>わたやんさん
>深入りしとかないと意味がわからないことってよくありますから,それを「体験」することに価値はあります。

「学校教育」となった場合、どうしても「評価」して「序列を付ける」形になってしまう場合が多いので、「体験」に多くの時間を割くというのは難しいというのもあるかもしれませんね。
いっそ「この教科は試験無し」で全て「体験」だけ。そこで得る物があった生徒は良かったね。というのも面白いかもしれませんが、試験が無いとなると「絶好のサボるチャンス(^^;」になってしまうキケンも・・・

まぁ、それ以前に「体験」させる事ができる教師がどれだけいるかという話もありますが。
「情報」の場合、まずは教師の底上げが必要なのかもしれませんね。

>不比等さん
私、大学の頃使ってたテキストを、いまだに良く使ってます(^^;
大学の頃は全然面白くない授業でテキストの中身もサッパリわからなかったんですが・・・

投稿: <セルダン> | 2005.11.02 02:05

 学校教育と言えば、数学と物理の公式集を会社に置いています。 この問題を解決するためには、あの公式を使えばよいが、忘れてしまった・・・ということが時々あるからです。 意外と高校時代に学んだことが役立っています。
 問題は、公式があることは覚えていても、名称さえ忘れているので、探すのが大変なことです。

投稿: 文庫老 | 2005.11.03 20:33

>文庫老さん
公式というのは、問題を解決するための手段であって、覚える事が目的となってしまっては本末転倒(謎)なので、ソレがきっと正しい姿なんです。多分(^^;

投稿: <セルダン> | 2005.11.04 01:33

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/4003/6796372

この記事へのトラックバック一覧です: 情報教育というモノ:

« Engadget-Jより・・・ | トップページ | お誕生日おめでとう! »