2007年09月14日 16:30 [Edit]

プログラムの楽しさを子供に教えるべきか?

答え:何もするな。

今の子供達にどうやってプログラミングの楽しさを教えたらいいのか?
さて、この子にプログラミングの楽しさを教えるとしたら、どうしたらいいだろう?

ただし、

今の子供たちにプログラミングの楽しさを教える必要なんかない : ひろ式めもちょう
「プログラミングという文化を次代にどのように継承していくべきか」 なんて向きになっているのか? と勝手に妄想した。ほとほとウンザリ。

とはちょっと理由が違う。


世の中には、「この時期に習っておかないと一生自分のものにならない」というものもあれば、「いつはじめても、モノにできる」というものもある。「流暢な外国語」は前者だが、プログラミングは明らかに後者。

実際、自分のまわりを見てみると、プログラマーになったもので「子供のころからプログラミングをしていた」というものは絶無とまでは行かないがきわめて少数派で、たいてい他の分野の専門家になろうとして、しかしそこでコンピューターを使っているうちにプログラミングの面白さに目覚めてしまいという人ばかり。私自身、最初の先攻は生化学と応用数学だった(その後もう一つ専攻を加えたので、先攻も間違いとはいえない>コメント欄:-)

むしろ、大人になってからプログラミングの面白さに目覚めてもらうには、それ以外のことを思いっきりやらせた方がいい。そこで大成すればそれはそれでよし。そこで大成しなくても、今やコンピューターがからまない世界というのは皆無に近い。入り口はどこにも開いているのである。

仮に子供の頃プログラミングに目覚めたとしても、その時点では打ち込んだゲームのコードを「追う」ことは出来ても、データ構造もアルゴリズムも「理解」するのは難しいだろう。ポインターもクロージャーも、むしろ大人になってからの方が理解は早い。一度面白さに目覚めてしまえば、今や教科書だって「実習環境」だっていくらでもある。慌てる必要は全くない。むしろ「老後の愉しみ」ぐらいでちょうどいいぐらいではないだろうか。

プログラミングを子供に習わせるぐらいなら、楽器を習わせた方がいいと思う。大人になってからでもピアノが弾けるようにならないわけではないけど、子供と比べたらずっと手間暇もかかる。私は3日もあればどんなプログラミング言語でもそこそこ使えるようになる自信はあるけど、ピアノは弾けない。その逆だったらもっと良かったのになあ。ギターを習っている長女とピアノを習っている次女がうらやましい。

Dan the Programmer


この記事へのトラックバックURL

この記事へのトラックバック
プログラムの楽しさを子供に教えるべきか?  ちょっと気になったので、コメントします。   ちょっとピントがずれているかもですが、私はプログラムを職業としていません。で...
Re:プログラムの楽しさを子供に教えるべきか?【な!blog】at 2007年09月16日 23:25
http://anond.hatelabo.jp/20070914115225 私の意見はkogaidanさんと正反対 kogaidanさんは、そんな小さいころからやらなくても...って意見のようですが私の意見は正反対だ。 その理由は3つある 考え方の部分に影響を与える 本当のITリテラシーを早くからつけるべき 習得で
プログラミングを始めたきっかけ【lamichの日記】at 2007年09月17日 14:36
小学生にプログラミングに興味を覚えてもらい、遊び感覚であっても汎用性のある学習が出来る教育プランを考えてみた。 【背景】 小学生にとっては子供同士で遊ぶこと(人間関係の実...
子供(小学生)がプログラミングを学ぶには【SaitoToshiki.com】at 2010年11月15日 10:30
この記事へのコメント
弾さんのいう通りなんだけども、負けず嫌いの私としては14歳のハッカーなどと聞くと、くそー14歳でそのレベルか!私も出来る限りパソコンが欲しかった・・・と思ってしまいます。その悔しさが子供へと向かってしまうのかもしれませんね。
Posted by 未記入 at 2007年09月14日 16:59
すみません書き間違えました。
>私も出来る限りパソコンが欲しかった・
この部分は、
「私も出来る限り早くパソコンが欲しかった」です。
失礼しました。
Posted by 未記入 at 2007年09月14日 17:07
先攻→専攻ですね。

私はものごごろつく前に自宅にコンピュータがごろごろしてたけど,カセットテープでビンゴゲームロードしたり,雑誌のBASICを丸写ししてたりで,プログラムの道には行きませんでした。
でもまあコンピュータの挙動が三つ子のうちに見れたんでよかったです。
私も老後のたのしみにとっときます。
Posted by eviano at 2007年09月14日 17:38
酸いも甘いもなめ尽くし時間という最強最悪の敵と対峙する高齢者向けハッカー教室とか
果ては攻殻SSSかよ
Posted by inag0 at 2007年09月14日 19:46

ギターもピアノもLISPもアセンブラもできますが

目隠しキューブや2冊同時読みなんて曲芸が
できる人がうらやましいです:-)
Posted by ホエホエ at 2007年09月14日 21:06
「プログラミングは大人のおもちゃだから子供が触るな」としか
読めなかった私は、読解力が足りてないと自分でも思いますが・・・

子供にプログラムの楽しさを教えるたった一つの方法は、
「子供にプログラムへの好奇心を持たせること」しかないと思います。
例えば、目の前で誰かがゲームのプログラムを書く、とか。
(実は私がそれです。書いたのは兄です。
兄は弾さんのいう「極めて少数派」の人です)

10年ほど前まで、その役割は本が果たしていました。
しかし、今、本はインターネットへと姿を変えました。

その用途にLLは使いやすいはずだし、インターネットはもっと使いやすいはずなのです。
しかし、現状、それらは子供も読めるものにはなっていませんよね(特にネット)。

リンク元はそういうことをいっているような気がしたので、
私はリンク元の方に一票。
Posted by zyx at 2007年09月14日 21:20
数学を専攻している時点で、弾さんがこれを言うのはダウトです。
なぜなら、数学で一番後々役に立つ物は、コンピュータ(プログラムを含む)だからです。
(実は0番目もあって、それは「好奇心」なのですが、
全ての教科でそれは成り立つので0番目、つまり省略されます。)
つまり、弾さんの言う「他の分野」は、そのほとんどが数学分野なのです。

子供の好奇心を育てるのに、プログラムはダメなんてことはないはずです。
むしろ数学よかよっぽどピッタリだと思うのですが。
大人だけのおもちゃにしておくには、ちょっともったいない気がします。

長文&連投失礼しました。
Posted by zyx at 2007年09月14日 21:37
専攻が理系で、経営職をばりばりこなしているとは驚くばかりです
Posted by はいいろ at 2007年09月14日 23:46
子供の好奇心をどのように導いていくか?好きになれなかった算盤。スキだった書道。
まあそれをムリムリさせるのは反対ですけど、投げ出しがちはもっとだめ。難しいですね。
Posted by blog49 at 2007年09月14日 23:47

おもしろさって教えることできないですよね。
僕らにできるのって環境を作ることと自分が楽しんでるところを見せるくらいなもので、
それでも興味を示さなかったらそれまで。
「できた方がいいから」と好きでもないのに教え込むのはおもしろさを教えることじゃないし。
だから何も教えちゃいけない、とも思いませんが、おもしろさを教えるってちょっと違うかなと。

だいたいこどものほうが僕らが知らない楽しいことを見つけてくるかもしれないし。
自分は世の中のことよく分かってるぜ、って思わない方がいいです。

ちょっと論点違うかもしれないんですが、自分がこどもと関わりながらいろいろ思ったりする
ものですからちょっとコメントしてみました。

Posted by ひろきち at 2007年09月14日 23:49
いまプログラムの時代じゃないでしょ。

ラジオ少年→パソコン少年→ロボット少年

てかんじじゃないの。
Posted by プログラムオワタ at 2007年09月15日 10:58
プログラムを直接書くわけではないが、でもコンピュータのソフト開発やDB開発に関係する職場にいる身から見ると、やはり学生時代にプログラミングを経験しているか否かが仕事のパフォーマンスに大きく影響しているんですよね…。十年、二十年とこの仕事をやっていても、ここはプログラムを書いて効率化した方が良い、ここは人間がやるべき、という勘所が未だに分からず、場合によってはコンピュータのできる手作業を人間が敢えてするのが仕事だ、と思い込んでいる人間を数多く目にしてきたもので。

私はゲームばかりしている甥っ子に
http://blog.livedoor.jp/dankogai/archives/50715426.html
を読ませてプログラミングに興味を持ってもらおうかと思いましたが、駄目でした。

一方でこういうお子さんもいるようですが…。
http://www.tez.com/blog/archives/000839.html
Posted by 暇人 at 2007年09月15日 14:11
なんのバックグラウンドもない状態でプログラミングだけ覚えても、本人が面白いと思うものって作れないのかなーと、漠と思いました。
結局自然言語と同じで、それを使うことよりも使ってどうするかの方が大事ですよね。
Posted by route at 2007年09月15日 14:23
多分あらゆる学問を子供に触れさせて、それで気に入ったものをやらせるのが一番いい方法だと思う。
Posted by 未記入 at 2007年09月16日 00:31
若いうちは...恋愛せな
Posted by i at 2007年09月16日 03:34
オトナになると「それ」を学問にしたり金につなげたりしないと
他人にも自分にもみとめないんだなあ。はしたない。

Posted by ホエホエ at 2007年09月16日 09:01
アラン・ケイなんかは、科学的な考え方とくっつけて教えておくべきだ、といってますなあ。
Posted by bak at 2007年09月17日 09:43
じゃあアランケイははしたない人なんだなあ。
Posted by ケイマンセーバカ at 2007年09月17日 23:37
>数学で一番後々役に立つ物は、コンピュータ
これは違うんじゃないですかね?
前に紹介されていた本に、大学で一番PCが少ないのは
数学科って書いてあった気がするのですが。
ひらめきや発想が重要じゃないかな。
PCを知ってしまうと解法を考える前に力業で計算してしまいそうです。

僕自身の経験からするとプログラミングの楽しみは不具合の解消ですね。
一番最初のきっかけはゲームのセーブデーターの改ざんでした。
プログラムを作ったきっかけはちょっとしたツールが欲しかった時。

今みたいに多種多様なフリーソフトがあると
作るより探す方が簡単なのかも知れません。
Posted by lba at 2007年09月18日 00:23
>lbaさん
ところがどっこい、現実は「ゲームを作るためには
苦手な数学もやらなきゃダメなんだぞ」だったり。
(これを言ったのは金8先生だった記憶がありますが・・・)
逆(コンピュータで一番後々役立つのは数学)は成り立つ(一番かは疑問?)んですが、
今の学習カルキュラム(算数→数学→プログラム)や、
理系の一番人気がITなことを考えるに、
元の命題も真と思われてるとしか思えない状況ですね。
逆は真とは限らないのですが・・・
>PCを知ってしまうと
4色問題はそれで解けた数少ない例かも知れませんね。
数学者は「人間でも解けただろう」と言っていた記憶がありますが。
Posted by zyx at 2007年09月18日 20:03
今は「ゲームを作るためには売れるマーケットを作れなきゃ
だめなんだぞ」じゃないの。
日本人は作ってる人間をバカにするから。

Posted by ゲーム屋2.0 at 2007年09月20日 00:37