2007-09-14

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

うちはとても貧乏だったというのに、なぜか俺が小学三年生のときに、親父がパソコンを買ってきた。

親父は電気工事屋をやっていたから電気製品が好きだったんだろう。

当時小学六年生だった兄貴機械いじりが好きだった。 電子ブロックなんてのが家にあった。

とはいえ、二十万円もするパソコンコンビニウーロン茶を買うかのように買ってきた親父が、あとでオカンになんて言われたのか、いまとなっては知るよしもない (いや、親父もオカンもまだ生きてるので、聞こうと思えば聞けるが) 。

ともかく、俺が小学三年生の時には家に MZ-2000 というパソコンがあった。

三年生のときはそもそもパソコンとはなにかも知らなかったし、親父も兄貴も壊れものを扱うかのように大事に触るので (実際壊れものだ) 、俺には触らせてもらえなかった。 親父や兄貴の背中越しに見ているだけだった。

当時はパソコン用のソフトなんてのがそこらに売っていたわけではないし、 DSソフトのように気軽に買えるようなものでもなかったので、付属BASICポチポチ入力しては RUN する、これしかなかった。

それでもなにかすごいことがこの銀色の箱の中で起きているということは、子供ながらに理解した。

そのうち学年が進んで小学五年生になるころには、俺も兄貴といっしょにプログラム入力したりしていた、と思う。 六年生ぐらいだったかもしれない。

当時はベーマガという雑誌があった。 毎号買ってきては、短いプログラムだけ選んで入力した。

そういえば、 MZ-2000付属していたオレンジの本も、子供知的好奇心をおおいにあおった。 中西さん挿絵が絶妙だった。

ベーマガには、「アルゴリズム」という単語がわりあい頻繁に登場していたと思う。 体操じゃないよ。

高度な関数も使えない、グラフィックもろくに扱えない当時のパソコンで、おもしろいゲームを作るにはアイデア勝負、とりもなおせばアルゴリズム勝負みたいなところがあった。

サイン関数を使って放物線の動きを表現したり、 X 軸の動きと Y 軸の動きを入れ替えて物体の反射を表現したり。

いまではなんてことはない小手先以下の技だけど、そもそも当時のパソコンではそんなことぐらいしかできなかった。

パソコンサンデーでもアルゴリズムという単語がわりとよく出てきていたと思う。

そんななかで、パソコンというのが魔法の箱ではなく、ちいさな処理を組み合わせてなにかをするものだということを理解した。

そのころすでに親父はパソコンさわりもせず、兄貴と俺のオモチャと化していた。

グラフィックボードと G-RAMカラーディスプレイまで買ってくれたんだから、親父の無駄遣いもここに極まれりというもんだ。

数十しかない BASIC の命令を組み合わせれば、色つきのグラフィックや音まで出せた。 BASICプログラミングは楽しかった。

兄貴夏休みを数日使って I/O に載っていた「フォボス」のダンプリストを打ち込んだりした。 ひとりがリストを読んで、もうひとりがそれをひたすら打ち込んだ。 ダンプリスト呪文雑誌数十ページ分打ち込んだら、ものすごいゲームができた。 楽しかった。

中学に進んで、 Oh! MZ を読んでアセンブラや他の言語にも触れ合えた。 あまり深入りはしなかったけど。

高校商業高校情報理科に進んだ。 校内のホストTSSログインして、 COBOLFORTRAN なんかを習った。 情報処理二種も取った。

で、いまはシステム開発の会社にいる。

さて、現在、俺にも子供がいる。

今年の四月で小学三年生になった。

子供には家の PC はさわらせてない。 たまにマウスで絵を描かせるくらい。

現代っ子らしく、 DSポケモンなんかして遊んでいる。 Wii もある。

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

いまの PCBASIC付属してない。 ベーマガもない。

あったとして、今の PC で、当時のような短いリストでなにができる?

エミュレータで古いパソコン環境を再現してプログラムさせるか?

それは、周囲に表現力豊かなゲームがあふれている現代の子供楽しいと思えるものか?

アルゴリズムというものをどうやって説明したらいい?

コンピュータが内部でどうやって動いているか、どうすれば簡潔に説明できるだろう?

そもそも現代の子供は、これだけソフトウェアがあふれているなか、コンピュータプログラム入力して、それを動かすことをおもしろいと思わないのではないか?

子供プログラミングを理解するのに、取っつきやすい本やサイトなんかがあったら、誰か教えてください。

いま、プログラミングを楽しんでいる中学生から高校生くらいの若いひとは、どうやってその世界に入っていったんだろう?

  • そういうことをやってるのがアラン・ケイじゃなかったっけ。アラン・ケイと子供のキーワードで検索したら色々出てくるよ。

  • 「1 * 2 * 3 * 4 * 5 ... 1000 は幾つ?」 と問題を出して、電卓と睨めっこしている所でLispを教えてあげる。

    • http://anond.hatelabo.jp/20070914120926 こうですか? わかりません>< gosh> (use srfi-1)gosh> (apply * (iota 1000 1))40238726007709377354370243392300398571937486421071463254379991042993851239862902059204420848696940480047998861019...

  • Flashがおすすめ。 最初はプログラムの知識は何も無くても、ぐりぐり動くアニメーションを作れるから興味は引ける。 そのあと、ただのアニメーションからスクリプトを使った処理にシ...

  • 僕は大学でOcamlとかPrologとかVHDLとか書いてますが、最初はウェブページを作るときにPerlからはじめて、PHPの便利さに気づいて、Rubyの親切さに感動して今日に至っています。 というわけ...

  • いま21だけど、中学のころ部活でプログラミングを始めました。 最初はウィンドウズ上で動く、グラフィックが使えるBASICで簡単なゲームを組むところから入った。 やっぱりゲーム組むの...

  • >駄文長文注意< 意識されている「きっかけ」が変なので報告してみる。 現在22歳、修士一年、情報系。 プログラミング歴約6年。 小学校高学年くらいから、父の職場で使われてたP...

  • LEGOマインドストームじゃだめかな?

    • 私も、レゴマインドストームがいいんじゃないかと思われます。 それで、ETロボコンとかに参加させてみるのがいいんじゃないかと。 この大会は、組み込み技術者育成のために作られた...

  • つ「なでしこ」

  • わたしはPHPくらいしか出来ない初心者サンデープログラマですが、 子供期ならば、プログラミングを学びたい動機を与える方法はどのような方法でもいんのではないか、サイトハックや...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん