CS4HS @ University of Washington

最終日。日曜日だというのに多くの先生がちゃんとやってきた。もともと熱心だから来たわけではあるが。Stuartも昨日より一生懸命説明していた。彼は教えるのが好きなタイプだし。

そういえば、昨日も今日もセカチョーのデモを5分くらいやったのです。どのくらい意義が理解されたかはわからないけど。

大学の先生で、初めてEtoysを触ってから60分くらいで自動で動くPongを作ったりする人もいる。

Silver Cloud Innという宿に泊まって、そのシャトルサービスも使ったのだが、運ちゃんの若いおねえちゃんが面白かった。ラジオで「ルビーは愛のシンボルです」というようなニュースをやっていたりすると、「ああいうの気持ち悪いよね。ダイヤは愛のシンボルといったり。別にその辺の石に高い値段をつけて『愛のシンボルだ』といって奥さんに渡すのなんてあほらしい」というようなことをいろいろと陽気な口調でしゃべってくれる。Night on EarthのWinonaみたいであった。

CS4HS @ University of Washinton

UWはとてもでかい。

今日は午後のEtoysワークショップが我々にとってのメインイベントであるが、午前中はまずTom Daniel
による生物学とコンピュータサイエンスの話。ある種のタンパク質はDNAに働きかけて、ある鎖がタンパク質を作るか作らないかを決定する。そうやって生まれたり生まれなかったりしたタンパク質がまたDNAに働きかけて、というようにスイッチの連鎖が起こっている。その連鎖の図が書かれていたりして、これを計算に使えるのではないか、という話が始まっている。蛾にチップを埋め込んで、リモートコントロールするというプロジェクトもやっている(DARPAの資金だそうだ)。DNAを解読して、できてくるアミノ酸の鎖のエネルギーが最小になる折れ曲がり方を計算する、という"forward"方向だけではなく、ある形のタンパク質を作るためのDNAを逆向きに計算する、ということもできる。逆向きに求める場合は、複数の候補が出てくるが、それら同士をシミュレーションして比べて、自然淘汰的に良いものを選ぶというところまでやる。というようにホットな分野なので、高校の先生の皆さん、是非生徒にこの分野に進むように助言してください。という話だった。Tomは本当に楽しそうに話す。Alanは自分が大好きな話なのでTomの話にどんどん割り込んで言いたいことを言っていた。(Edも(Alanの話のときから)良く割り込んでいたが)。

Etoysのセッションでは、高校の先生がたが自分の速度でPowerful Ideas本を読みながら作業し、我々が周りを回る、という形であった。皆熱心なので面白いし、中には物理学の博士号を持っているとかそういう人もいてちょっと面白かった。まあできない人はできないのだけどね。

最後は、プログラミングの初歩を教えるときにどのような言語でどのようなやり方をすればよいか、という話をStuartがしていた。一番驚いたのは、MITのCSEEでもプログラミングの最初のコースでPythonを使っているということだな。インタープリタを作ったりという、プログラミング言語の面白いところはやらないようであった。それも時代なのかな。

CS4HS @ University of Washinton

Googleのスポンサーでこの夏行われている、Computer Science for High SchoolというシリーズのUW版に参加。昔(わ)さんの下でtransaction付き言語をやっていたときに(もっとがんばっておけばよかったと強く思う)論文を読んだりしたJeannette Wingは、今はNSFの偉い人になっている。AlanがUWのやつにも参加するつもりになったのは、「Jeannettとちょっと話ができるから」という理由もあったわけなのだが、彼女は遅刻してやってきて、本来45分割り当てられていた講演時間を20分に切り詰めて、「飛行機があるから」といって、そのまま帰っていってしまった。なんと。とっても元気な人だったが。

Alanの講演は2時間近く割り当てられていたので、たっぷりといろいろなエピソードを織り交ぜて。時々やるアリスタルコスがいかに地球の直径を計算したかというストーリーも、高校の先生相手でより受けていたかも。

午後はUWの見学だったが、俺はAlanAlan Borningのだべりに主に参加していた。

奥村先生の所でも話題になっていたCS UnpluggedのTom Cortinaが先生を使って実演していた。ビットレベルの話などよりも、メッセージングとかの話のほうが面白いのではないかとは思う。「コンピュータは命令されたことを実行する」という実演で、1人がある図形を見てその書き方をもう一人に伝えて書かせるという実演があったのだが、「これはコンピュータが物を実行するやり方でもなんでもない」ということで盛り上がった。5x5に並べられたピンクと黄色のポストイットのグリッドにparity bitをつけてエラー検出する例で(結果として6x6のグリッドになる)、右下の角のビットの意味に関する説明に納得がいかなかったので質問したり。このビットはparity bitたちのparityになっているという話だったが、実はどんなビットを立てておいても良くて、そのビットが変わってしまった場合は他のすべてのビットに一貫性があることから、そのビットが変わったことが推論できるのだ。

夕方は大学近くの盛り場どおりを歩いたりもしたが、もうさっさとお休みである。

急なSeattle

急に決まった出張で、Seattleへ。今日は実際には予定は無い純粋な移動日で、移動時間にも余裕があったので11:00 amのフライトにしてみた。午後観光する元気があるかもという下心があったわけではある。

Easy Checkinをするときに、"are you interested in volunteering to relinquish your seat..."とか何とか言う、「オーバーブックしてしまっているので席を譲る気は無いか」というダイアログが出た。"interested in"というなら、さらにもう一度くらい確認画面が出るのかと思ったら、実は一発で決定になってしまうというインターフェイスだった。

只券をもらったし、もしかしたら予定通りの便にも乗れるかもしれないし、というわけでギャンブル心もうずいたのだが、次の便である4:30も何らかの理由で逃して今日中に着かないと恥ずかしいので、カウンターに行って取り消してもらった。でも、飛行機に乗って様子を見ると微妙に席が空いていたのだよな。只券損した。

OLPCのTrial-2向けにやらなくてはいけないこともあるのだが、ディスクイメージをダウンロードするのに時間がかかるということを口実に、昨日のLispもどきインタープリタの改良。いろいろなコードを単純化して、静的スコープに変えて、defineとifなども実装して、id:propellaさんのJoyShellを完全にパクリ、GUIで対話的に実行できるようにした。内部のデータ構造がCokeに似ているので、"Pepsi" ("not quite the real thing")、"Jolt" ("high caffeine")とかいうnaming convensionに従い、「偽コーク」という意味を込めて"McCOL"というタイトルが表示されるようにしてみた。上の欄にはトップレベルの環境が表示され、中のところには過去の記録が出る。

ということはさておき、SeattleはVancouverにも似てよい街だ。天気というものも存在するし、海と入り組んだ楽しさと、歩ける街と静かな暮らしが垣間見える家々。というわけで、夕方の会議のときに、「度の街も大体LAより良い街だということがわかってきた」と言ったら、「BostonやChicagoやSan FranciscoやSeattleのような良い街ばっかり見ているから、その意見はとっても偏っている」とScottに返された。まあそうかもしれん。

Seattleの空港は、いまどき珍しく日本語がえらくのさばっていた。そんなに需要があるとも思えんが。