2009-12-10 Thu
■ ドリトルで再帰 [dolittle]
山宮さんのつぶやきで見に行ったページでSchemeの再帰が紹介されて
いました。
(define (FOREVER x)
(display x) (FOREVER x))
(FOREVER "LOVE ")
さっそく、ドリトルに移植。
f=「|x| ラベル!(x)作る。自分!(x)f」。
!"LOVE"f。
実行すると無限ループになります。Schemeは無限に実行されますが、ドリ
トルは末尾再帰の最適化をしていないので、途中でスタックが溢れて止ま
ります。手元で試したら518回実行したところで停止しました。

2009-12-03 Thu
■ KNOPPIXでドリトル [infoedu][dolittle]

所沢の寶迫先生からCDをいただきました。起動すると、Linuxの画面になり、
きれいなフォントでドリトルを実行できます。面白かったのは、ウィンド
ウの終了時に木っ端微塵になること。最近のウィンドウマネージャは凝っ
てますね!
2009-11-01 Sun
■ テクノフェア [unplugged][dolittle]

今日は大学祭と併設して行われるテクノフェアという科学イベントで、メ
ディアコミュニケーションセンターと研究室が合同でアンプラグドとドリ
トルを出展します。会場は写真の右の建物の5Fです。職員さんが立派な看
板を作ってくれました。

始まる前は、ドリトルでプログラミング。端末2台で遊べる、ネットワーク
対戦型の戦艦ゲームを作りました。実際には、ほとんど使う暇がなくて残
念でした。

開始時間の10時を過ぎると、一気に家族連れが30人以上やってきました。
「最初は5人くらい来てくれるかな」「小学校高学年くらいの子どもが多い
かな」と漠然と考えていたのは吹き飛んでしまいました。このイベントは、
就学前から低学年の児童がお客さんだったんですか!!!
大勢を相手にパリティ手品で時間を使ってもらい、裏では「みかんゲーム
やMYUロボは大勢を相手にできないよ〜」と悲鳴が上がりながらも、いちど
に対応が可能なFAXゲームのワークシートをたくさんコピーしてもらったり
して、何とか対応できました。こういうスリリングな体験がイベントの醍
醐味です。:-)

MYUロボは子どもたちに大人気。記念撮影してもらっている子どもも。端末
室のコーナーでは、ドリトルのプログラミングとMYUロボの制御プログラミ
ングを並行して行いました。学生たちは大勢を相手に説明をしてくれました。


その裏では、次々と来場するお客さんを相手にアンプラグドが大活躍。順
路は「アンプラグド→ドリトル」なのです。

大変でしたけど、お客さんたちの笑顔を見ると疲れが吹き飛びます。

本当に小さい子どもも来ていました。プログラムは大変だけど、ロボット
が動くと楽しそうです。

何人か、年配の方も来てくれました。もしかしたら卒業生だったのかな。

お子さんたちがロボットに取り組んでいる間、ハノイの塔を楽しむお母さ
んも。

ロボットの説明図です。

今回は職員さんと学生たちが本当によく対応してくれました。すばらしかっ
たです。
私は午前の修羅場を過ぎたら時間ができたので、午後は全体の様子を見な
がら、Kindleに日本語フォントを入れていました。日本語のWebページも表
示できるようになって大満足。:-)

午後から寒冷前線で気温が下がり雨が降っていたため、打ち上げは後日に
延期。帰りにビールを買って自転車で帰ったところ、途中で穴が開いたら
しく、袋の中と自転車のカゴがびしょぬれになってしまいました。自転車
の振動、恐るべし。(運転が荒い?)
2009-10-31 Sat
■ テクノフェアの準備 [unplugged][dolittle]

今日は東京で情報教育シンポジウムのはずだったのですが、テクノフェア
の前日なのでいないとまずいかも...と思って研究室にいたら、案の定、
午後から学生が集まって来て準備をしてくれました。勘が当たってよかっ
たのですが、鍵が閉まっていたら、どうするつもりだったんだろう。
2009-10-18 Sun
■ ロボット富豪の日 [infoedu][dolittle]

中学校の技術科の授業で使うことのできるロボット教材を一同に集めて、
半日かけて使ってみました。

さまざまなロボットたち。車の形のものが多かったです。MYUロボは距離セ
ンサモジュールを付けたものを使ってみました。

プログラムの作成方法もさまざま。画面にチャートやブロックで作ってい
くものが多かったです。テキストで入力するのはドリトルを採用している
MYUだけでした。チャートやブロックのものも、見てわかるように千差万別
です。少し使ってみただけでも、かなりの違いを感じました。

プログラムの転送方式もさまざまです。昔のモデムのようにイヤホン端子
から変調した信号で送るもの、RS-232Cのシリアルポートから送るもの、
USBから送るものなど。変わったところとしては、本体の先端がUSBの端子
になっていてケーブルなしでパソコンに差し込めるものや、画面を点滅さ
せてプログラムを転送するものがありました。

できることもさまざまですが、ライントレースができるものは多いようで
した。それしかできないと自由度が少なくて面白くありませんが、少ない
時間で使うには用途が限定されていたほうが適した面があるのかもしれま
せん。

これは赤外線?を出すボールを検出して追いかける、サッカーロボット。
授業で使うには高価すぎるので、参考的に使ってみました。
比較した結果は考察中です。徐々に研究会などで報告していきたいと思い
ます。
2009-09-18 Fri
■ ドリトル改良中 [dolittle]
ドリトルの本と同時にV2.0をリリースしてから、そろそろ1年になります。
その間の改良や不具合の修正を取りまとめて、V2.1としてリリースすべく
準備を進めています。ご期待ください。
2009-09-10 Thu
■ 集中講義(4) [dolittle][infoedu]

授業をしたキャンパスからは大阪方面を一望できます。

午前は班ごとに自由演技。ブザーの音楽やアームの振り付けなどを使って、
シンクロした動きを披露してくれました。
2009-09-09 Wed
■ 集中講義(3) [dolittle][infoedu]

3日目の午前はロボットカー製作。手際よく進めてくれ、早い学生は2台目
を作ってくれました。

午後は廊下に課題コースを作って規定演技の発表会。会議で近くに来た学
長先生が立ち寄ってくれました。

今日のゲストは静岡大学の紅林先生とスタジオミュウの井上さん。ロボッ
ト制作の勘所などを学生たちに伝授してくれました。
2009-09-08 Tue
■ 集中講義(2) [dolittle][infoedu]

最初の2日間はドリトル。午後の2時間で、全員が自分で考えた作品プログ
ラムを作ってくれました。発表会ではちょうどいいタイミングで新川先生
が見に来てくれました。

帰りもピザ屋のスクーターを見かけた気がしますが気のせいだったかも。
2009-09-07 Mon
■ 集中講義(1) [dolittle][infoedu]
4日間の集中講義が始まりました。初日のドリトルは一橋大学の長先生と千
里金蘭大学の中野先生(4日間)が参加。いろいろな方々が見学やお手伝いに
来てくれて、ありがたいことです。(_ _)

これは帰りのバスから見かけた光景。某先生が困っていた着物の女性を適
切なバスに案内していたようです。

バスの後部座席から振り返ると、ピザ屋さんのようなスクーターが走って
いるのが見えました。
2009-08-23 Sun
■ ドリトル掲示板 [dolittle]

最近、いろいろな方のご協力で、ドリトルの掲示板が使われ始めています。
今日は使いやすいように、レイアウトを2ch風に変更してみました。
2009-08-05 Wed
■ もうひとつのドリトル本(2) [dolittle]
「ドリトル、eBASICによる計測・制御とプログラミング」紅林秀治・青木浩幸
7/17に発売された新しい本を出版社からいただきました。ありがとうござ
います。文字や写真が大きく、読みやすい印象です。
何気なく出版社のサイトを見ると、書籍のPDFを発見!すばらしいです。
2009-07-27 Mon
■ もうひとつのドリトル本 [dolittle]
「ドリトル、eBASICによる計測・制御とプログラミング」紅林秀治・青木浩幸
新しい本が7/17に発売されたそうです。おめでとうございます。私は読ん
でいないので中身はわからないのですが。
2009-07-10 Fri
■ 教育用言語交流会 [infoedu][dolittle]

新宿の貸し会議室で、日本の教育用言語を支えるコアなメンバーの密談会。
・スクイーク、スクラッチの阿部さん
・ビスケットの原田さんとお友だちの山口さん
・ドリトル、アンプラグドの兼宗
写真のPCはインテルのクラスメート。OLPCの対抗機(?)だそうです。
この3人で話すのは初めてです。やっていることも考えていることも立場も
違うのだけれど、「根っこでつながっているはず」という確信めいた予感
は正しかったようです。
米国でがんばっている大島さんや山宮さんの近況も聞けて嬉しかったです。
山宮さんはアーチストだったのですか!!
2009-07-07 Tue
■ 画像を切り替えながら移動 [dolittle]
ある方から「口をぱくぱくしながら動くパックマンのように、2つの画像を
切り替えながら移動したい」という質問をいただきました。タイマーは現
在が何回目の実行かをパラメータで受け取れます。回数が偶数か奇数かで
画像を切り替えると、お望みの動作になりそうです。
こういう、小さなTipsはどこかにまとめておきたいですね。
かめた=タートル!作る。
時計=タイマー!作る 0.5 間隔「|n|
「n%2==0」!なら「かめた!"ayumi.png"変身する」そうでなければ「かめた!"ayumiBlue.png"変身する」実行。
かめた!10 歩く。
」実行。
2009-07-03 Fri
■ ドリトル本の韓国語バージョン [dolittle]

ドリトル本が韓国で出版されたようです。翻訳にご尽力いただいた関係者
のみなさま、ご苦労様でした。
2009-06-30 Tue
■ 大学3年生にドリトルのネットワーク授業 [infoedu][dolittle]

ソフトウェア同士が通信するモデルを体験的に理解するために、授業でド
リトルのプログラムを入力してもらいました。題材はドリトル本で紹介さ
れているチャットプログラムです。
最初に先生(私)の端末をサーバーにして「ハロー」といったメッセージを
登録し、学生たちにそれを受信するプログラムを入力してもらいました。
私が「こんにちは」というメッセージを入力すると、全員の画面に表示さ
れます。これは、ある人がサーバーに登録したページを多くの人が閲覧し
ているWebのモデルです。
続いて、学生たちにメッセージを送信するプログラムを書いてもらいまし
た。写真はそのときのやり取りで、教室中が多いに盛り上がりました。こ
れはチャットや掲示板のモデルです。
続いて、隣の席の学生同士でサーバーを共有した2人チャット。そして、近
くのサーバーに複数人で接続するSNSのような形態に。自然と「○○番(の
IPアドレス)が盛り上がってるらしい」と人気のあるサーバーに人が集まっ
て、複数のコミュニティができてくるのが面白いところです。
ところで、この仕組みでは特にセキュリティを設けていないため、サーバー
に黙って接続すると、他人のチャットを覗き見できます。そして、他人の
名前を騙って参加することも可能です。写真の会話でも、「偽物やwww」
と本人が抗議してますね。(^^
感想では何人かが「端末のIPアドレスを知られるとセキュリティ的にまず
い」と書いていました。正解かどうかはともかく、考えるきっかけにはなっ
てくれたようです。来週の授業は座学でセキュリティについて解説する予
定です。どうやったら盗聴や成り済ましを防げるかを学生と考えてみたい
と思います。
2009-06-19 Fri
■ 名古屋市教育センターで研修会 [infoedu][dolittle][unplugged]
情報の科学の教育方法というタイトルで、15名くらいの高校の先生方にド
リトルとアンプラグドの講習会をしました。自己紹介などの能書きは最低
限にして、できるだけ実習をメインにした構成です。最初は少し堅めの雰
囲気でしたが、最後は先生方の満足した顔を見られて、名古屋まで来た甲
斐がありました。

夕方は連絡をくれた名古屋の先生と会食へ。待ち合わせた場所には、ビル
の壁に大きな観覧車がありました。同じぐるぐる回る遊園地の乗り物です
が、メリーゴーランドやコーヒーカップと比べて、観覧車は息が長く生き
残っていますね。連れて行ってもらったひつまぶしのお店は、風情のある
作りで満足できました。
2009-06-16 Tue
■ 大学3年生にドリトル [infoedu][dolittle]
病院の情報システムの基本もソフトウェア。というわけで、今日の授業で
は30分間いっしょに1行ずつ入力する練習をしてから、自由に作品を作って
もらいました。楽しんで取り組んでくれて、力作がいくつか生まれたよう
です。
2009-06-13 Sat
■ 「宝物拾いゲーム」の質問 [dolittle]
5章の「宝物広いゲーム」について質問をいただきました。掲示板のほうに
回答を書かせていただきました。
・「==」の意味
・トンボの残り数を表示する方法
・トンボをランダムに動かす方法
http://dolittle.bbs.fc2.com/
2009-06-13 Sat
■ 金沢高専でドリトル [dolittle]
8/22,23に金沢高専の夏休み体験入学で、
ドリトル言語で作る「ゲームプログラミング入門」が行われるそうです。
2009-06-05 Fri
■ 中学校のロボット授業を見学 [infoedu][dolittle]

いろいろな制御教材を比較する授業を見学しました。準備室には箱がたく
さんあって壮観です。

手分けしてお手伝い。校長先生も見に来てくれました。

いろいろな形のロボット。みな自動車型ですね。CPUを内蔵して自律的に動
きます。プログラムの転送方法は、ヘッドホン端子からの音や、画面を点
滅する光、USBケーブルなどさまざまです。

さまざまなプログラム画面。ブロック型が多いですね。あ、写真にはあり
ませんが、ミュウロボだけはドリトルの文字プログラミングでした。同じ
ように見えるブロックでも、考え方はそれぞれ違います。フローチャート
は入力が大変そうですね。

廊下で走らせる様子。廊下にノートパソコンを持ち出してデバッグも。
男の子たちは、いつの間にかロボット相撲大会になっていました。

お疲れ様でした〜。
2009-05-15 Fri
■ 三重大学のドリトル授業を見学 [dolittle]
研究会の合間に、三重大学教育学部の授業にお邪魔しました。担当は愛知
教育大学の鎌田先生です。本当はロボット製作の時間だったようですが、
私が来たことで急遽プログラミングコンテストに。学生さんは下を向いて、
手を上げながら作品に投票します。

学生たちの相互評価による最優秀作品は「カメ太最後の日」。街を歩いて
いたカメ太は、車と衝突してはね飛ばされてしまいます。車も大破なので
おあいこ...ということはありません。(^^

せっかく参加しましたので、学生さんを表彰させていただきました。賞品
はカメ太チョコです!

その他にも、風車がくるくる回るアニメーションや、家が吹き飛ばされて
しまうアニメーションの作品などがあり、楽しませていただきました。

教育学部の学生さんは、オーラが出ていて生き生きとしていますね。ドリ
トルを使ってくれてありがとう。よい先生になってください。

2009-04-15 Wed
■ ミュウロボの本 [dolittle]
作って学ぶ ロボット入門講座
速報です。ドリトルの実践でおなじみのミュウロボの本が出たそうです。
まだ読めていないのですが、ドリトルの話はまったく出て来ないと思いま
すが、何だか嬉しいですね。さっそくAmazonに注文してしまいました。
2009-03-20 Fri
■ Blog経由で読まれた本(2) [infoedu][dolittle][unplugged]
過去1年間程度の期間で、このBlogや関連するWeb経由で読まれた本です。
「へー、こんな本が読まれているのですか」というものを紹介します。
本ではありませんが、数学関係の番組DVDもありました。
たけしのコマ大数学科 DVD-BOX 第4期
意外なところでは、癒し系のおもちゃとか。
ペコッぱ 茶色
ドリトル関係では、やはりプログラミング関係の本が。
Rubyによる情報科学入門
アンプラグド関係では、数学関係の本が多く読まれたようです。アンプラ
グドはコンピュータ科学の本ではあるのですが、その基礎となっている数
学の面白さもたくさん取り入れられています。
すごくへんな立体―「立体だまし絵」づくりでエッシャーの世界を体感する!
へんな立体―脳が鍛えられる「立体だまし絵」づくり
エッシャーに魅せられた男たち 一枚の絵が人生を変えた (知恵の森文庫)
フェルマーの最終定理 (新潮文庫)
人はなぜ錯視にだまされるのか?
暗号解読 上巻 (1) (新潮文庫 シ 37-2)
暗号解読 下巻 (新潮文庫 シ 37-3)
錯視完全図解―脳はなぜだまされるのか? (Newton別冊) (Newton別冊)
2009-03-19 Thu
■ Blog経由で読まれた本(1) [infoedu][dolittle][unplugged]
過去1年間程度の期間で、このBlogや関連するWebで人気だった本を集計し
てみました。
上位の2冊はBlogの右側にいつも表示されています。おかげさまで、それぞ
れ第2版と第2刷になり、誤植などが修正されています。
「ドリトルで学ぶプログラミング」
「コンピュータを使わない情報教育 アンプラグドコンピュータサイエンス」
紹介したばかりの本も人気がありました。「どうして蜂の巣やサッカーゴー
ルは六角形なのか」「パイナップルは13/5角形!」といったワクワクする
話が次々と紹介されて、たまにドリトルのプログラムをはさみながら、最
後まで楽しく読み進められる本になっています。
「生き物たちのエレガントな数学」上村文隆、技術評論社
続く4冊は、教員向けに推薦した本が並びました。最初の2冊は、最近私の
周りで必読書になっています。これなしでは(情報)教育を語れません。:-)
3冊目は発表されたばかりで、新しい高校指導要領に対応した唯一の本です。
4冊目は人気の本の改訂版です。
「インストラクショナルデザイン」島宗理、米田出版
「パフォーマンスマネジメント」島宗理、米田出版
「情報科教育法 改訂2版」久野靖、辰己丈夫監修、2,520円(Amazon)
キーワードで理解する最新情報リテラシー第2版
2009-03-16 Mon
■ ドリトルが紹介されている本 [dolittle]
「生き物たちのエレガントな数学」上村文隆、技術評論社
樹木や貝、昆虫など、自然界のフラクタル的な美しさを解説しています。
ところどころにドリトルで書かれた数行の短いプログラムが紹介されてい
て、本文で説明したことを読者が確認できるようになっています。著者は
岐阜県の中学校教員だそうです。すばらしい本をありがとうございました。
2009-03-01 Sun
■ カメ太チョコ [dolittle][life]

本日、特注品のチョコが届きました。

なんと、カメ太チョコです。

一見同じに見えますが、

別売の台を取り寄せておくと、食べた後の包み紙を巻いて、オリジナルの
マグネットを作れます。せっかくデザインした紙を捨てずに済むのはいい
アイデアですね。
昨日届いていれば研究会で配れたのですが、一日遅れでした。少し残念。
2009-02-28 Sat
■ ドリトルとC#の比較 [dolittle]

「第98回コンピュータと教育研究会」でドリトルの飛行船制御を発表して
くれたKCGの高瀬さんのスライドは、ドリトルV2の画面がテンプレートに
なっていて、まるでドリトルでプレゼンをしているようでした。上には編
集画面の切替タブがあり、下には実行ボタンがあります。これはアイデア
ですね!
同じ飛行船制御の課題をドリトルとC#で学生に実装させたところ、次のよ
うな工数の違いがあったそうです。言語学習で5倍以上、実装で約2倍の効
果があるのですね。貴重な情報をありがとうございました。
| ドリトル | C# | |
| 言語学習 | 6日 | 45日 |
| 設計 | 6日 | 6日 |
| 実装 | 6日 | 11日 |
2009-02-27 Fri
■ 論文のオンライン化 [infoedu][dolittle][unplugged]
情報処理学会でも、来年度(4月)から研究会や論文誌の原稿がオンライン化
されることになりました。いくつかの研究会で試行が開始されています。
今日からの「第98回コンピュータと教育研究会」の発表は、電子図書館の
「オンデマンドサービス」からアクセスできます。
・概要の表示: 無料
・原稿(PDF)の閲覧(ダウンロード): 研究会登録会員は無料
入会と研究会の会員登録をしていただくと、その年度に開催される当該研
究会の発表原稿をオンラインで閲覧できるようになります。とても便利だ
と思います。
・情報処理学会への入会: 小中高等学校の教職員の方は準会員の制度があります。学生会員は1つの研究会登録が無料です。
・研究会の登録: CE研はフロンティア領域の「コンピュータと教育研究会」です。
入会していただくと、私が編集委員をしている会誌「情報処理」も閲覧で
きるようになります。ぜひご覧ください。
2009-02-27 Fri
■ 2/28にアンプラグドの報告発表をします [unplugged][dolittle][infoedu]
明日2/28(土)の午後は、電気通信大学(東京都調布市)で行われる
「第98回コンピュータと教育研究会」でアンプラグドの状況について
報告する予定です。関連する発表も多くありますので、ぜひ聴きにきてく
ださい。事前の申込は不要です。資料代は一般3千円、学生千円です。
午前は、私の司会で4件の発表があります。[16]は小学校での実践報告です。
[17]はドリトルを使った中学校での実践報告で、新しい指導要領に対応し
た「計測」の授業提案です。[19]は大学での技術者教育の実践報告です。
2月28日(土)
9:30〜11:30
座長: 兼宗 進(一橋大学)
[16]佐藤 和浩(千葉市立千城台東小学校)
小学校中学年におけるロボット教材を導入した学習実践について ー9才の情報教育ー
[17]西ヶ谷 浩史(静岡大学教育学部附属島田中学校),青木 浩幸(高麗大学),井上 修次 (スタジオ・ミュウ),紅林 秀治,江口 啓(静岡大学)
自律型3モータ制御ロボット教材を使った計測の授業
[18]小田井 圭,小野 博敏,小松 恵一(湘北短期大学)
短期大学における組込みシステムプログラミング用基板の開発と取り組み
[19]早川 栄一,高橋 丈博,青嶌 健一(拓殖大学)
情報系工学科におけるロボットを用いた組込みシステム教育の実践
午後の最初のセッションは、高校の新指導要領に関連した発表があります。
[21]は教科「情報」の位置付けに関する分析、[22]は教科「情報」の教員
養成で獲得すべき知識体系の提案です。
13:00〜14:30
座長: 立田 ルミ(獨協大学)
[20]渡邉 景子(いわき明星大学),柴田 和聖(いわき総合高等学校),高崎 潤平,中尾 剛(いわき明星大学)
教科「情報」実施状況調査:これまでのまとめと今後の展開
[21]中野 由章(千里金蘭大学)
新しい高等学校学習指導要領(案)における教科「情報」
[22]辰己 丈夫(東京農工大学)
情報科教育法の知識体系
午後の2番目のセッションはアンプラグド関係です。[23]では私が国内外の
アンプラグドの状況を報告します。[24]は4章のパリティを通信に応用した
新しいアクティビティの紹介と中学校での実践報告です。[25]は大学祭で
実施した研究室紹介イベントの報告です。[26]は身体的なハンディキャッ
プを持つ方にアンプラグドを体験してもらうためのオンラインコンテンツ
の提案です。
14:45〜16:45
座長: 辰己 丈夫(東京農工大学)
[23]兼宗 進(一橋大学),久野 靖(筑波大学)
コンピュータサイエンスアンプラグドの状況と今後の展開
[24]井戸坂 幸男(松阪市立飯南中学校),西田 知博(大阪学院大学),兼宗 進(一橋大学),久野 靖(筑波大学)
中学校におけるCSアンプラグドの授業提案
[25]嘉田 勝,会沢 成彦,西村 治道,藤本 典幸(大阪府立大学)
大学祭でのCSアンプラグド博物館型展示企画の実践
[26]間辺 広樹(神奈川障害者職業能力開発校),並木 美太郎(東京農工大学),兼宗 進(一橋大学)
「コンピュータを使わない情報教育」の学習法とそのデジタルコンテンツに関する研究
午後の最後のセッションでは、[29]でドリトルを使った専門学校でのオブ
ジェクト指向教育の実践報告があります。
17:00〜19:00
座長: 西田 知博(大阪学院大学)
[27]小田 まり子,一之瀬 峻(久留米工業大学),小田 誠雄(福岡工業大学)
見真似発音練習システムにおける口唇動作誤り指摘
[28]森川 治,戸田 賢二(産業技術総合研究所)
任意の画像を任意の位置に重畳表示することで大きさ理解を促進する簡易3次元表示方式
[29]高瀬 えりか,村上 智史,後藤 洋信,坂本 雅洋,江見 圭司(京都コンピュータ学院・京都情報大学院大学)
ドリトルを用いたオブジェクト指向チーム開発学習の実践と評価
[30]阿部 圭一(愛知工業大学)
C言語によるプログラミング教育についての省察
2009-02-22 Sun
■ 韓国で実験授業 [dolittle]
日韓の共同研究でプログラミングを使ったコミュニケーションを研究して
います。今週は一橋大学の長先生が高麗大学を訪問して、現地のコン(Kwon)
先生、青木先生と一緒に、大学生を対象にした実験授業をしてくれました。

写真はドリトルを説明するコン先生。上に「!」が見えますね!しかし、
手書きのハングル文字は難しい。。。

課題に取り組む学生たち。

青木さんも元気そうです。

よく見ると、漢字とハングル文字が混在!
関係者の方々、ご苦労様でした。いろいろと見えてきたことがありますの
で、分析してまとめていきましょう。
2009-02-20 Fri
■ 京都コンピュータ学院でドリトルの授業開講 [dolittle]
スプリングコースで「ドリトル入門 〜苦手克服!楽々日本語プログラミング〜」
という授業が開講されるそうです。担当は昨年11月の講習会でお会いした2人
の先生です。ご連絡ありがとうございました。楽しい授業になりそうですね。
2009-02-20 Fri
■ 新課程に対応した「情報科教育法」の教科書(3) [infoedu][unplugged][dolittle]
「情報科教育法 改訂2版」久野靖、辰己丈夫監修、2,520円(Amazon)
いよいよ2/24に発売されるそうです。詳しくは出版社のページをご覧ください。
現在、Amazonではタイトルが「情報化教育法」になっていますが、これは
新課程に対応した「情報科教育法」の教科書(2)で紹介した出版社のジョーク
の一環のようです。
2009-02-20 Fri
■ 文部科学大臣優秀教員表彰 [dolittle]

静岡大学附属島田中学校の西ヶ谷先生が、ドリトルの制御機能を使った
優れた技術教育で表彰されました。

この文部科学大臣優秀教員表彰は、「一時間で学ぶソフトウェアの仕組み」
を実践してくださった東大和高校の佐藤先生も受賞されたそうです。
おめでとうございます!
2009-02-19 Thu
■ 多倍長整数 [dolittle]

ドリトルに多倍長整数を入れてみました。写真は2^100(2の100乗)です。
今までの数値(倍精度実数)では有効数字が10桁ちょっとですが、bigintで
多倍長整数にしておくと、何十桁でも正確に扱えるようになります。
// 数値 i=2。 ラベル!(i!100 pow)作る。 // 多倍長整数 b=2!bigint。 ラベル!(b!100 pow)作る 次の行。
計算が正しいことを、UNIXのbcコマンドで検算してみました。
% bc
2^100
1267650600228229401496703205376
「bigint」の日本語名は未定です。「多倍長整数にする」だと長いですか
ね。かといって「整数にする」だと、気軽に使ってしまう人が出てきそう。
精度が高い利点はあるものの、sinなど実数関係の計算に対応していません。
めったに使わないので、英語名だけでも問題ないかもしれません。
この機能は、次のバージョンから利用可能です。こういった日々の改良を
次のリリースまで使ってもらえないのはもったいないですね。かといって、
正式版のリリースは、テストやマニュアルの準備などが必要で、どうして
も数ヶ月から半年程度の頻度になってしまいます。開発版(評価版)の公開
についても検討してみます。
2009-02-16 Mon
■ ドリトルの授業展開 [dolittle][infoedu]
公開授業の後である先生から、「私もドリトルを授業で使っていますが、
手探りの部分があります。1時間目で何を学んだら2時間目で何を学ばせる
のがよいか、といった標準的なカリキュラム案があると、教える先生には
役に立つと思います」というご意見をいただきました。
そういえば、先生方から評価の高い「1時間で学ぶソフトウェアの仕組み」
は1行ずつ入力させながら生徒に何を解説すればよいかを書いていますので、
そのあたりがよかったのかもしれませんね。
本の形でドリトルのテキストを作り、安心していた面がありますが、授業
を支援するためにもう少しできることがありそうですね。検討してみたい
と思います。ちょうど身近で数時間用のテキストが検討されていますので、
うまく行けば近いうちに何らかの形で公開できるかもしれません。
2009-02-16 Mon
■ 公開授業見学 [dolittle][infoedu]
先週末は公開授業を見学させていただきました。自分たちの行動を題材に
アルゴリズム的な考え方に導く中学校技術の授業と、ドリトルでプログラ
ミングを体験する高校情報の授業です。
公開授業ということで質の高い部分はありましたが、どちらも改善できる
点も多かったと思います。分科会に参加したのですが、指導者の方からの
指摘がないのは普通なのでしょうか。学校ごとの授業方針もあるでしょう
から、見学者からの指摘だけでは限界があると感じました。授業をしなが
ら自分を観察することは簡単ではありませんから、先生方へのフィードバッ
クがないのはもったいないなあ、と感じてしまいました。
2時間目はドリトルを使った授業をしてくださったのですが、見開きの2ペー
ジの学習内容の中に、「カスケード」「繰り返し」「ブロック」「図形オ
ブジェクト」「変数」「数式/変数を括弧で囲む」「メソッド定義」「パラ
メータ定義」など、生徒から見ると10個以上の新しい概念が含まれていま
した。今回は2回目の授業だそうです。別枠に「スモールステップの重要性」
として書かせていただきましたが「教える内容を分析して」「細かいステッ
プで」「クラスの8割くらいが理解したことを確認してから次に進む」といっ
た進め方をしていただければ、無理のない授業展開にできると思います。
2009-02-16 Mon
■ スモールステップの重要性 [dolittle][infoedu]
プログラムを教える場合には、そこに含まれる概念を分析しておくことは
重要です。ドリトルの場合には、生徒にとって知らない英単語や、身近で
ない記号(「{」や「;」など)を使わないことで余計な敷居は低いのですが、
逆に、生徒は早い段階から「プログラムを作る」という本質的な考え方に
取り組むことになります。
たとえばタートルを作る
カメ太=タートル!作る。
という1行だけを見ても、生徒は
・「タートル」というオブジェクトの種類。
・「!」によるオブジェクトの指定。
・「作る」という命令の送信。
・「作る」の実行によるオブジェクトの生成。
・「。」による文の区切り。
・「カメ太」という変数の概念。
・「=」による変数への代入。
という、数多くの新しい概念を理解することになります。
これらを言葉だけで伝えることは無理がありますので、授業では
カメ太=タートル!作る。
カメ太!100 歩く。
といったレベルの簡単なプログラムを題材に、
・意味を説明し
・少しずつ値を変えながら何度も実行させる
ということを繰り返しながら、最初は1時間くらいかけて、頭の中に「なる
ほど、プログラムはこうやって書けばいいのか」というモデルを作って行
きます。
言い換えると、生徒に対しては、
カメ太=タートル!作る。
カメ太!100 歩く。
というプログラムを示して「カメの作り方と動かし方を勉強しよう」と大
まかに説明するわけですが、先生自身が大まかな理解のままでは授業を作
れません。この2行を教えるために、先ほど書いたような、数多くの理解の
ステップに分解し、できるだけ「いちどに1個のステップごと」の形で進め
ることが必要です。
2009-02-15 Sun
■ 日本語という罠 [dolittle]
多くのプログラミング言語は命令や変数名を英語で書きますが、それらを
総称して「英語言語」と言うことはありません。そして、人間が読み書き
する英文(自然言語)と似ているかどうかを論じることもありません。プロ
グラミング言語は人間が書いて機械が解釈する言語(人工言語)であること
は、ほとんどすべての人に了解されています。
(人間の言葉(自然言語)の意味を解釈する人工知能の研究は行われています
が、プログラミング言語とは別物です。また、古くはMindから、最近では
ひまわり/なでしこのように、文法をできるだけ自然言語に近づけようとす
る試みも行われてはいます)
ドリトルは人工言語ですので、たまたまわかりやすいように命令や変数名
にその国の言葉(英語や日本語や韓国語や...)を使えるようにしていますが、
人間が読み書きする言語(日本語などの自然言語)とは関係がありません。
しかし、命令や変数の日本語を目にすると、「日本語で書ける」と思って
しまう人が存在するようです。ドリトルでも「日本語プログラミング言語」
と呼ばれて驚いたり、たまに「ドリトルの日本語は自然でない」と言われ
てさらに驚くことがあります。
特に教育用の言語としては、「現在身の回りで使われているほとんどすべ
てのソフトウェアやシステムは、人工言語で作られている」ということを
伝えたいので、「普段使っている言葉で話しかければコンピュータが意味
を理解して動いてくれる」といった誤解につながりかねない性質は、注意
して避けるように設計する必要があります。言い換えると、「人工言語は
自然言語に近いほうがよい」という発想は要注意です。
そのような理由から、「日本語で書ける」「日本語プログラミング言語」と
言われるたびに、言語の設計者としては注意が喚起されてしまうのでした。
2009-02-13 Fri
■ 増殖シミュレーション(2) [dolittle]

1/31に紹介した増殖シミュレーションでは、メソッドをサブルーチンのよ
うに使っていました。プログラムを細かくメソッドに分ける書き方は、慣
れると読みやすいのですが、慣れないとわかりづらいかもしれません。
「難しくて読めない」という感想をいただいたため、次のように展開した
プログラムを紹介しました。プログラムの流れとしては、こちらのほうが
わかりやすいですね。一方、それぞれの部分が何をしているかは、「ここ
は動かしている」「ここは成長させている」「ここは消滅させている」な
どの意味を自分で考える必要があります。
// パラメータ 成熟=16。 寿命=50。 // すべてのカメの性質を定義 (1:メス、2:オス) タートル:誕生=「 年齢=1。性別=乱数(2)。 「性別==1」!なら「自分!"ayumiKiiro.gif" 変身する」そうでなければ「自分!"ayumi.gif" 変身する」実行。 時計=タイマー!作る。 時計!「 自分!(乱数(180)-90)右回り 10 歩く。 年齢=年齢+1。 「年齢>=:寿命」!なら「時計!中断。自分!消える」実行。 」実行。 」。 タートル:衝突=「|相手| 「全部!(性別==1)(相手:性別!=性別)(相手:年齢>=:成熟)(年齢>=:成熟)本当」!なら「 自分!作る 誕生。自分!作る 誕生。自分!作る 誕生。 時計!中断。自分!消える。相手:時計!中断。相手!消える 」実行。 」。 タートル!ペンなし。 // 最初の10匹 タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。 タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。
このプログラムを作ったきっかけは、ねずみ算のシミュレーションについ
ての質問でした。基本的には倍々にしていけばよいのですが、2のn乗にな
るので、そのままでは2+4+8+16+...という形になって、2匹から始めて26回
程度の増殖で日本の人口並に増えてしまいます。デフォルトの0.1秒間隔の
タイマーで実行すると、わずか2.6秒後です。ドリトルのタートルが普通に
動くのは数百個が限度でしょうから、あっという間に遅くなって実質的に
止まってしまいます。そこで、このプログラムでは、寿命を設定したり、
偶然の出会いの要素を入れて、「少しの間楽しめて、運がよければ増殖し
て栄える」形にしてみました。
2009-02-12 Thu
■ ドリトル本のFlash化実験(2) [dolittle]
scribdでも本の原稿をFlash化してみました。150ページの変換は、issuuで
は10分くらいで終りましたが、scribdでは2時間以上かかったようです。
2009-02-11 Wed
■ ドリトル本のFlash化実験 [dolittle]

PDFを変換してくれるサービス(issuu)で本の原稿をFlash化してみました。
紙をめくりながら読むイメージで表示されます。矢印キーで移動できて便
利です。
2009-02-08 Sun
■ ゆっくり歩くの改良版 [dolittle]

以前ご紹介したゆっくり歩くの改良版プログラムを、隅田川高校の
m_shimizu先生から送っていただきました。後ろにも歩けます。
カメ太=タートル!作る。 カメ太:ゆっくり歩く=「|歩数| 歩幅=10。タイマー!作る(abs(歩数/歩幅))回数「自分!((歩幅)*(歩数/(abs(歩数))))歩く」実行 待つ。自分」。 カメ太!-100 ゆっくり歩く。
2009-02-05 Thu
■ ドリトルの授業利用地域 [dolittle]
オンライン版を使うと、教室のパソコンにインストールする手間がなく授
業で使えます。授業のたびに数十人の生徒がアクセスしますので、サーバー
側のログから、ある程度授業利用を判別することが可能です。正確でない
かもしれませんが、次の条件で「2008年10月から2009年1月までに利用の
あった地域」を地図にしてみました。使ったツールはGoogle Analyticsです。
(抽出条件)
・V1/V2のオンライン版へのアクセス
・8:00-18:00の時間帯の利用
・検索エンジン経由でない(ブックマークまたは特定ページからのリンク)

このように調べられるのはオンライン版の利用だけです。教室のパソコン
にインストールして授業をしている先生も多くいらっしゃいますので、実
際には地図に現れていない場所でも使っていただいています。
2009-02-02 Mon
■ キーボードからプログラム読み込みと実行 [dolittle]
そろそろ改良版(V2.1?)を出したいですね。今日は「ファイル読み込み」
と「プログラム実行」のキーボードショートカットを追加してみました。
次のバージョンで公開する予定です。
エディタのショートカットに加えたので、編集中しか使えません。(^^;
でも、プログラムを修正してすぐに実行できるのは便利ですね。
・Ctrl-O: ファイルを開く(MacはCommand-O)
・Ctrl-G: プログラムを実行(MacはCommand-G)
2009-02-02 Mon
■ V2の評価 [dolittle]
ドリトルを授業で使われている2人の先生から感想をいただきました。
ありがとうございます。V2を作ってよかったなあ、と思える瞬間です。
V2は使いやすくなりましたね。
○座標軸が表示されることにより、位置関係で悩まなくてもよくなった。
○図形オブジェクトにも衝突が定義できるようになったので、場合分けが必要が少なくなった。
○ボタンが左上端から並んでくれるので、位置を意識しなくてもよくなた。
○HTMLと同様のRGBカラーは教科書の色見本を使える。
授業も楽しいと好評です。
「方眼紙」の機能は、すごくいいですよね。この機能が使えるだけでも、V2にする
価値があると思えるくらい授業で役立っています。
移動した場合も簡単にわかるし、位置もとらえやすい。図形の少しの回転もよくわかります。
最近、発見した機能は、
カメ太!2 拡大する。
カメ太が大きくなり、生徒が喜んでいました。
2009-01-31 Sat
■ 増殖シミュレーション [dolittle]

オブジェクト同士が衝突したときに分裂するシミュレーションです。
・緑色と黄色がいる
・成熟するまでは何も起きない
・衝突すると3個が誕生し、元の2個は消滅する
・寿命が来ると消える
ほとんどの場合はすぐに全滅しますが、10回に1回くらい増殖します。
// パラメータ 成熟=16。 寿命=50。 // すべてのカメの性質を定義 (1:メス、2:オス) タートル:誕生=「 年齢=1。性別=乱数(2)。 「性別==1」!なら「自分!"ayumiKiiro.gif" 変身する」そうでなければ「自分!"ayumi.gif" 変身する」実行。 時計=タイマー!作る「自分!動く 成長」実行。 」。 タートル:動く=「自分!(乱数(180)-90)右回り 10 歩く」。 タートル:成長=「 年齢=年齢+1。 「年齢>=:寿命」!なら「自分!消滅」実行 」。 タートル:消滅=「時計!中断。自分!消える」。 タートル:衝突=「|相手| 「全部!(性別==1)(相手:性別!=性別)(相手:年齢>=:成熟)(年齢>=:成熟)本当」!なら「 自分!作る 誕生。自分!作る 誕生。自分!作る 誕生。 自分!消滅。相手!消滅。 」実行。 」。 タートル!ペンなし。 // 最初の10匹 タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。 タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。タートル!作る 誕生。
2009-01-29 Thu
■ 「1時間で学ぶソフトウェアの仕組み」の拡張例 [dolittle][infoedu]
「1時間で学ぶソフトウェアの仕組みのプログラムを、宝物を全部拾ったら
終了するように拡張したい」という質問をいただきましたので、サンプル
を書いておきます。1/12のプログラムの応用です。
1つ目は、画面に宝物の数を表示して、拾うたびに減らしていく方法です。
まず、残りの数を表示する「得点」というフィールドを作り、宝物の数を
入れておきます。宝物の数を変えたときは、この数字も変えてください。
得点=フィールド!作る 3 書く。
そして、自分の値を1減らす「カウント」というメソッドを定義します。こ
の中で、値が0になったときは「おめでとう!」というメッセージを表示し
て、タイマー(時計)を中断するようにしておきます。
得点:カウント=「自分!((自分!読む)−1)書く。「(得点!読む)<=0」!なら「ラベル!"クリア!"作る。時計!中断」実行」。
そして、カメ太の「衝突」のメソッドを、衝突したときに相手を消すこと
に加えて、得点をカウントダウンするように修正します。
かめた:衝突=「|相手| 相手!消える。得点!カウント」。
プログラムをまとめると、次のようになります。最後の3行が修正と追加を
した部分です。
かめた=タートル!作る。 左ボタン=ボタン!"左" 作る。 左ボタン:動作=「かめた!30 左回り」。 右ボタン=ボタン!"右" 作る。 右ボタン:動作=「かめた!30 右回り」。 時計=タイマー!作る。 時計!「かめた!10 歩く」実行。 タートル!作る "tulip.png" 変身する ペンなし 100 100 位置。 タートル!作る "tulip.png" 変身する ペンなし 100 -100 位置。 タートル!作る "tulip.png" 変身する ペンなし -100 100 位置。 かめた:衝突=「|相手| 相手!消える。得点!カウント」。 得点=フィールド!作る 3 書く。 得点:カウント=「自分!((自分!読む)−1)書く。「(得点!読む)<=0」!なら「ラベル!"クリア!"作る。時計!中断」実行」。
別解としては、宝物を配列に入れておき、衝突するたびに配列から削除し
て、配列が空になったら「おめでとう!」というメッセージを表示して、
タイマー(時計)を中断する方法もあります。宝物の数を設定しなくても
済む利点はありますが、プログラムはわかりにくいかもしれません。あと、
画面に宝物の数が表示されません。
まず、配列を作ります。
宝物たち=配列!作る。
続いて、宝物を作り、配列に入れます。
宝物たち!(タートル!作る "tulip.png" 変身する ペンなし 100 100 位置)書く。
宝物たち!(タートル!作る "tulip.png" 変身する ペンなし 100 -100 位置)書く。
宝物たち!(タートル!作る "tulip.png" 変身する ペンなし -100 100 位置)書く。
そして、衝突したときに配列から削除して、配列が空になったときの処理
を記述します。
かめた:衝突=「|相手| 相手!消える。宝物たち!(相手)消す。「(宝物たち!要素数?)<=0」!なら「ラベル!"クリア!"作る。時計!中断」実行」。
プログラムをまとめると、次のようになります。最後の5行が修正した部分
です。
かめた=タートル!作る。 左ボタン=ボタン!"左" "LEFT"作る。 左ボタン:動作=「かめた!30 左回り」。 右ボタン=ボタン!"右" "RIGHT"作る。 右ボタン:動作=「かめた!30 右回り」。 時計=タイマー!作る。 時計!「かめた!10 歩く」実行。 宝物たち=配列!作る。 宝物たち!(タートル!作る "tulip.png" 変身する ペンなし 100 100 位置)書く。 宝物たち!(タートル!作る "tulip.png" 変身する ペンなし 100 -100 位置)書く。 宝物たち!(タートル!作る "tulip.png" 変身する ペンなし -100 100 位置)書く。 かめた:衝突=「|相手| 相手!消える。宝物たち!(相手)消す。「(宝物たち!要素数?)<=0」!なら「ラベル!"クリア!"作る。時計!中断」実行」。
2009-01-28 Wed
■ 「1時間で学ぶソフトウェアの仕組み」の実践 [dolittle][infoedu]
11/6にこのBlogでご紹介した1時間で学ぶソフトウェアの仕組みは、静かな
盛り上がりを見せているようです。最近もいくつかのBlogで取り上げていた
だきました。
(昨年の実践報告)
・1時間でやってみたソフトウェアのしくみ(2008/11/21 情報科Blog)
動き始めると、「おぉ〜っ!」「わぁ!」などの声がいろいろなところから聞こえてきます。
最後に感想や自己評価をしっかり取りたかったのですが、熱中してなかなかやめてくれない生徒が数多くいました。
準備はドリトルが動くブラウザがあればOKです。共有フォルダにドリトルを置いて配布しても良いでしょう。スライドは使ってもらってかまいませんので、ぜひ一度やってみてください。
・ドリトル、恐るべし!(2008/11/28 情報科メモ帳)
な、なんとクラス全員が授業が、とても楽しかった、楽しかったと回答しています。(楽しくなかった生徒は一人もいなかったのです)
(今年の実践報告)
・ドリトル、マジ半端ねぇ(2008/1/9 ありおり。 (日記))
名刺作成などは、かなり「受け」が良い授業なワケですが、本日行った授業は、それ以上に好評でした。
・ドリトルで学ぶソフトウェアのしくみの授業(2009/1/26 ネットで教科「情報」日記)
・ドリトルで学ぶソフトウェアのしくみ~スライド編(2009/1/29 ネットで教科「情報」日記)
「わかった」「楽しかった」「やってみたい」のオンパレード!ドリトル、凄いです!
スライドは、こちらにおいてありますので、ご自由にどうぞ。
2009-01-19 Mon
■ Windows7でドリトル [dolittle]

Windows7のβ版の上でドリトルを動かしてみました。MacBook上の仮想
マシン(SunのVirtualBox)で動いています。
1) MSのサイトからβ版のISOイメージをダウンロード
2) VirtualBoxでインストール。メモリは1GBにしました
3) Windows7を起動後、JavaをSunのサイトからインストール
4) ドリトル(V2.00)をダウンロードしてdolittle.jarをクリック
Vistaの印象から「1GBで大丈夫かな?」と考えましたが、実際にはVM上と
は思えないほどサクサク動いています。軽くなった印象です。
今までWindowsでテストするときは別のパソコンを引っぱり出してきて使っ
ていましたが、いつも使っているMacの上で、VMを含めて無料でWindowsが
使えるようになってしまいました。テストのときしか使いませんが便利です。
2009-01-18 Sun
■ Linuxでドリトル [dolittle]

昨日のLinuxネットブックでドリトルを起動してみました。フォントも美し
く、よく見ないとWindowsの画面と見分けがつきません。十分に実用になり
そうです。
2009-01-16 Fri
■ 「もうひとつのドリトル」発表(追記) [dolittle]

1/14の並木先生の発表では、箱根から小金井の研究室に置かれたこの基板
と通信していたそうです。C言語で書いたドリトルの中間言語インタプリ
タ(VM)が移植されています。雑誌の付録の基板に「Webサーバー、ドリトル
インタプリタ、温度センサ、加速度センサ、ネットワーク」が載ってしま
うのですから、感心してしまいます。左側の水色の線はネットワークケー
ブルです。
2009-01-15 Thu
■ 親ガメ子ガメのお絵描き [dolittle]

一橋大学の長先生の発表では、大学での「ドリトルを使ってフラクタル図
形を描く授業」が報告されました。子ガメは姿だけでなく歩く距離も小さ
くなるそうです。学生たちの作品は不思議な図形が描かれていました。
2009-01-15 Thu
■ 3歳から使えるプログラミング環境 [infoedu][dolittle]

NTTの原田さんの発表では、ビスケット(絵で動作を示すプログラミング環
境)の新バージョンと、いろいろな子ども向けワークショップで使った経験
を報告してくれました。いちばん小さい子どもは3歳でキャラクタの動きを
定義できていたそうです。
小学校高学年以上は文字を入力できるのでドリトルなどでプログラムを書
けますが、それより小さな子どもにはビジュアル的な環境は有効だと思い
ます。ビスケットは2つの円にキャラクタを置くことでルールを定義します。
画面にはそれほど多くのルールを置くスペースがありませんので、高校生
や大学生も、俳句のように研ぎすまされた短い表現を楽しめると思います。
2009-01-14 Wed
■ 「もうひとつのドリトル」発表 [dolittle][infoedu]

今日は記念すべき第50回のプログラミングシンポジウムで、農工大の並木
先生による「もうひとつのドリトル」(μDolittle)の発表が行われました。
すでに10種類近くの組込用CPUで動作しています。発表では、会場のネット
ワークから農工大の研究室に置いてあるワンチップボードにhttpの通信を
行い、写真のようにプログラムのリモート実行や温度計測などを行ってく
れました。ドリトルにとってひとつの記念日です。
2009-01-12 Mon
■ 得点のカウントダウン [dolittle]

ポイントをカウントダウンしていき、0点になったら終了するプログラム例です。
// 得点のカウントダウン。
// 得点フィールドに「加算」という命令を定義している。
// 衝突したときに得点を減算する。0点になるとメッセージを出して終了する。
得点=フィールド!作る 10 書く 0 100 位置(水色)塗る。
得点:カウント=「自分!((自分!読む)−1)書く。「(得点!読む)<=0」!なら「ラベル!"終了"作る。時計!中断」実行」。
「|n| タートル!作る ペンなし "tulip.png" 変身する(n * 45 - 350)0 位置」!15 繰り返す。
かめた=タートル!作る ペンなし -370 0 位置。
かめた:衝突=「|相手| 相手!消える。得点!カウント」。
時計=タイマー!作る「かめた!10 歩く」実行。
2009-01-11 Sun
■ 外部MIDI対応 [dolittle]
ドリトルの音楽機能はMIDIを使って演奏しています。標準ではJavaのソフ
トウェア音源(楽器の音を演奏するための音の素材データ)を利用しますが、
「外部の専用の音源で演奏したい」という声をいただいたため、現在対応
できるようにドリトルのプログラムを修正しています。
Roland SD-20C STUDIO Canvas
まず、外部音源を入手しました。ローランド(Edirol)のSD-20です。

セットアップは多少試行錯誤が必要でした。まず、開発機のMacBookにドラ
イバをインストールしUSBで接続します。しかし、ドリトルからデバイスが
検出できません。原因は2つありました。追加の設定とJavaの問題です。
まず、SD-20をMacに接続した後は設定が必要でした。でも付属の冊子マニュ
アルには記述がありません。たまたま「付属CDのドライバが古いのなか?」
と考えてダウンロードしたドライバの説明書(PDF)を見て気付きました。

Mac標準のツールである「アプリケーション/ユーティリティ/Audio MIDI
設定」を起動し、検出されたSD-20からデバイスを3個追加しました。Macの
ツールはおしゃれですよね。右上のSD-20のアイコンから、下に追加した3
個のアイコンに曲線で入出力を接続するのは楽しかったです。この画面か
らは動作を確認できるため、正しく接続されたことを確認できました。
しかし、Macからは見えるようになったはずなのに、ドリトルからは見えま
せん。さんざん調べた結果「MacのJavaからは外部のMIDI装置が見えないの
が仕様」らしいことがわかりました。これはどこにも記述がないため、偶
然どこかのサイトで見かけなければ気付かないところでした。解決策は唯一、
Mandolaneという$5のシェアウェアを使うしかないようです。

そんなわけで思わぬところで時間を取られましたが、何とか無事にドリト
ルから外部のMIDI装置を使って演奏できるようになりました。これは装置
を選ぶダイアログです。確かに、専用の装置は音がいいですね。本物の楽
器が演奏しているような臨場感です。次のリリースに含めたいと思います。
今回、JavaからMIDIを扱うときに参考にしたサイトをメモしておきます。
・JavaでMIDI
・Java Sound Resources: FAQ: MIDI Programming
(追記)

ある先生から、高校生の作品プログラムを送っていただきました。曲を選
ぶと、レコードプレーヤーがぐるぐる回りながら音楽を演奏します。ちょ
うど外部装置に対応したところでしたので、生演奏と区別がつかないよう
なよい音質で楽しむことができました。力作をありがとうございます。
2009-01-10 Sat
■ 迷路抜けプログラム [dolittle]

ドリトルで迷路抜けプログラムを作ってみました。
アルゴリズムは次の簡単なルールです。
・右に壁がなければ右を向く。
・前に壁があれば左を向く。そうでなければ前に進む。
ゴールに到達すると動きが止まり、メッセージが表示されます。
壁の座標は80の倍数になるように配置します。
// 迷路を描く
カメ太=タートル!作る 20 線の太さ。
「カメ太!480 歩く 90 右回り」!4回 繰り返す 図形を作る -240 240 位置。
横線=カメ太!80 歩く 図形を作る 1000 1000 位置。
縦線=横線!作る 90 右回り 1000 1000 位置。
横線!作る -240 160 位置。
縦線!作る -160 160 位置。
横線!作る -240 80 位置。
横線!作る -80 160 位置。
縦線!作る -80 160 位置。
縦線!作る -80 80 位置。
横線!作る -80 0 位置。
横線!作る -240 -80 位置。
横線!作る -160 -80 位置。
横線!作る -80 -80 位置。
横線!作る -240 -160 位置。
横線!作る -160 -160 位置。
横線!作る -80 -160 位置。
横線!作る 0 80 位置。
横線!作る 80 80 位置。
縦線!作る 80 80 位置。
縦線!作る 80 0 位置。
縦線!作る 80 -80 位置。
縦線!作る 80 -160 位置。
// スタート位置
カメ太!ペンなし -200 200 位置。
// 探索メソッドたち
カメ太:前進=「
「自分!右壁なし?」!なら「自分!90 右回り」実行。
「自分!前壁なし?」!なら「自分!80 歩く」そうでなければ「自分!90 左回り」実行。
」。
カメ太:右壁なし?=「
tmp=衝突。flag=はい。衝突=「flag=いいえ」。
自分!90 右回り 40 歩く 40 戻る 90 左回り。
衝突=tmp。flag。
」。
カメ太:前壁なし?=「
tmp=衝突。flag=はい。衝突=「flag=いいえ」。
自分!40 歩く 40 戻る。
衝突=tmp。flag。
」。
// ゴール
ゴール=縦線!作る 240 -160 位置(黄)塗る。
ゴール:衝突=「時計!中断。ラベル!"おめでとう!" 作る 24 文字サイズ(赤)文字色 0 280 位置」。
// 実行
時計=タイマー!作る 50 回数「カメ太!前進」実行。
2009-01-03 Sat
■ カメ太からの年賀状 [dolittle]

懐かしいものが出てきたのでメモしておきます。昨年出版したドリトル本
で使ったカメ太の画像ファイルです。
・胴体は半径25、頭は半径9、手足は半径7の円
・手は頭から45度で配置、足はしっぽから30度で配置
という条件で、PostScriptのプログラムを書きました。これをPDFに変換し
て印刷用の原稿に取り込んでいます。新年に懐かしい再会がありました。
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 82 64
0.5 setgray
newpath 36.7 32 25 0 360 arc fill
0.8 setgray
newpath 9 48 7 0 360 arc fill
newpath 9 16 7 0 360 arc fill
newpath 59.3 54.6 7 0 360 arc fill
newpath 59.3 9.4 7 0 360 arc fill
newpath 70.7 32 9 0 360 arc fill
0 setgray
4 setlinewidth
newpath 36.7 32 25 0 360 arc stroke
newpath 9 48 7 0 360 arc stroke
newpath 9 16 7 0 360 arc stroke
newpath 59.3 54.6 7 0 360 arc stroke
newpath 59.3 9.4 7 0 360 arc stroke
newpath 70.7 32 9 0 360 arc stroke
2008-12-19 Fri
■ 授業でチャットプログラム [dolittle][infoedu]
12/5の都高情研で高校の先生方に体験してもらいましたが、ドリトルでは
生徒のパソコンの間でメッセージを交換するプログラムを簡単に作れます。
詳しくはドリトル本の11章をお読みください。授業で活用する方法につい
ては、改めて解説したいと考えています。

サーバー!"localhost" 接続。
名前="カメ太"。
サーバー!"msg" "" 書く。
メッセージ=フィールド!作る 200 45 大きさ −250 200 位置。
フィールド:動作=「
サーバー!"msg" (名前!": " (メッセージ!読む)連結)書く。
メッセージ!クリア。
」。
受信表示=リスト!作る 200 400 大きさ 0 200 位置。
直前メッセージ=""。
タイマー!作る 1 間隔 600 回数「
受信メッセージ=サーバー!"msg" 読む。
「受信メッセージ!=直前メッセージ」!なら「受信表示!(受信メッセージ)書く」実行。
直前メッセージ=受信メッセージ。
」実行。
2008-12-18 Thu
■ インストール版はインストール不要? [dolittle][infoedu]
先週、授業で使おうとしている先生から問い合わせをいただいて気付いた
のですが、ドリトル(V2)のインストールはzipファイルを展開するだけです
から、管理者権限不要で使えるのですね。V1ではインストーラを使ってい
ましたので、管理者権限が必要でした。V2は「ローカル版」と呼んだほう
がわかりやすいかもしれません。

現在はJavaがインストールされていないパソコンでは管理者権限でJavaを
インストールする必要がありますが、その作業を不要にするパッケージや、
Mac用のインストールパッケージも近日中にリリースしたいと考えています。
2008-12-07 Sun
■ アニメーションのサンプル [dolittle]

ドリトルでアニメーションプログラムを作るための簡単なサンプルです。
大学の授業用に作りました。
・図形オブジェクト(家と屋根)を動かす
・タートルオブジェクト(3個の花)を動かす
・ひとつの動きが終ってから次を動かす
・オブジェクトを消す
・背景を塗る
// 0.主役を作る
カメ太=タートル!作る。
// 1.家を描く
// (「屋根」の図形オブジェクトを作る)
「カメ太!100 歩く 120 左回り」!3 繰り返す。
屋根=カメ太!(赤)図形を作る。
// (「家」の図形オブジェクトを作る)
「カメ太!100 歩く 90 右回り」!4 繰り返す。
家=カメ太!(緑)図形を作る。
// (家と屋根を動かす)
時計=タイマー!作る「屋根!2 0 移動する。家!2 0 移動する」実行。
// 2.花を作り動かす
花1=カメ太!作る "tulip.png" 変身する ペンなし。
花2=カメ太!作る "tulip.png" 変身する ペンなし。
花3=カメ太!作る "tulip.png" 変身する ペンなし。
// (同じタイマーを使うと、「待つ」を書かなくても前の「実行」が終ってから実行される)
時計!8秒 時間。
時計!「花1!1 -1 移動する。花2!2 -1 移動する。花3!3 -2 移動する。」実行。
// 3.画面クリア
// (5秒後に3個の花を消して背景色を変える)
時計!5秒 間隔 1 回数「
花1!消える。花2!消える。花3!消える。
画面!(色!128 128 255 作る)塗る。
」実行。
2008-12-05 Fri
■ 「ドリトルで学ぶソフトウェアの仕組み」の研修会をやりました [dolittle][infoedu]

都高情研(東京都高等学校情報教育研究会)の「2008年度 第3回研究協議会」
で、高校の先生方を対象にドリトルのお話をさせていただきました。写真
は会場の東大和高校です。
前半は、このBlogの「1時間で学ぶソフトウェアの仕組み」を紹介しまし
た。すでにいくつかの授業で使われて、とても好評だったそうです。
・1時間でやってみたソフトウェアのしくみ
・ドリトル、恐るべし!(http://jyohoka.exblog.jp/10222741/ )
後半は、ネットワーク機能でチャットプログラムを体験してもらいました。
結果は大成功で、前半よりむしろ盛り上がったように思います。詳しくは
参加者の方のBlogをご覧ください。
・第3回研修会
・Let's ドリトル研修会(http://htanaka.exblog.jp/9986582/ )
・都高情研:第3回研究協議会に参加
ドリトルで学ぶプログラミング
やはり本があると便利ですね。「詳しいことは本で確認できる」という気
持ちがあると、教える側は些末なことに触れずに大事な部分を話せますし、
学ぶ側も安心して実習に集中できます。今回扱ったのは、前半は
「Activity5 宝物拾いゲーム」、後半は「Activity11 チャットを作ろう」
でした。
2008-12-03 Wed
■ いちばん軽いといちばん重い [unplugged][dolittle]

アンプラグド第7章「いちばん軽いといちばん重い(整列アルゴリズム)」
では、天秤を使っておもりの重さを比較します。実際の授業では天秤を用
意するのが難しいため、ドリトルで天秤プログラムを作ってみました。
プログラムの1行目で重さを軽い順に定義しておくと、マウスでクリック
して重さを比較することができます。カードの文字を空白で区切って並べ
ます。
カード定義="B F D A E C"。
カード=カード定義!" " 分割。
配列:クイック=「|; p l r ret|
「(自分!要素数?)>1」!なら「
p=自分!1 読む。tmp=自分!作る 1 位置で消す。
l=tmp!「|x| x < p」選ぶ。r=tmp!「|x| x >= p」選ぶ。
ret=l!クイック。ret!(p)書く。(r!クイック)!「|e| ret!(e)書く」それぞれ実行。ret。
」そうでなければ「自分」実行。
」。
結果=ラベル!"??" 作る 48 文字サイズ -60 -100 位置。
カウンタ=1。
ラベル!"おもり:" 作る -360 -180 位置。
ボタン!100 50 大きさ(色!128 255 128 作る)塗る。
ボタン:大きい=「自分!(赤)文字色」。
ボタン:小さい=「自分!(青)文字色」。
ボタン:ふつう=「自分!(黒)文字色」。
ボタン:選択中=「自分!(緑!暗くする)文字色」。
ボタン:動作=「
「:カウンタ>2」!なら「:カウンタ=1。結果!"??"書く。左!ふつう。右!ふつう」実行。
「:カウンタ==1」!なら「:左=自分。自分!選択中」実行。
「:カウンタ==2」!なら「「(左!読む)>(自分!読む)」!なら「:右=:左。:左=自分。」そうでなければ「:右=自分。」実行。「左:値>右:値」!なら「結果!((左!読む)!">"(右!読む)連結)書く。左!大きい。右!小さい」そうでなければ「結果!((左!読む)!"<"(右!読む)連結)書く。左!小さい。右!大きい」実行」実行。
:カウンタ=:カウンタ+1。
」。
カード表示=カード!作る クイック。
カード表示!「|c|
b=ボタン!(c)作る。
b:値=((カード定義!(c)何文字目?)+1)/2。
」それぞれ実行。
2008-11-30 Sun
■ 占いプログラム [dolittle]

昨年の授業でドリトルの作品を作った大学生に「作品を公開していいですか」
とメールしたところ、1年近くたって許諾の返事をもらいました。
さっそくオンライン版から使えるようにしましたので、実行してみてく
ださい。「開く」から「fortune.dtl」です。グラフィック系のプログラム
も楽しいですが、こういった文字系のプログラムも味がありますよね。
2008-11-27 Thu
■ ゆっくり歩く [dolittle]

ドリトルのタートルは、カメなのに「カメ太!200歩 歩く」と命令すると
一瞬で200歩歩いてしまいます。タイマーを使って、「ゆっくり歩く」とい
う命令を定義してみました。三角形や星などを描かせてみると、カメ太が
一生懸命描いている様子が見られて楽しいです。
これはドリトルの標準命令に加えてもいいかもしれませんね。名前はどう
しましょう。すでに「歩く」を使っていますので、今回は「ゆっくり歩く」
にしてみました。
カメ太=タートル!作る。 カメ太:ゆっくり歩く=「|歩数| 歩幅=10。タイマー!作る (歩数/歩幅) 回数「カメ太!(歩幅) 歩く」実行 待つ。カメ太」。 「カメ太!100 ゆっくり歩く 144 右回り」!5 繰り返す。
2008-11-26 Wed
■ 20の扉(2) [unplugged][dolittle][infoedu]

ドリトルのオンライン版(V2)に「20の扉」を追加しました。「開く」
から「up5-20q.dtl」で実行してください。標準のアイコンから選んだ
関係で、一部無理な質問になっています。(^^;
2008-11-24 Mon
■ 20の扉 [unplugged][dolittle][infoedu]

ドリトルで「20の扉」を作ってみました。アンプラグドでは「学習5 20の
扉(情報理論)」です。プログラムの質問と答えは変更可能です。1行目で配
列を作り、2〜5行目で次のように質問と要素を入れています。例は3段で
す(「3の扉」)。n段目には2^(n-1)個の要素を入れてください
・1,2,4,...のようにn段の質問を入れる。
・最後のn+1段に選択肢を入れる
オンライン版ドリトル(V2)に貼り付けて実行してください。
a=配列!作る。 a!"生き物?" 書く。 a!"乗り物?" "水の中?" 書く。 a!"楽器?" "飛ぶ?" "足は4本?" "足がある?" 書く。 a!"星" "トランペット" "自動車" "ロケット" "かぶと虫" "うさぎ" "さかな" "かめ" 書く。 level=(log((a!要素数?)+1)/log(2))。 n=1。 「 ラベル!(a!(n)読む)作る。 時計=タイマー!作る 1000 時間 「」実行。 yb=ボタン!"Yes"作る。 yb:動作=「:n=2*:n+1。nb!消える。yb:動作=「」。時計!中断」。 nb=ボタン!"No"作る。 nb:動作=「:n=2*:n。yb!消える。nb:動作=「」。時計!中断」。 時計!待つ。 ラベル!作る 次の行。 」!(level-1)繰り返す。 ラベル!作る 次の行。 ラベル!(a!(n)読む)作る。
「20の扉」はおもちゃが売られているのですね。オンラインのデモ版を教えて
もらいました。
20Q
2008-11-18 Tue
■ 「ドリトルで学ぶソフトウェアの仕組み」の研修会 [dolittle][infoedu]
情報の授業での活用法を紹介したことがきっかけで、12/5(金)に都高情研
(東京都高等学校情報教育研究会)の「2008年度 第3回研究協議会」で、
高校の先生方を対象にドリトルのお話をさせていただくことになりました。
情報A/C向けの話を中心に、情報Bでの活用法についても触れてみたいと
考えています。
2008-11-08 Sat
■ アンプラグドの勉強会 [infoedu][dolittle][unplugged]
半年近くお休みさせていただいたプログラミング・情報教育研究会(PUKAI)は、充電期間をおいて12月から再開することになりました。本が出たのでドリトルの新バージョン(V2)を報告しようかと考えたのですが、よく考えたら4月に「ドリトルV2」というタイトルで報告していたのですね。いっしょに発表された「ビューティフルコード」の印象が強くて忘れていました。(^_^;
そこで今回はアンプラグドを話すことにしました。おかげさまで1年前に本を訳してからいろいろな教育で使われてきましたが、考えてみると私が授業利用について直接解説したことはなかったかもしれません(本邦初公開!?)。当日は、「授業のコツやどのような単元の教材として使えるのか」といったことを、進めている研究や原著者からの最新情報を交えて報告したいと思います。
当日は事例も取り上げたいと考えています。アンプラグドを授業でお使いの先生は、よろしければどのような単元でどのような内容を扱ったかを、効果や工夫点を含めて兼宗(kanemuneあっとacm.org)までお知らせください。また、当日参加して説明していただける場合はその旨をお知らせいただけると助かります(「その一味」の勧誘です)。
プ会11@文京区内「CSアンプラグドとドリトル」
(2008/12/02(火)18:00〜)
高校教科「情報」でのアンプラグドとドリトルの活用
兼宗 進(一橋大学)と、その一味
せっかく本も出ましたので、当日は授業でのドリトルの活用法についても紹介させていただく予定です。参加される方は、お気軽にPUKAIのページからお申し込みください。
2008-11-06 Thu
■ 1時間で学ぶソフトウェアの仕組み [infoedu][dolittle]
プログラミングは、うまく使うと生徒の集中力や考える力を伸ばします。そして、身の回りの多くのソフトウェアがどのような仕組みで動いているのかを理解できるようになります。
ソフトウェアの仕組みの体験的な学習は、ドリトルを使うと以下に説明する1時間の授業(小中高では45〜50分、大学等では90分)で可能です。オンライン版のドリトルを使えば、あらかじめ教室のパソコンで動くことを確認しておくだけで、インストールの手間もありません。情報関係の授業をなさっている先生は、1時間だけ実施してみてはいかがでしょう。生徒の反応を見てから、改めて数時間の授業に発展させることも可能です。
題材は「宝物拾いゲーム」です。プログラムはテキストのp24にあります(ここでは教えやすいように若干変えてあります)。進め方は簡単で、生徒に見えるように自分の画面で1行ずつ入力しながら、生徒に入力させて、1行ずつ実行させて行きます。本は生徒には見せません。
まず最初に、「ゲームを作るために、画面に主役を作ろう」と言いながら1行入力します。入力が簡単なように、主役の名前はひらがなにしました。また、必要に応じて「=」「!」「。」などの記号の入力方法を伝えます。
生徒には先生の画面を見ながら同じように入力させ、実行させます。全員が実行できたか見て回りましょう。感度のいい学級では、早くもこの時点で「何か出た!」「カメだ!」と歓声が上がります。
かめた=タートル!作る。
続いて、「次にかめたを操作するボタンを作ろう」と言いながら1行入力します。
生徒が入力したら実行させて、「ボタンを作ったけど、押すとどうなる?」と問いかけます。
左ボタン=ボタン!"左" 作る。
生徒全員がボタンを押しても何も起きないことに気付いたところで、「押したときの動作を教えていないから、コンピュータは何をしたらいいかわからないんだね」と理由を説明します。そして、「押したときの動作をボタンに定義しよう。押したときにかめたを左に回すんだよね」と言いながら、1行入力します。
生徒が入力したら実行させます。キー入力の速い生徒と遅い生徒がいますので、エラーになっている生徒のフォローを含めて、ここで全体を見て回りながら足並みを揃えましょう。
左ボタン:動作=「かめた!30 左回り」。
高校生以上では、ここで「左回転のボタンができたから、右回転のボタンを追加してごらん」と言って、自分で作らせるのも効果的です。
続いて、(自分で作らせた場合は2,3分後に答え合わせを兼ねて)右ボタンを定義します。先生はプログラムをキーボードから入力していきますが、この2行と後から出てくる宝物の定義だけは、コピーして修正するのが便利です。入力が遅い生徒が多い場合には、コピーできることに気付かせるのもよいでしょう。
生徒が入力したら実行させます。ボタンでカメを左右に回転できるようになったことを確認させます。
右ボタン=ボタン!"右" 作る。 右ボタン:動作=「かめた!30 右回り」。
1分くらい操作させたところで「カメを回せるようになったけど、動かないと面白くないのでカメにエンジン(モーター)を付けてみよう」と言いながら2行入力します。
このとき、「いちどに200歩歩くと一瞬で動いてしまうので、0.1秒ごとに10歩ずつ歩くようにしてみよう」という説明を黒板に書くと、アニメーションのように動いて行く原理が伝わります。
生徒が入力したら実行させます。「動いた!」と声が出ることでしょう。すぐに画面から出て行ってしまうので、実行ボタンで何度でも実行できることと、ボタンで操作できることを伝えます。
これで、簡単なドライブゲームになりました。実行は10秒間で終ります。
時計=タイマー!作る。 時計!「かめた!10 歩く」実行。
参考までに、ここまでのプログラムをまとめて書いておきます。小学校では、ここまでのプログラムで十分かもしれません。
かめた=タートル!作る。 左ボタン=ボタン!"左" 作る。 左ボタン:動作=「かめた!30 左回り」。 右ボタン=ボタン!"右" 作る。 右ボタン:動作=「かめた!30 右回り」。 時計=タイマー!作る。 時計!「かめた!10 歩く」実行。

生徒には、2,3分遊ばせましょう。その後、「ゲームだから、宝物を拾うようにしてみようか。かめたは花を集めるのが趣味なんだって」と言いながら、1行入力します。
タートル!作る "tulip.png" 変身する ペンなし 100 100 位置。
生徒が入力したら実行させます。宝物は表示されましたが、カメと重なっても何も起きないことを確認させます。
次に、黒板にXY座標を描き、(100,100)の位置を図示しながら説明します。そして、生徒にこの1行をコピーして修正することで、画面上の異なる位置に3個の宝物を置くプログラムを作らせます。
続いて、「最後に宝物を拾えるようにしてみよう。たとえば、かめたと何かが重なったときに相手を消せば、拾ったように見えるよね」と言いながら1行入力します。縦棒記号は普段使わないので、入力方法を説明するとよいでしょう。
かめた:衝突=「|相手| 相手!消える」。
これで宝物拾いゲームは完成です。参考までに、プログラム全体を書いておきます。10行程度ですので、中学校以上であれば、余裕を持って取り組めると思います。
かめた=タートル!作る。 左ボタン=ボタン!"左" 作る。 左ボタン:動作=「かめた!30 左回り」。 右ボタン=ボタン!"右" 作る。 右ボタン:動作=「かめた!30 右回り」。 時計=タイマー!作る。 時計!「かめた!10 歩く」実行。 タートル!作る "tulip.png" 変身する ペンなし 100 100 位置。 タートル!作る "tulip.png" 変身する ペンなし 100 -100 位置。 タートル!作る "tulip.png" 変身する ペンなし -100 100 位置。 かめた:衝突=「|相手| 相手!消える」。

進度の速い生徒には、宝物を増やして5個にさせたり、次のように乱数のサンプルを示して、実行するたびに宝物の位置が異なるように拡張させるのも効果的です。
タートル!作る "tulip.png" 変身する ペンなし (乱数(600)-300) (乱数(400)-200) 位置。
また、テキストのように、ボタンの定義に "LEFT" や "RIGHT" を加えて、キーボードからかめたを操作できるようにすることもできます。
授業の最後では、5分くらいで構いませんので、今日体験したことの振り返りを行なってください。たった1時間の実習でしたが、生徒は実にいろいろなことを感じ取っているはずです。生徒から感想を引き出しつつ、次のようなことを板書などを含めて確認してみてください。
最後の「OS」はオペレーティングシステムと呼ばれるソフトウェアで、「Windows」「Macintosh」「Linux」などがあります。少し高度になりますので、最後の部分だけは生徒の反応を見て解説するかどうかを判断してください。
・プログラムがどんなものかわかる
・ゲームなどのソフトはプログラムで作られている
・プログラムは人間が書いている
・プログラムは特別な「言語」で書く
・文法が違うとエラーになる
・間違って書くと間違って動く
・書かれていないことは実行されない
・上から順に実行される
・ある状態になったときに実行される命令もある(ボタン、衝突)
・ソフトは自分たちで作れる
...
・キー入力やマウスカーソルもプログラムが表示している(OS)
...
小中高の授業で扱う多くの場合は、プログラミングの教育が目的ではありません。「ドリトルを教える」「プログラミングを教える」といった「〜を教える」という形の授業ではなく、上記のように適度なヒントを与えながら実習を行ない、そこから生徒が体験的に学んでいく学習が効果的です。
ドリトルを使うと、普段使っているゲーム機や携帯電話、ワープロなどのソフトウェアがどのような仕組みで動いているのかを体験的に学ぶことができます。ぜひ1時間だけでも授業に取り入れて、身近なソフトウェアの原理に触れさせてあげてください。生徒によっては一生に一度の貴重なプログラミング体験になるかもしれません。
中学校「技術・家庭」や高校「情報」の授業では、この実習を1時間やることで生徒が「ソフトウェア」と「プログラム」が何かを理解できるので、その後の授業がやりやすくなると思います。情報システムのような説明はもちろん、情報倫理のような話題でも「コンピュータウィルスは自然にできるものではなく、悪意を持った人間が作っている」と説明したときに、生徒に伝わるリアルさがまったく違って来るはずです。
2008-11-05 Wed
■ 秋のイベント [infoedu][dolittle][unplugged]
秋は体育祭と文化祭のシーズン。研究会のシーズンでもあります。
11/1(土),2(日)に大阪府立大学の大学祭で、理学部のオープンラボとしてパズルとゲームで知るコンピュータのしくみが行なわれました。終ってからの紹介ですみません。アンプラグドに独自の工夫を加え、多くの人に学習を体験してもらったそうです。今後、当日の様子が報告されるということで、とても楽しみです。
11/7(金)は、静岡大学教育学部附属島田中学校の教育研究発表会の技術分野で「ものづくり学習から育てる想像力と思考力」が行なわれます。1日かけて、距離センサーを使ったロボット制御について、公開授業、ワークショップなどを行なうそうです。ドリトルとMYUロボの授業実践に興味のある先生にとって有意義な一日になりそうです。
11/15(土)は京都情報大学院大学の「学校教員向け「モデル化とシミュレーション」および「マルチメディア活用」第4回 研修」で、私がアンプラグドの授業利用を解説する予定です。ドリトルを使った飛行船制御の解説もあります。
11/27(木)は「神奈川障害者職業能力開発校のオープンキャンパス」で、OAシステムコースでは「日本語プログラミングでロボットを操ろう」として、ドリトルとMYUロボの体験学習を行なうそうです。
12/2(火)は「プログラミング・情報教育研究会(PUKAI)」でアンプラグドとドリトルの授業利用を解説します。場所は都内を予定しています。詳しくは11/8の日記([2008-11-08-1])をご覧ください。(11/8追記)
12/5(金)は都高情研(都立高校の情報担当の先生方の研究会)でドリトルのお話をさせていただく予定です。(11/9追記)
12/20(土), 2/27(金),28(土)はCE研(情報処理学会 コンピュータと教育研究会)があります。12/20(土)に名古屋の金城学院大学で第97回研究会を、2/27(金),28(土)に東京の電気通信大学で第98回研究会を行います。情報教育に興味・関心のある方のご参加をお待ちします。
2008-11-04 Tue
■ もうひとつのドリトル打ち合わせ [dolittle]
一橋大学で、幅広いプラットフォームで動くドリトルに関する打ち合わせ。言語とOSとロボットと生物の研究者によるコラボレーションです。濃〜い話がスパークして、3時間があっという間でした。写真も撮り忘れてしまうくらい。現在のドリトル(V2)を大切に育てつつ、新たな展開も期待できそうです。1/14に記念すべき「第50回プログラミング・シンポジウム」で「ユビキタス・組込みシステムにおけるオブジェクト指向言語Dolittleの実装」として発表される予定です。
2008-11-01 Sat
■ ドリトル打ち合わせ [dolittle][unplugged]

筑波大学大塚キャンパスの部屋をお借りして、ドリトルの研究打ち合わせをしました。4,5ヵ月ぶりで話題も多く、あっという間に5時間が経ってしまいました。夜に居酒屋で出版のお祝い会をやりました。
2008-10-28 Tue
■ ドリトルV2 [dolittle][unplugged]
ドリトルの新バージョン(V2)をリリースしました。本の内容に準拠しています。機能が大幅に拡張されました。V1とは互換性のない部分があります。実行ファイルはWindows/Mac/Linuxなどで共通に動くようになりました。
出版社(イーテキスト研究所)の原社長のご好意で、本のPDFも公開することができました。ぜひ、本をお求めの上(^_^)、個人の学習用にお使いください。授業で必要な部分を印刷して生徒に配布することも可能です。
今後は、次のことを進めたいと考えています。
1.USBメモリなどに入れて使えるJava付きのパッケージ。
ファイルサーバーに置いておき、ソフトをインストールできない教室のパソコンから共有して使うことも可能です。
2.多言語機能。
現在は英語と韓国語に部分的に対応しています。今後、全体を見直して全面的にさまざまな言語に対応する予定です。
2008-09-20 Sat
■ ドリトルで学ぶプログラミング [infoedu][dolittle]
「ドリトルで学ぶプログラミング」兼宗進・久野靖、イーテキスト研究所
ドリトルの初めての本が出版されました。グラフィックス、ゲーム、音楽演奏、ネットワーク通信、ロボット制御など、プログラミングを独習したり授業で使える題材がたくさん紹介されています。
前半では、説明を読みながらサンプルプログラムを入力して行けば、自然とプログラムの作り方が理解できるようになっています。後半では、文法の解説や命令の一覧が掲載されています。
この本は、読み始めたその日からプログラムを書けるようになっているのが特徴です。5ページ目で早くもメソッド定義が出てきますので、すぐに自分の命令を作れるようになります。他の言語だと難しいですよね。
パックマンのように落ちている宝物を拾って歩くプログラムは30分程度で学べます。中学校や高校で「ゲームなどのソフトはこんなふうに作られているんだ」という体験に最適だと思います。
出版に際しては、共著者の久野先生、TeXの組版をお手伝いいただいた奥村先生、出版にご尽力いただいたイーテキスト研究所の原社長、校正を担当してくれた高麗大学の青木さんをはじめ、多くの方にご協力いただきました。感謝いたします。
2008-09-16 Tue
■ 松本歯科大 [infoedu][dolittle]

6月と9月に1回ずつ、情報入門の授業でお話しさせていただきました。倫理がテーマなのですが、今回の後半はドリトルで簡単なプログラムを作ってもらうことで、「ウィルスも誰かが作ったプログラム」ということを体験してもらいました。
私は学生さんの知識や理解度に合わせて内容をがらっと変える授業をしますので、初対面の6月は手探りで苦労しました。今回はだいたいわかっていたため、「十分理解できるが少しだけ難しい」授業ができたと思います。
2008-08-02 Sat
■ FujitsuKids2008 [infoedu][dolittle][unplugged]

富士通の子ども向けイベント「富士通キッズイベント2008 夢をかたちにするしくみ」で小学生にアンプラグドを体験してもらいました。
《続きを読む》
2008-05-04 Sun
■ 教育プログラミング研究会 [dolittle][unplugged][infoedu]

ドリトルとアンプラグドを対象とした研究会を、ほぼ隔月程度で行っています。今回は16名が参加しました。
《続きを読む》
2008-04-18 Fri
■ ビューティフルコード [book][dolittle]
美しいプログラミングに関する話を集めた「ビューティフルコード」が4/23に発売されるそうです。オライリーで行われたPUKAIの折に、担当編集者のAさんから発売前の本を1冊いただいてしまいました。
さっそく持ち歩いて読んでいますが、夢中になって電車の降りる駅を間違えそうになることもしばしばです。本文は640ページもあり、腕力が鍛えられます。訳者の久野先生とRubyのまつもとさんの巻末の対談でドリトルが紹介されていますので、読者の方がBlogを見に来てくれるかもしれませんね。
この本のもうひとつ嬉しいところは、説明用のコードがいろいろな言語で書かれていることです。普段、サンプルの文法くらいは見たことがあっても実際の(実用的な)コードを見たことがない言語は多いので、そのあたりも楽しみです。
2008-04-17 Thu
■ 神奈川障害者職業能力開発校を訪問 [infoedu][dolittle][unplugged]
ドリトルとアンプラグドを「ITに関する職業訓練の一環」として授業に取り入れている神奈川障害者職業能力開発校を農工大の並木先生と見学しました。
《続きを読む》
2008-04-11 Fri
■ ドリトルV2 [dolittle]
日記を更新していない間は、ドリトルの新バージョン(V2)を作っていました。
新しい機能があれこれ追加されています。5月中旬のリリースを目指しています。
3/29に評価版(V2.00プレビュー(1))を公開しました。さっそく150件以上ダウンロードされているようです。
機会を見て、追加された機能を紹介していきたいと思います。
2008-04-11 Fri
■ 色の混ぜ合わせ [dolittle]

ドリトルV2では、色の混ぜ合わせをできるようにしてみました。情報の教科書などに書いてある、光の混ぜ合わせ(図左の加法混色)と絵具の混ぜ合わせ(図右の減法混色)です。
色はディスプレイに表示されるときは光で表現されるので、減法混色は「それっぽく見える」程度かもしれません。
新色=光!(赤)(青)混ぜる。 新色=絵具!(赤)(青)混ぜる。
※「光」「絵具」オブジェクトは評価版(V2.00プレビュー(1))には含まれません。次回のプレビュー版または正式版をお待ちください。(実は今朝作ったばかりなのです)
2008-04-07 Mon
■ 教育プログラミング研究会 [infoedu][dolittle][unplugged]
ドリトルとアンプラグドを主なテーマに、隔月くらいで研究会をしています。
次回は連休の5/4に行います。詳しくは研究会ページをご覧ください。
日時: 2008年5月4日(日) 13:00-17:00
場所: 大日本図書(地下鉄丸ノ内線茗荷谷駅から徒歩)
発表:
・ドリトルV2と解説本の状況報告: 兼宗(一橋大学)
・アンプラグド改訂版: 原(イーテキスト研究所)
・ISSEPの発表相談: 井戸坂(飯南中学校)、紅林(静岡大学)、鎌田(愛知教育大学)
・キッズサイトの取り組み紹介: 立見(富士通)
研究会終了後に、簡単な懇親会を予定しています。
2008-03-28 Fri
■ 「2007日本語プログラミングコンテスト」の受賞作品が決定 [dolittle]
たくさんのご応募に感謝しています。
賞状と賞金(品)は、表彰式の行われる4/18以降に、本人宛または担任の先生を通じて発送させていただきます。
* 金賞: 空飛ぶドリトル(村上智史さん)
* 銀賞: タートリス(ahさん)
* 銅賞: JRDKP(自作ロボット動作確認プログラム)(エセタヌキさん)
* カメ太賞: カメ太の大行進(yanagida06さん)
* カメ太賞: アーケードゲーム(タケタさん)
* カメ太賞: 虹と北京五輪(野ヶ山竜生さん、眞貝友基さん)
* カメ太賞: 校内自律型ロボットコンテスト用のプログラム(T.奥村さん)
* カメ太賞: タイガースが由来なのはタイタニックであって”タイ”タニックではない!!(レドモンド式さん)
2007-12-03 Mon
■ 2007日本語プログラミングコンテスト作品募集開始! [dolittle]
「2007日本語プログラミングコンテスト」の募集が始まりました。
応募期間:12月1日~1月31日
審査期間:2008年2月1日~2月29日
結果発表:2008年3月中
「詩や小説のようなプログラム」「絵を描くなど芸術系」「自由課題」から選んで応募してください。
対象言語は、「なでしこ・葵・ひまわり作品」「TTSneo・プロデル作品」「ドリトル作品」の3部門です。
優秀な作品には、表彰状と賞品が渡される予定です。お気軽に作品を投稿してください。
ドリトルを使っている学校では、ぜひ生徒さんにもお知らせください。



















