[Squeak-ja: 2628] Re: はじめまして

Yoshiki Ohshima yoshiki @ squeakland.org
2005年 9月 9日 (金) 16:23:44 JST


  おおしまです。

  すばらしい背景と現場の状況説明をありがとうございます。

  僕が大学生の時は、Pascalが最初に習う言語で、「3辺の長さを入力してヘ
ロンの公式を使って結果を求めよう」とやって、最後も行指向の計算機くらい
を作っていました。SICPも並行してやっていて、こちらはいろいろとリッチな
教材をちりばめていて良く工夫されていましたが(と今では判る)、やっぱり文
字だけの世界ではありました(それでも面白いと思ったから今があるわけでは
ありますが)。

  eToysのタイルで書けることは、一見Javaでごりごり書くのと比べてよっぽ
ど限られたことしかできないようには思われますが、じゃあJavaで例えば

「物体を落とすシミュレーションを、重力や水平方向の初速度を簡単に変えら
れるようにしておいてボタンでアニメーションできるようにし、さらに落ちた
距離をグラフでプロットできるようにしなさい。」

というような課題を与えたとしたら、高校生ではなかなかできないでしょう。
(絵を描いてオブジェクトを作ってスクリプトが付けられて、そのスクリプト
の動作中にスクリプトを変えられるような環境をJavaで作りなさい、といわれ
たら大人でもつらいでしょうね。)

  多分、モチベーションを持たせるという意味では、最初の状況作りは大事な
のでしょうね。最初の10分で「あんなの作れるようになりたい」と思わせるこ
とができるものを見せられるのか、あるいは「今はヘロンの公式だけだけど、
半年がんばれば電卓くらいは作れるようになるかもよ」という印象を与えては
じめるのとでは大きな違いがあるように思われます。

  CMUのAliceチームの人は、Aliceをアニメーション作成ツールとして中学生
に使わせる、という研究をしていますが、最初に中学生に話し始めるときに、
「皆さんもShrekみたいな3次元コンピュータアニメーションを作りましょう。
PC1台で数時間しかないのでShrekまではできませんが、それでも面白いですよ」
という言い方ではじめると、「プログラムを簡単に作るツールを使ってみましょ
う」というのとは食いつき(とその後の持続力)がまったく違う、と言っていま
した。

  Mark GuzdialというGeorgia Techの先生は、non-CSの学生向けプログラムの
コースで、Pythonを使って、最初の課題が「与えられたビットマップをグレイ
スケールにするプログラム」というところから初めて(難しさの度合いで言え
ばヘロンの公式+ループと大差はないとも言えます)、サンプリングサウンドの
操作などまでやる、というやりかたでやっています。僕の想像では、最近の人
はプログラミング初心者であっても「コンピュータは画像や音楽や映像を操作
する道具である」という認識があるので、「そういうことが自分でもできるん
だよ」という像を与えてやるのが動機付けには効果的、ということかもしれま
せん。

http://www.amazon.com/exec/obidos/tg/detail/-/0131176552/qid=1101179106/sr=8-4/ref=sr_8_xs_ap_i4_xgl14/104-5211837-8605553?v=glance&s=books&n=507846

  今日たまたま同僚と話していたのは、「補助輪つきの自転車だから安心して
ください」と言われて自転車に乗るのは、自転車に乗れると思っている子供に
とっては面白くないことである、ということでした。これも状況作りだと思い
ますが、例えばJavaをスケールダウンしてpublic static void main()とか書
かなくてもプログラムが書き始められるというシステムを作った場合には、上
手に導入しないと、「あなたたちには本物のJavaプログラムを書くのはまだ早
いんですよ」というメッセージを送ることになる、という問題が出るとは思い
ます。

  eToysも「これは子供向けだから」ということを言って使わせるのではなく、
「コンピュータそのものに手を突っ込んで操作してしまうという、(大人でさ
え)なかなかできないことをできるようにしたら、こういう環境になったんだ
よ。さあ、使ってみよう」というニュアンスではじめると食いつきが良いな、
という感じを得たこともあります。

  なんだか書いているうちに関係ない話になってしまいましたが、なんらかの
参考になれば幸いです。

-- Yoshiki



Squeak-ja メーリングリストの案内