教えること

プログラミングがエンジニアリングと科学と数学といろいろなところにまたがっている面があるから教えにくいんだよなあ、きっと。化学反応で炭酸ナトリウム製造サイクルを考えたとき、化学反応式としては教科書のはじっこにのるいくつかの反応だけで説明できるが、それを小規模に生成するプラントの設計と大規模プラントの設計はきっとまったく違う(アンモニアを循環再使用する辺りはなんとなく計算機言語チックでもある、かなあ?)。また、それらのプラントを実際に建造し、さらには運用することもまた完全に違う。Smalltalk(に限らないけど)の言語とその処理系の「数学的」定義は2ページにも満たないようなものだけど、スケールすることやちがうプラットフォーム用の設計は異なってくるし、実装は何百倍にも膨れ上がる。というように似たようなものと言えなくもない。

一番の大きな違いは、化学プラントは授業では作らないけど、プログラムはどんな小さなやつでも作って動かすことができてしまうのと、動かすことが目的のひとつになっているということだろうか。化学の実験というよりは技術・家庭に近いのかもしれん。

というわけで、落ちはない。

フライト

勝手知ったるNRT-LAX。入国審査官が使うコンピュータが不調だったようで、若いあんちゃんの審査官とだべりながら審査。今まで見た中で一番芸術的な文字を書く人だった。でも、俺の役職名(長い)を一生懸命言っているのに勝手に訳すのはずるいぞ。

仁義を知っているかどうかと、見た目があほっぽいかどうかとは別である。が、お迎えを待つ間にやや仁義ない現場を目撃してしまった。一緒に日本から来ていた二人連れが入国審査のところでひとりがちょっ手間取っていたのだが、その間に、現地の友達を優先したもう1人に見捨てられかかっていたのだ。見た目をあほっぽくする、という弱点を持つことを選択した人は、他のところではびしっと決めておくべきかもしれない。白井君や山宮さんに「ニッチの人」と呼ばれる俺にもちょっとだけ教訓。

教育用プログラミング言語ワークショップ 2006

http://ce.tt.tuat.ac.jp/sigps/index.php?%B6%B5%B0%E9%CD%D1%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC%A4%CB%B4%D8%A4%B9%A4%EB%A5%EF%A1%BC%A5%AF%A5%B7%A5%E7%A5%C3%A5%D72006
にある教育用プログラミング言語ワークショップ 2006に参加した。久野先生に久しぶりにお会いすることができた。

一部で名前を聞いいていた「提言2005(http://www.ipsj.or.jp/12kyoiku/proposal-20051029.pdf)」はこの辺のメンバーが書いたということなのだな。

教育現場で使われている言語を10数件選んで、それぞれが20分の枠で何ができるかを紹介する、という趣向。私はお客さんのはずだったのだが、最後にあったパネルに出ることになった。

久野さんはばりばりJavaでやっているそうだ。色をやっと変えて丸が上下に動く程度のアニメーションしかできないわけではあるんだよなあ。

辰巳さんはJavaScriptを高校で教えた。確かにどこでもほとんど動くので良いよな。具体例を扱うのと、抽象化したモデルを扱うことの違いで、抽象を教えることの難しさを言っていたような気がする。教科書も書いたそうだ。ブラウザのドキュメントをコントロールしたりするのは教科書には書かなかったが、副読本のワークブックには載っている。

金子知適さん(graco)のC/C++。やっぱりつらそうだ。

足利裕人さんのBASIC。長いこと実践なさっているそうだが、まだ現役の言語でもある。教科書の出版社名をとことん伏字にしているため、話がさっぱりわからず。わかる人にはわかるわけだが余り意味はないはずなのだが、学校の先生はいろいろと心配しなくちゃいけないことがあるんだろうかね?

高岡詠子さんによるLogoの紹介。括弧のないLisp。タートルグラフィックスの肝がトライアル・アンド・エラーにある、というのは少々微妙な説明だったが、再帰やリスト処理を教えたいという点は確かである(さらなる感想は後述)。

湯浅さんのLisp。本人とても楽しそう。SICPとXSLispで授業をしている、という話だった。いつもちゃんと挨拶をする機会を逃しているんだよなあ。

松谷信治さん(内田洋行)のワンダーボーグ。学振とバンダイが共同開発したてんとう虫型ロボット。

阿部さんのSqueak。例のFAXねたをすいすいとその場で作ったのはなかなかインパクトあった。「完成度が低い(だっけ)」という項目をSqueakの欠点の欄にわざと残しておいて俺の受けを取る作戦だった模様。

岡田君の言霊Squeak。これもパネルのときに言ったのだが、やはりSeymourの言うようにそれぞれの人が自分向けの表記を作る可能性、というものを将来視野に入れて欲しい。長さんの質問というか意見はかなり正しくて、テキスト形式からタイルに戻したときに、その戻し方がエラーがあることのフィードバックになりうるのだ。

酒得さんのひまわり/なでしこ。面白い人だった。フリーソフト作りをしているということで生活の心配をされていたが、俺もされたいくらいではある。

兼宗さんのドリトルは、地道な努力、そして各地の先生方との人的ネットワークが強み。

長さんのTonyuはスイートスポットにはスポットはまっている。排他制御がどうなっているのか見ていないが、それなりにスケールしているようではあった。

西田知博さんはPENというやつを紹介していた。大学入試センター標準言語というものがあるのだな。Synthesizer Generatorを髣髴とさせる構造エディタでコードを書いていた。Alanが解釈するチクセントミハイのフロー理論によれば、構造エディタが作った構造も安心して壊せるように、壊した後の色々なサポートがあるとよいのだろう。

おにたまさんのHSP。ユーザーは30万人とか言っていた。コンテストも盛況の由。長さんは、TonyuのユーザーであればHSPを知らない人はいない、と言っていた。

鍛冶さんのRosetta。本当の強みは主張し切れていないようではあった。デモの中身をあらかじめPowerPointで紹介しておいて、その後デモと言ってほとんど同じものをもう一度見せる、というのはどうなのだろう。座長だった兼宗さんは意図的だったのか、このセッションの発表者達の発表時間オーバーには非常に鷹揚だった。

原田さんのViscuit。話しなれている。信号と車の例くらい複雑になると、いったいどうしてそうなるのかを説明するのが大分難しくなってきそうだ。仮にうまく動かないときに、どう変えたら思ったように動くのかとか。そういえば朝原田さんから驚きのニュースを聞かされたのだった。

この後パネル。僕は一般的にはパネルセッション懐疑派なのだが、それでもパネリストとして参加。受け売りのピジンクリオールの比喩を言ってみたり。ちょっとしたジョークを言ったのに滑った気がする。伊藤先生は、僕の「$100 Laptopが広まればパイが広がるのだからこの部屋の中で対立してもしょうがない。」という発言が、部屋の後ろのほうでは受けていたとおっしゃってくださったが。

「プログラミング」を教える、そして、構成主義的主張でモデルを自ら構築することによって学ばせる、という2点を見ると、論理的(?)な解のひとつは学習者が自分で言語を作る、ということになるだろう。岡田君のやつは、上級者用、初心者用の言語を切り替えると言っていたが、それぞれの人がどういう言語を欲しがるかを考え、それを自ら作れるような環境を作るのが理想かもしれない。

高岡さんは、高校ではLispに移行して、リスト処理や再帰の概念を教えるとよい、と言っていた。言語の違いとかによらないプログラミングの真髄を教える、ということなら、こちらも言語を作らせる、という話につながると思う。Lisp上での言語実装はリスト処理でかけるわけだし。パネルでは「やさしいメタ」という言葉を持ち出してみたが、エンドユーザー向けメタシステムを作るのが建設的だろう。

というようなことをパネル中に言おうかとも思ったのだが、パネリスト同士の対話などは特に求められていないみたいだったので危うく自制。なのでここで書いている。結局皆が人の話を聞くことなく言いたいことを言って終わるようなパネルになってしまった。

プログラミングの真髄というのは、だいたい合意があるものなのかね?またもAlanの某発言を引用すれば、「コンピューティングというのは禅みたいなもので、コンピュータからディスプレイを取り去り、キーボードを取り去り、CPUを取り去り、全部取り去った後で残るコンピューティングというのはいったい何なのか、という疑問なのだ」と言っていたが。

税金対策のため意見交換会という名前を借りた懇親会でいろいろな人と話せた。その後の2次会でも久野さんや原田さんや辰巳さんや並木さんと痛飲しつつ語り。韓国からは、高麗大学の李先生とそこの学生さんがたくさんいらっしゃっていたのだが、その学生さんの中には韓国SqueakerのKim君もいた。たっぷりと歓談。李先生は筑波大で兼宗さんと同期だったそうだが、韓国の学校での情報教育政策策定に関して非常に強い意思決定権をお持ちだそうだ。毛玉のガスタンクの例を気に入ってくださったようだし、韓国でもようやくSqueak熱が広まるかもしれない。

Kim君には、生命系かナノテクかを目指すのも面白い、と以前言ったことがあるのだが、Squeak熱が昂じて情報教育を専門としたそうだ。生命系は、黄教授の事件があってたいへんだっただろう、と彼が言うので、昔からN線みたいな変な話は常にあるので、余り極端に思いとどまることはない、と言ったりはしてみた。後でN線に関するWikipediaの項目を見てみると、状況は韓国の黄教授のやつに似ているところもたくさんあるのだな。

日本の現状に触れられたということで、思ったよりもかなり有意義な一日だったと思う。危機感を持っている人は持っている。が、何を教えるのかの統一された(とまではいかないが)方向性がないようなので、それを打ち出していくワークショップをまた開きたいということだった。

千鳥ヶ淵と靖国神社

東京見物の山宮さんについて行って、靖国神社の見物。久しぶり。桜の時期ということもあって多くの人が訪れていた。青い小さな花を模したバッジをつけたアメリカ人らしき集団がいたのでなにかなと思っていたのだが、絵馬見物をしているうちにその中のひとりが「これはなんなのだ?」と聞いてきたのをきっかけに少し歓談。Harvardから来たグループで、国会を訪れたりする予定もあるらしい。学生だけではなく先生のような人もいたので、きっとかなりまじめな訪問だったのだろう。

遊就館もだいたい見物。昔はもう少し「偏っているかも」と感じた記憶があるのだが、今はかなり当たり前に読む。俺が偏ってきたのか?ただ南京事件の説明などでは、「将軍が兵士を見捨てて兵士が便衣兵になった」という事実を書かずに、ひどいことがあったとだけ書くのも偏っているが、そちらだけを書くのも少々偏っている、という見方もあるのかもしれない。

ロマンスカー(後ろ向き)

箱根からの帰りは、プチ鉄阿部さんのたっての希望でロマンスカーの展望席最前列。しかし、実は最後尾の最後列しか空いていなかったのだ!すばらしい180度の眺めがどんどん自分から遠ざかっていくところを見るとやや気持ち悪くなる面もある。

箱根湯本から小田原までの間には、たくさん自家用踏切をもったお家があるのだな。楽しそう(危なそうだが)。

後ろ向きに進んだ後で列車が停止すると、列車が後退を始めたように感じる。この錯覚はかなり強烈で、新宿に着いたときには10mくらい(?)ずりずりとあとずさりしたのではなかろうか。前向きで止まってもそうは思わないのにね。