2007年09月14日 16:30 [Edit]
プログラムの楽しさを子供に教えるべきか?
答え:何もするな。
今の子供達にどうやってプログラミングの楽しさを教えたらいいのか?さて、この子にプログラミングの楽しさを教えるとしたら、どうしたらいいだろう?
ただし、
今の子供たちにプログラミングの楽しさを教える必要なんかない : ひろ式めもちょう「プログラミングという文化を次代にどのように継承していくべきか」 なんて向きになっているのか? と勝手に妄想した。ほとほとウンザリ。
とはちょっと理由が違う。
世の中には、「この時期に習っておかないと一生自分のものにならない」というものもあれば、「いつはじめても、モノにできる」というものもある。「流暢な外国語」は前者だが、プログラミングは明らかに後者。
実際、自分のまわりを見てみると、プログラマーになったもので「子供のころからプログラミングをしていた」というものは絶無とまでは行かないがきわめて少数派で、たいてい他の分野の専門家になろうとして、しかしそこでコンピューターを使っているうちにプログラミングの面白さに目覚めてしまいという人ばかり。私自身、最初の先攻は生化学と応用数学だった(その後もう一つ専攻を加えたので、先攻も間違いとはいえない>コメント欄:-)
むしろ、大人になってからプログラミングの面白さに目覚めてもらうには、それ以外のことを思いっきりやらせた方がいい。そこで大成すればそれはそれでよし。そこで大成しなくても、今やコンピューターがからまない世界というのは皆無に近い。入り口はどこにも開いているのである。
仮に子供の頃プログラミングに目覚めたとしても、その時点では打ち込んだゲームのコードを「追う」ことは出来ても、データ構造もアルゴリズムも「理解」するのは難しいだろう。ポインターもクロージャーも、むしろ大人になってからの方が理解は早い。一度面白さに目覚めてしまえば、今や教科書だって「実習環境」だっていくらでもある。慌てる必要は全くない。むしろ「老後の愉しみ」ぐらいでちょうどいいぐらいではないだろうか。
プログラミングを子供に習わせるぐらいなら、楽器を習わせた方がいいと思う。大人になってからでもピアノが弾けるようにならないわけではないけど、子供と比べたらずっと手間暇もかかる。私は3日もあればどんなプログラミング言語でもそこそこ使えるようになる自信はあるけど、ピアノは弾けない。その逆だったらもっと良かったのになあ。ギターを習っている長女とピアノを習っている次女がうらやましい。
Dan the Programmer
この記事へのトラックバックURL
>私も出来る限りパソコンが欲しかった・
この部分は、
「私も出来る限り早くパソコンが欲しかった」です。
失礼しました。
私はものごごろつく前に自宅にコンピュータがごろごろしてたけど,カセットテープでビンゴゲームロードしたり,雑誌のBASICを丸写ししてたりで,プログラムの道には行きませんでした。
でもまあコンピュータの挙動が三つ子のうちに見れたんでよかったです。
私も老後のたのしみにとっときます。
果ては攻殻SSSかよ
ギターもピアノもLISPもアセンブラもできますが
目隠しキューブや2冊同時読みなんて曲芸が
できる人がうらやましいです:-)
読めなかった私は、読解力が足りてないと自分でも思いますが・・・
子供にプログラムの楽しさを教えるたった一つの方法は、
「子供にプログラムへの好奇心を持たせること」しかないと思います。
例えば、目の前で誰かがゲームのプログラムを書く、とか。
(実は私がそれです。書いたのは兄です。
兄は弾さんのいう「極めて少数派」の人です)
10年ほど前まで、その役割は本が果たしていました。
しかし、今、本はインターネットへと姿を変えました。
その用途にLLは使いやすいはずだし、インターネットはもっと使いやすいはずなのです。
しかし、現状、それらは子供も読めるものにはなっていませんよね(特にネット)。
リンク元はそういうことをいっているような気がしたので、
私はリンク元の方に一票。
なぜなら、数学で一番後々役に立つ物は、コンピュータ(プログラムを含む)だからです。
(実は0番目もあって、それは「好奇心」なのですが、
全ての教科でそれは成り立つので0番目、つまり省略されます。)
つまり、弾さんの言う「他の分野」は、そのほとんどが数学分野なのです。
子供の好奇心を育てるのに、プログラムはダメなんてことはないはずです。
むしろ数学よかよっぽどピッタリだと思うのですが。
大人だけのおもちゃにしておくには、ちょっともったいない気がします。
長文&連投失礼しました。
まあそれをムリムリさせるのは反対ですけど、投げ出しがちはもっとだめ。難しいですね。
おもしろさって教えることできないですよね。
僕らにできるのって環境を作ることと自分が楽しんでるところを見せるくらいなもので、
それでも興味を示さなかったらそれまで。
「できた方がいいから」と好きでもないのに教え込むのはおもしろさを教えることじゃないし。
だから何も教えちゃいけない、とも思いませんが、おもしろさを教えるってちょっと違うかなと。
だいたいこどものほうが僕らが知らない楽しいことを見つけてくるかもしれないし。
自分は世の中のことよく分かってるぜ、って思わない方がいいです。
ちょっと論点違うかもしれないんですが、自分がこどもと関わりながらいろいろ思ったりする
ものですからちょっとコメントしてみました。
ラジオ少年→パソコン少年→ロボット少年
てかんじじゃないの。
私はゲームばかりしている甥っ子に
http://blog.livedoor.jp/dankogai/archives/50715426.html
を読ませてプログラミングに興味を持ってもらおうかと思いましたが、駄目でした。
一方でこういうお子さんもいるようですが…。
http://www.tez.com/blog/archives/000839.html
結局自然言語と同じで、それを使うことよりも使ってどうするかの方が大事ですよね。
他人にも自分にもみとめないんだなあ。はしたない。
これは違うんじゃないですかね?
前に紹介されていた本に、大学で一番PCが少ないのは
数学科って書いてあった気がするのですが。
ひらめきや発想が重要じゃないかな。
PCを知ってしまうと解法を考える前に力業で計算してしまいそうです。
僕自身の経験からするとプログラミングの楽しみは不具合の解消ですね。
一番最初のきっかけはゲームのセーブデーターの改ざんでした。
プログラムを作ったきっかけはちょっとしたツールが欲しかった時。
今みたいに多種多様なフリーソフトがあると
作るより探す方が簡単なのかも知れません。
ところがどっこい、現実は「ゲームを作るためには
苦手な数学もやらなきゃダメなんだぞ」だったり。
(これを言ったのは金8先生だった記憶がありますが・・・)
逆(コンピュータで一番後々役立つのは数学)は成り立つ(一番かは疑問?)んですが、
今の学習カルキュラム(算数→数学→プログラム)や、
理系の一番人気がITなことを考えるに、
元の命題も真と思われてるとしか思えない状況ですね。
逆は真とは限らないのですが・・・
>PCを知ってしまうと
4色問題はそれで解けた数少ない例かも知れませんね。
数学者は「人間でも解けただろう」と言っていた記憶がありますが。
だめなんだぞ」じゃないの。
日本人は作ってる人間をバカにするから。