うちはとても貧乏だったというのに、なぜか俺が小学三年生のときに、親父がパソコンを買ってきた。
親父は電気工事屋をやっていたから電気製品が好きだったんだろう。
当時小学六年生だった兄貴も機械いじりが好きだった。 電子ブロックなんてのが家にあった。
とはいえ、二十万円もするパソコンをコンビニでウーロン茶を買うかのように買ってきた親父が、あとでオカンになんて言われたのか、いまとなっては知るよしもない (いや、親父もオカンもまだ生きてるので、聞こうと思えば聞けるが) 。
ともかく、俺が小学三年生の時には家に MZ-2000 というパソコンがあった。
三年生のときはそもそもパソコンとはなにかも知らなかったし、親父も兄貴も壊れものを扱うかのように大事に触るので (実際壊れものだ) 、俺には触らせてもらえなかった。 親父や兄貴の背中越しに見ているだけだった。
当時はパソコン用のソフトなんてのがそこらに売っていたわけではないし、 DS のソフトのように気軽に買えるようなものでもなかったので、付属の BASIC でポチポチと入力しては RUN する、これしかなかった。
それでもなにかすごいことがこの銀色の箱の中で起きているということは、子供ながらに理解した。
そのうち学年が進んで小学五年生になるころには、俺も兄貴といっしょにプログラムを入力したりしていた、と思う。 六年生ぐらいだったかもしれない。
当時はベーマガという雑誌があった。 毎号買ってきては、短いプログラムだけ選んで入力した。
そういえば、 MZ-2000 に付属していたオレンジの本も、子供の知的好奇心をおおいにあおった。 中西さんの挿絵が絶妙だった。
ベーマガには、「アルゴリズム」という単語がわりあい頻繁に登場していたと思う。 体操じゃないよ。
高度な関数も使えない、グラフィックもろくに扱えない当時のパソコンで、おもしろいゲームを作るにはアイデア勝負、とりもなおせばアルゴリズム勝負みたいなところがあった。
サイン関数を使って放物線の動きを表現したり、 X 軸の動きと Y 軸の動きを入れ替えて物体の反射を表現したり。
いまではなんてことはない小手先以下の技だけど、そもそも当時のパソコンではそんなことぐらいしかできなかった。
パソコンサンデーでもアルゴリズムという単語がわりとよく出てきていたと思う。
そんななかで、パソコンというのが魔法の箱ではなく、ちいさな処理を組み合わせてなにかをするものだということを理解した。
そのころすでに親父はパソコンにさわりもせず、兄貴と俺のオモチャと化していた。
グラフィックボードと G-RAM とカラーディスプレイまで買ってくれたんだから、親父の無駄遣いもここに極まれりというもんだ。
数十しかない BASIC の命令を組み合わせれば、色つきのグラフィックや音まで出せた。 BASIC のプログラミングは楽しかった。
兄貴と夏休みを数日使って I/O に載っていた「フォボス」のダンプリストを打ち込んだりした。 ひとりがリストを読んで、もうひとりがそれをひたすら打ち込んだ。 ダンプリストの呪文を雑誌数十ページ分打ち込んだら、ものすごいゲームができた。 楽しかった。
中学に進んで、 Oh! MZ を読んでアセンブラや他の言語にも触れ合えた。 あまり深入りはしなかったけど。
高校は商業高校の情報処理科に進んだ。 校内のホストに TSS でログインして、 COBOL や FORTRAN なんかを習った。 情報処理二種も取った。
。
今年の四月で小学三年生になった。
子供には家の PC はさわらせてない。 たまにマウスで絵を描かせるくらい。
現代っ子らしく、 DS でポケモンなんかして遊んでいる。 Wii もある。
さて、この子にプログラミングの楽しさを教えるとしたら、どうしたらいいだろう?
いまの PC に BASIC は付属してない。 ベーマガもない。
あったとして、今の 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くらいしか出来ない初心者サンデープログラマですが、 子供期ならば、プログラミングを学びたい動機を与える方法はどのような方法でもいんのではないか、サイトハックや...