Title
アニメーションプログラミング環境 Alice の日本語化と その教育的意義
Japanese Localization of Alice: a 3D Animation Programming Environment, and Consideration of its Educational Significance
Author(s) 淡 誠一郎 (Seiichiro Dan)
Citation 大阪学院大学 人文自然論叢(THE BULLETIN OF THE CULTURAL AND NATURAL SCIENCES IN OSAKA GAKUIN UNIVERSITY),61-62:1-22
Issue Date 2011.03.31 Resource Type Article/ 論説 Resource Version
URL Right Additional Information
大阪学院大学 人文 自然論叢 <論 説
>
第61-62号 2011年 3月アニメー シ ョンプログラ ミング環境 Aliceの
日本語化 とその教 育 的意義
淡
誠一郎
Japanese Localizatton of
Alice:
a 3D
Animation
Programming Environment,
and
Consideration
of
its Educational Significance
Sellchiro Dan
Abstract
Alice is a 3D animation programming environment. Alice project, which was started
at the University of Virginia, has been handed to Carnegie Mellon University and it is still
under development.Though Alice was initially developed as a rapid prototyping system for
virtual reality software, it is now regarded as an educational programming environment and
has been used
in
many
educational institutions.Alice can
keep
the
noviceprograrnmers'motivation high by attracting them with its animation capability and reducing the complexity of details that they must overcome in programming. The current version
of
Alice supports only English. In Japan, this fact significantly reduces Alice's educational
value, because many Japanese students tend to avoid English materials. Japanese localization
must be necessary to spread Alice in Japan. We have developed a Japanese localized version
of Alice and used
it in
some CS classes at our University andin
summer seminars forJapanese junior high school students. This paper describes the Japanese localization and
概 要 Aliceは
3Dア
ニ メーシ ョンのプログラ ミング環境である。その研究 プロジェク トはバ ー ジエア大学で始 まり、カーネギメロン大学へ と引 き継がれて今 も開発は継続 している。 当初は簡易VR(仮
想現実)環
境 とい う位置づけで、VRソ
フ トウェアの高速 プロ トタイ ビングが 目的であったが、最近 は教育用環境 としての色彩が濃 くな り、世界中の多 くの教 育機関で利用 されている。Aliccの開発 コンセプ トは、プログラ ミング初心者の学習意欲 低下 をまね く要因を極力そ ぎ落 とし、アニメー ションとい う魅力的で理解 しやすい題材 に よ り学習者のモチベー ションを持続 させ、成功体験 を与えるとい うことである。現バージ ョンのAIccは
残念 なが ら英語のみ に しか対応 していない。 日本人学習者 にとっては英語 システムであるとい うこと自体が大 きな障壁である。幸いAliccはオープ ンソース ソフ ト ウェアであ り、 自由な改変が許 されている。そこで、 ソースコー ドを解析 し、かな りの部 分 を日本語化で きたので、 ここに報告する。 この システムは、本学 (大阪学院大学)の
ゼ ミナールや中学生のサマーセ ミナー等で活用 してお り、 日本語化 によって我が国において も幅広 い年齢層の生徒・学生 に受け入れ られることが実践的に確認で きた。 は じめ に 情報技術の発展 に伴い、情報系の卒業生に要求 される知識は増加・高度化する一方である。 た とえば、 オブジェク ト指向プログラ ミングや イベ ン ト駆動 プログラ ミングな どは、かつ ては大学院で初めて扱 われた ような内容であるが、今や学部 レベルの リテラシと見なされ ている。 しか し、現実には「オブジェク ト指向」 な どの高度な抽象概念 をプログラ ミング 経験 の浅い学習者 に正 しく理解 させ るのは容易ではない。学習内容が高度化す る一方で、 プログラ ミング学習 に割ける時間は増 えてお らず、多 くの学生が落ちこぼれているとい う 現実がある。か といって、古典的な学習内容の ままでいては、GtIIに深 く馴染み、高度 なCGで
日の肥 えた今の学生には魅力が乏 しく、興味 をつなぎ止め られない。 このようなジレ ンマはプログラ ミングに限 らず、 コンピュー タサイエ ンスの教育現場全体 に広がっている。 こういった事情 は我が国だけの ものではない。UCLA大
学教育セ ンターの調査 によれば 2000年 か ら2004年 にかけて、 コンピュー タサ イエ ンスを専攻す る入学者の割合 は6割
も減 少 し、1980年代初頭 よ りも低下 していると報告 されている。 この問題 を契機 として、セ ン トジ ョセフ大学の研究チームは、 カーネギメロン大学で開発 されて きた3Dア
ニメー シ ョ ンプログラ ミング環境Alにeに注 目し、その教育効果 について調査研究 を行 っている。 そ の結果、特 に通常授業では学習意欲の低かった、いわゆる落ちこぼれ学生層が積極的に学 習 に取 り組み、 さらなる発展 クラスの受講率 も高 まるな ど、Ahceを
用いたプログラ ミン グ教育は従来型のそれ と比べて顕著 な効果が認め られている [1,2]。アニメーションプログラミング環境AIceの日本語化とその教育的意義 2010年 3月現在、
AHceは
世界80カ国以上、延べ2000以 上 の教育機 関で利用 されてい る (表 1)。 に もかかわ らず、 日本の教育機 関の登録 は、名桜大学 (沖縄)、 大阪学院大学 な ど延べ6校
が確認で きるに過 ぎない (上記2校
以外 は名称不明)。 ちなみ に、6校
とい う 数字は北朝鮮 の登録数 と同 じである。 日本でのAIccの
利用が極端 に少 ない ことの背景 に は、Ahceに
日本語版が ない とい う事情が少 なか らず影響 を与 えている もの と推測 で きる。 Aliccの教育効果 は、 アニメー シ ョンを題材 としてい ることに加 えて、 プログラ ミングの 本質か ら離れた ところで学習者の障害 となる諸要因を極力排除 した支援環境 に依 る ところ が大である。 しかるに、多 くの 日本人学生 に とっては、英語で記述 されていること自体 が 大 きな障害要因であ り、学習者のモチベーシ ョンを著 しく低下 させ、教育効果 を損 なうこ とは想像 に難 くない。 表l AIccを
利用 してい る教 育機 関数 順 位 国 名 登 録教 育機 関数 1USA
1492 2 Canada 93 3 United Kingdom 63 4 Mexico 49 5 Australia 46 6 Brazil 33 ワ ′ Philippines 28 8 Chlna 19 8 Ncw Zedand 18 10 Netherlands 7 ′ Others 339 合 計 2197 ※ 公式ホームページ[3]に
基づいて集計 した。2010年 4月18日現在。大学600、 高校 968、 その他629(いずれ も延べ数)が
利用登録 している。 なお、利用・登録 に義務 は ない。1.簡
易VRシ
ス テ ム と して の Alice Aliccはカー ネギ メロ ン大学で開発 中の、3Dア
ニメー シ ョンを題材 としたプログラ ミ ングの教 育 環 境 で あ る。Ahccプ
ロ ジ ェク トは、 中心 的 開発 者 の 一 人 で あ ったRandy Pausch(2008年没)が
バージエア大学在職中に始めた もので、 もともとはバーチ ャル リア リテ イ(VR)の
高速 プロ トタイビング環境 とい う位置づ けであった [4]。 Aliccはヘ ッ ドマウン トデ ィスプレイやデー タグロープを用いる環境埋 没型の本格的なvRと
は異 な り、 ほ ぼ 同 時 期 に 同 様 の 趣 旨 で 仕 様 策 定 が 始 め られ た vRML(Vinual Rcality Modclingの
VR環
境 で あ る [5]。VRMLと
Aliccの 大 きな違 い は、VRMLが
仮 想世界 のモ デ リ ングに重 点 をお い て 開発 さ れ て きたの に対 し、AHceは
仮 想 世 界 におけ るオブ ジェク トの振 る舞 い、 つ ま リアニ メー シ ョンに重点がお かれ てい る点、 そ してVRMLが
言語 仕 様 にす ぎないの に対 し、AIceは
実環境 であるとい う点である。VRMLも
仕様20(VRML97)[6]で
動 きの記述がで きる よう拡張 されたが、モデ リングが中心であることに変わ りはない。逆 にAliceは仮想世界 の構成部品を新たに定義 して追加す るような機能 を持たない (唯一の例外 は「人物」であ り、バ ージ ョン2.2や現在 開発段 階 にあ るバージ ョン3で
は、人物 の ジェネ レー タが実装 されている)。 アニメー シ ョンを楽 しむには当然3Dモ
デルが不可欠であるが、Aliceには オブジェク トギャラリー と呼ばれる、3D部
品 (背景、建物、家具、人、動物、乗 り物、 小物 な ど)の
デー タベースが備 わってお り、面倒 な3Dモ
デ リングな しにす ぐにアニメー シ ョンのプログラ ミングを開始で きる [7]。 同様の設計思想は、NHKが
開発 したテ レビ番組制作 システムTvML[8,9]に
も見出 せ る。 ス タジオセ ッ トやキ ャス トの部品があ らか じめ用意 されてお り、仮想世界で カメラ マ ンやキ ャス トを自由に動かそ うとい うというアイデアは非常 に似通っている。 しか し、TVMLの
プログラムは文字通 りの台本 にす ぎない。つ ま り時間に沿 った動作 の系列 を記 述で きるのみである。 これに対 しAHceに
はJava言語 と類似 した独 自のオブジェク ト指 向 言 語 が 用 意 され て お り、 プ ロ グ ラ ミ ングの 自由度 が 高 い。 また、TvMLは
Playcrや Creatorなどの支援環境がバ イナ リ公開 されている ものの、基本的にはVRML同
様言語仕 様 に過 ぎない とい う違い もある。VRMLや TVMLと
は違い、Aliccはコー ドエデ イタと実行環境 を備 えた統合環境である。 Aliceの3Dモ
デルや プ ログラ ミング言語 は独 自仕様であ り、現状 ではAIcc以
外で利用 す ることはで きない。 しか し、Aliccをプログラ ミングの導入教育用の環境 として とらえ るな らば、 このことは大 きな欠点 とはな らない。 Aliceはコ ンピュー タグラフ イックスの専 門知識が ない人に も、3Dの
アニ メ ドラマ を 創作 した り、仮想世界 をデザ インしてその世界 を自由にウォークスルーするプログラムを 開発 した りす る楽 しみ を提供 して くれる。 また、イベ ン ト駆動で動 く仕掛 けを簡単 にプロ グラムす ることもで きるので、 インタラクテ イブな3Dゲ
ームを作成す ることもで きる。 これは今か らプログラ ミングを学ぼ うとする若者にはとて も魅力的な特徴である。2.教
育 用 プ ロ グ ラ ミン グ環 境 と しての Alice まず、プログラミングの教育において初心者の教育/学
習を妨げる要因を挙げて説明 し、 各要因に対 してAliccに期待 される効果について考察する。アニ メー シ ョンプ ログラ ミング環境AIceの 日本語化 とその教 育 的意義 プ ロ グ ラ ミン グ導 入 教 育 に お け る 障 害 要 素 プログラ ミング学習 において、初心者の学習 を妨げる要 因には次の ような事柄がある。
(1)構
文エラーに代表 されるプログラ ミング過程の落 とし穴 タイプ ミスや予約語の覚 え間違 いな どに よって思惑通 りの結果が得 られず、退屈 なバ グ取 り作業 に時間を消 費 して しまう。括弧のつ け間違 いに よるエ ラー体験が構 造化 とい う概念の理解 につ なが るこ とは稀 で、煩 わ しさの印象 しか残 らない。 こう いった些細 な ミスはフラス トレー シ ョンを高め、学習意欲 をそ ぐ要因で しか ない。 前 の課題がで きない うちに次の説明が始 まって しまうと、授業 につ いていけな くな り、その時点で学習 を継続す る意欲が失せ て しまう。初心者 には失敗体験 よ り成功 体験 を与えるべ きである。(2)プ
ログラムの実行過程の不透明性 普通、プログラムの実行過程 は 目に見 えず、想定通 りの計算が実行 されてい る と い う実感 を持 てない。 また、結果が違 っていて も、結果か らコー ドの間違 い を推 定 す るのは難 しい。デバ ッガ等でテキス トベースの トレースを行 うことはで きるが、 初心者 には覚 えるべ きことが らが増 え、難解 さを印象付 け逆効果 となることも多い。(3)魅
力のない例題、達成感の欠如 多 くの学生 は必須であるか らとい う単純 な理 由で プログラ ミングの入 門 コースを 受講 してお り、そのモチベー シ ョンは低 い。その ような学生 にや る気 をお こさせ る には魅力ある題材が必要である。「Hdlo WoHd」 に始 ま り、 ソーテ イングで クライマ ックスを迎 える といった古典的な内容 には、 グラフ イカルな ソフ トウェアを見慣 れ た最近の学生 を惹 きつけ、満足 させ る力 はない。 また、多 くの学生 は学習内容 と、 見慣 れたソフ トウェアの間に絶望的 ともいえる距離 を感 じ、先へ進 む ことを断念 し て しまう。(4)「
抽象化」の とらえどころのなさ プログラ ミング導入教育の一つの ゴールは、学習者 に「デー タ抽象化」、「制御抽 象化」、そ してそれ らを合 わせ た概念 ともいえる「 オブ ジェク ト指 向」 とい う考 え 方 を身に着 けさせ ることである。抽象化 を抽象 的 な言葉で説明 して も初心者 には理 解 で きない。 よい例題が必要であるが、簡単す ぎる例題 ではその意義が実感で きな い し、実感で きるような例題 は大規模で難 しす ぎる。(5)ア
ルゴ リズムの設計技術の教授の難 しさ プログラ ミング言語の構文 を理解 し、既存 のアル ゴリズムの実装 と動作確 認がで きたか らといって、 自分でプログラムを設計 。実装 で きるようにはな らない。構 文 や例題 とその解決 アルゴリズムを与 えるのは簡単 だが、与 え られた問題 に対 しその 解決アルゴリズムを学習者が 自ら見つけ出せ るように導 くのはず っ と難 しい。Alteの
有 効 性 上 にあげた各問題点に対す る、Aliceシステムの有効性 を挙げてい く。(1)GUl操
作 の構造化 エデ ィタによる構文エラーからの解放 Aliccのコー ドエデ イタはいわゆる構造化エデ イタであ り、構文的に間違 った文 を 入力で きない ように作 られている。つ ま り、入力が完了 した時点で構文的にはエ ラ ーフリーであ り、構文エ ラーで フラス トレーシ ョンが高 まる とい う事態は起 こ らな い。 また、入力はマ ウスによる ドラッグ&ド
ロ ップ とコンテキス トメニューか らの 選択が中心 であ り、ポ ップア ップメニューには正 しい選択肢 しか表示 されない し、 ドラ ッグ&ド
ロ ップ時 は構 文的に正 しい場所 に しか ドロ ップで きない。 また、 ブロ ックは括弧の対応ではな く、明示的に色分け された タイルで表現 され、入れ子構造 が一 目瞭然である。 この ような環境 では過 ちに基づ く学習の効果が発生せず、構文的知識が身に付 か ない とい う指摘 もある。 しか し、構文エ ラーの訂正では、一つの誤 り例 とそれに対 す る一つの正事例 しか学習で きないのに対 し、Aliceではプログラム要素 を ドラ ッグ した ときに文法的に正 しい落 としどころとそ うでない ところが、ハ イライ ト表示 の 有無ですべて明示的に示 され るので、む しろ提供 される情報量 は多い とい う見方 も で きる。(2)実
行過程 の透明性 アニメー シ ョンではプログラムの実行状態が文字通 り見 える。た とえば、符号 の 入力 間違 いはアニ メーシ ョンではオブジェク トの進行方向の違い とい うような形 で 表れる し、停止条件の誤 りはオブジェク トが 目標地点 に到達 しない とか行 き過 ぎて しまうとい うことです ぐ気付 くことがで きる。物理法則 をシ ミュ レーシ ョンしよう としているときに、デー タの数値的変化 を読み取 って間違いに気づ くのは難 しいが、 日で見て動 きが 自然でない と知覚するのは容易い。AHccで
は、抽象化 された数学 的 な表現 ではな く、「前進」、「後退」、「右 回 り」、「左 回 り」、「∼に顔 を向ける」、「∼ に近づ く」 な どといった身近 な表現 に対応 した メソッ ドが用意 され、その組み合 わ せで オブジェク トの動 きをプログラムする。 メソッドの意味 と視覚的なイメージが 直結 してお り、実行過程 を見ればそれがプログラムの どの部分で引 き起 こされてい るのか を見出すの も容易い。(3)ア
ニメーシ ョンとい う魅力的な題材 アニメー シ ョンは楽 しく解 りやすい。単 なる数値計算やデー タ処理 よ リアニ メー シ ョンの方が多 くの学習者 に とって魅力的であるとい う事実 には議論の余地 はない だろう。 学習者のモチベーシ ョンを高めるためには達成感や向上感が不可欠である。 自分(4) アニメーションプログラミング環境
AReの
日本語化 とその教育的意義 の作成 しているプログラムの意味が理解で き、その効果が 日に見 える形で確認で き る とい うことは、プログラ ミングの学習 を続 け ようとい う意欲 に直結す る。 コー ド の効果が実感で き、想像で きる と、次 には もっ と複雑 な機能 を自分で作 り出 してみ たい とい う意欲が湧 き上がって くる。 オブジェク ト指向 とアニメーシ ョンの親和性 アニ メー シ ョンは近代的なプログラ ミングの主流 をな しているオブジェク ト指 向 と親和性が高 く、 この難解 な概念 を説明す るのに最適 な題材 であ る。 しか し、一方 で、高度な数学 とグラフ イックライブラ リの知識が必要であるため、通常初心者向 けのプログラ ミング教育で と り上げるには無理がある。 これに対 し、AHccは (2)
で述べ た ように身近 な言葉 に対応 した メソ ッ ドがあ らか じめ用意 されている し、高 度な数学 的知識が要求 され る描画機能 は環境 に埋 め込 まれ隠ぺ い されているので、 初心者の障害 とならない。 ドラマ制作 プロセスか らの類推 によるアルゴ リズム設計プロセスの 自然な理解 初心者 に「処理の流れ」や「逐次実行」 とい う、 プログラムの基本概念 を理解 さ せ るのは意外 に難 しい。 アニ メー シ ョンであれば映画や ドラマ制作 と対応 させ て説 明で きるので、「処理の流れ」や「逐次実行」、 さらには「並列実行」 とい う概念 も 説明 しやす く、受け入れ られ易い。 アルゴリズムの設計 は シナ リオや シー ンの設計、 演 出 とい う言葉で説明で き、 プログラム作 りとは何 なのか とい うことで学生が1当む ことはない。学習者 は、 自らシナ リオを発展 させ た り、視覚効果 を追加 ・工夫 した りとあれ これ試行錯誤す る。それがす なわちアルゴリズムの設計のプロセスである。 以上、プログラミング導入教育 におけるAliccのメリッ トを挙 げて きたが、 システムで 使われている言語が母国語でない と、せ っか くの期待 される効果が半減 して しまう。幸 い Aliceはいわゆるオープ ンソースプログラムであ り、 日本語版 を独 自制作可能である。次 章では、Aliceの機能 を説明 しなが ら、その 日本語化 について述べ てい く。なお、Aliceは Jtta言 語 を用 いてマルチ プラッ トフ オームで開発 されてお り、
Windows
版、
MacoSX版
、Linux版がそれぞれ存在 し、現在2.0,22,3.0ベ ー タのバ イナ リ、2.0,2.2の ソースが公 開 されている。本稿 では、 この うち
Windows版
バー ジ ョン2.0の 日本語化 に ついて述べ る。(開発開始当時公開 されていたのが2.0であったためであるが、2010年 3月現在のバージ ョン2.2にはマルチバイ ト文字が表示 されない不具合がある。)
3.Aliceシ
ス テ ム の 日本 語 化 3.1日 本語環境における既知の問題 現在公式 リリース されているAlicc 2.0,22は 、 日本語WindOws環
境で次のような不具合 が確認で きている。Altcが
英語 システムであるとい うことに加 えて、 日本 においてAlicc があ ま り普及 しない原因であると考 え られる。(1)日
本語パス名が使 えない問題 (20) Aliccはイ ンス トール不要で、展開す るだけで使 えるソフ トウェアであるが、「デ スク トップ」 に展開す ると起動す らしない。(2)デ
フォル トの保存デ ィレク トリの問題 (2.0,2.2) Aliceの各種 デフォル トデ ィレク トリは、 ユーザのホーム¥Desktop
となっている。 ところが 日本語版WindOws Xpで
は「デス ク トップ」 とい う仮名表 記が採用 されてお り、Dcsktopと い うフォルダ自体が存在 しない (自分で作成す れ ば別)。 このため、 なにか設定 を変え ようとす るたびに毎 回警告 ダイアログが ポ ッ プア ップす る。一方、Vista以降では「デスク トップ」の ターゲ ッ トは 日本語環境 で もDcsktopと なっているため不都合は生 じない。Xpに
合わせて ソースを改変 し、デ フォル ト保存 フォルダを単純 に「デスク トップ」 に して しまうと、Ⅵsta以降の環境 と整合性が とれない。(3)変
数名、 メソッ ド名、パ ラメー タ名等に日本語が使 えない問題 (2.0,22) Aliceは文法的な誤 りは入力時に排除するように設計 されている。2バ
イ ト文字 は 設計上不正文字であ り、入力 しようとした時点で赤字表示 され、受け付 け られない。 変数名 な どにマルチバ イ ト文字が使えない ことはプログラ ミング言語 としては特殊 事情 ではないが、そ う訓練 されていない 日本人学習者 はたいてい 日本語 を使お うと す る。初心者 の障害 となる要因 を極力排 除す る とい うAliceの設計方針 に従 うな ら ば、使用文字に対す る制限はない方が よい。(4)日
本語 オブジェク ト名を使用 したファイルが読み込めない問題 (20,22) オブジェク ト名や部品名 は少 し事情が異 なる。変数名や メソ ッ ドとは違 って、入 力時に 日本語入力が拒否 される ということはない。特 にソース レベ ルの改造 をせず とも、オブジェク トやその部品の名前 を日本語 にリネームすることが可能であ り、実 行 もで きる。一見問題 な く動作す るが、完成 したプログラムを一旦保存 して次 に開 こうとす る と読み込めない。読み込みルーチ ンがマルチバ イ ト文字 を想定 していな いためである。せっか く作 ったプログラムが開けず、一か ら作 り直 しになって しまう。(5)日
本語文字が文字化 けす る (22) Aliceは基本的にマ ルチバ イ トに対応 していないが、3Dテ
キス トや pHnt文 、 コアニメーションプログラミング環境Aliceの 日本語化 とその教育的意義 メ ン トなどに 日本語文字 を入力す ることは可能であ る。 ところが、バ ー ジ ョンに よ って 日本語文字が内蔵エデ イタや コ ンソールで も表示 されない こ とがあ り、その事 情がバージ ョンが変わるたびに変動 し安定 しない。
3.2
日本語化 の基本方針 Aliceにはグラフイカルなアイコンが豊富 に使 われてお り、操作 も直感的で分か りやすい。 Ahceで作 るプログラムはアニメー ションに限定 されているので、英語が理解で きな くて も 試せば意味は一 目瞭然 とい う部分 も多い。一通 りの機能、組 み込みメソ ッ ド等 を試 して意 味を掴んで しまえば、英語表記は実はあま り大 きな障害ではない。問題 は導入初期である。 日本人にはプログラ ミングやアニメー シ ョンに興味があって も、英語 に対 して苦手意識 や抵抗感 をもつ人が多い。そ うい う人は入 り口で拒絶反応 を起 こして しまいが ちであ る。 日本語化の 目的は、その最初の拒絶反応の要因を取 り除 くことであ り、隅か ら隅 まで無理 に日本語化す る必要 はない。 自然 に目に入 るメニューや、頻繁 に使用 される基本 メソッ ド を日本語化すれば 目的は達成 される。 めったに使わない機能 は無理 に 日本語化す る必要 はない。下手 にわか りに くい 日本語訳 をつけるよ り、あえて英語の ままで残す方が よい場合 もある。英語 と日本語が混在す る場 合、英語の苦手な 日本人の 目は、 日本語化 してある部分 にのみ向け られるので、多す ぎる 機能に戸惑い圧倒 されるとい う別の拒絶感 を和 らげる効果が期待で きるか らである。 3.3 Aliceの概要 とその 日本語化 以下、Aliccの画面構成や機能 を紹介 しつつ、その 日本語化 の概要 を説明 してい く。 ま ず、システムの主要機能 について、その後でチュー トリアル機能 について説明す る。 図l AIceの
画面構 成 (英語 版)主要機能の 日本語化 Aliceのメイ ンウィン ドウを図1に示す。以下、各エ リアの働 きを簡単 に解説 しなが ら、 日本語化 の概要 を説明す る。 ① メインメニュー メニューはソフ トウェアの印象 を大 きく左右す るので、プルダウンで表れる部分 も含め、 後述する一部 を除 き極力 日本語化 した
(図
2)。 メニュー項 目やボ タンのテキス トはソー ス内に直接埋 め込 まれている。該当文字 を見つけ、 日本語 に置換す るだけで 日本語化で き る (以下、同様 の方法で 日本語化 で きる要素 は「置換」 と記す)。 図2
メインメニューの日本語化 ②オブジェク トツリーエリア シーンの階層構造をツリー表示するエリア。この部分は文字コー ドの種類に依存する ような処理はない。表示 される内容は仮想世界を構成する部品の名称なので、オブジェ ク ト名に日本語が使えるようになれば、このエリアは日本語化できたことになる。 ③詳細エリア オブジェク トツリー上でフォーカスされたオブジェク トの詳細情報が表示 されるエ リ ア。次 の3つ
の タプか ら成 る。嘗鮒観腱椰
1曜
gl
rutrrr(-I
mute*
薇 付けて薇J嗜 "査 m_ ウェブページとして目躙L … く鋤 印■コード出力輩
'インポート
_ ■,中ス ト強 …アニ メー シ ョンプログラ ミング環境 Aliceの 日本語化 とその教育的意義 。属性 (prOperties)一 色 、 透 明 度、 テ キ スチ ャ 、 連 動 対 象 、位 置 な ど。 ユ ーザ が新 しい属性 (変数
)を
定義 して使 うこ と もで きる。 ・ メ ソ ッ ド(methods)一
移 動 、 回転 、拡 大 、属性 変 化 な ど。 一 連 の動 作 や振 舞 い をユ ーザ が 定義 して使 うこ ともで きる。 ・関数 (funcaons)一 そ の オ ブ ジェ ク トで値 の決 まる関数。大 きさ、相 対距 離 な ど。 ユ ーザが新 しい関数 を定義 して使 うこ ともで きる。 Aliccに は あ らか じめ 多数 の3D部
品 が 用 意 され て い るが 、 そ れ らは オ ブ ジ ェ ク ト指 向言語 にお け る組 み込 み ク ラス に相 当す る。 そ の ほ とん どは3次
元物 体 で あ り、共通 の 属 性 、 メ ソ ッ ド、 関 数 を持 つ 。 また、 特 別 な ク ラ ス と してWOrld(仮
想 世 界 全 体)、Camcra(カ
メ ラ)、 Light(光源)が
あ り、一 般 の クラスが持 た ない属性 や メソ ッ ド、 関 数 を持 って い る。 組 み込 み で 用意 され てい る属性 、 メ ソ ッ ド、 関数 の うち、 あ ま り使 われ ない項 目や 日 本語 表現 しに くい一部 の項 目を除 き、 大 半 を 日本語 化 した (置換)。 また、 メ ソ ッ ド名 や 関数 を新 規作 成す る際 に 日本語が使 え る よ うに ソー ス を改 良 した (以下 、「改 変 」 と 記す)。 図3に
日本語化後 の詳細 エ リアの例 を示す。 不 "蘭 助讀opac■‐ 1(lullt) . ■物 (連 動対象〉 ‐=冬の湖畔 ‐ 机理 ‐鉤 り人esk… 饉面スタイル ‐ ソ リッ ト 視点(Pon‐po3mOlr 1666,■1■235; 表示の有無 ‐ ln● ヨ めまり使われない属ll「メソッド」タブ
「関数」 タブ
図3
詳細 エ リアの3つの タブ (日本語化 後) ④ ワール ドビューエ リア3Dシ
ー ンの視覚 イメー ジを表示す るエ リア。マ ウス操作で直接 オブジェク トの配置 や視点 を変更で きる。詳細編集モー ドヘの切 り替 えで、オブジェク トギ ャラリー (既成3D部
品のデー タベース)か
ら部品を呼び出 して シー ンに追加 し、た くさんの オブジェ ク トか ら構成 された複雑 な シー ンを簡単 に作 れる (図 4)。 シー ン編集モー ドでのボ タ ン、右 クリックで表示 されるポ ップア ップメニュー等 を 日本語表記 に した (置換)。 "り 上げるIⅢⅢ熙彙 沖 こ放 す さか な □ 詢 り人 が 移 動 釣 り人 │が 回 転 釣 り人 が 薇 驚 鉤 り人 が 擁六 綸小:倍 釣 り人 の 独 自 釣 り 人 ●・3を鳴 ら すi 鉤 り人 か モ ノに 向,て移 動 鉤 り人 │か モ ノカら 通 ざ か る ∼ ︱ ︱ ︲ ︱ ︱ ︲ ︱ ︱ ︱ ︱ ︱ ︲ ︱ ︱ ︱ I L p F I F ︲ ︱ ︱ ︲ ︱ I L ロ ー ー ー ー ー ー ー L ︻「属性」 タブ
再生が始ま った と8,Oo l漬書会 ドレミの音階を奏てる
Jキ
ー
学
,攣11,“■■ⅢⅢ
JFⅢ■
1 摯1,"
が をクリックしたとき, │お1漬轟 会J'―卜演 奏 膚 壽●TIが │… ブジ =‐ ケ ・ :コ ロ い 再生ポタン「で条ダいをクリッタしたとき,ф‐││■ '「 牛1‐ 摯幸ボタン:│で異デ "を クリックしたとき,ф l油事会轟音│ │ F+ボタンII`“ざい をクリックしたとき,ф ‐漬壽会府上 斬イ ベ ン ト嫌 威[___、 _ 再生疇 った とき 何か キーが中 されたとき 何かの上でマウスとクリックしたとき 何かの条件が成立してしヽ とき 変数 の盤が変fLしたとき twhs$F tm& i$ ckked m ffilt{ngY!,t{s smotltug ir ts€
\n'lH r varlabla cfi*rw€B
L€llt3 M ffi<ott€clg
Lel ttE mw t€rys ffi <sr.alct>
Lelfiorcrcthecffi Let鮨¨ 囀 赫 簾 ca nera i マウスで何かをttt 方向■―で何かを諄■・ マウスで機点IIm マウスで祖津移動 図
6
イベ ン トエ リアのプル ダウ ンメニ ューの 日本語化 ⑤ イベン トエ リア イベ ン トとそれによって駆動 されるオブジェク トの振る舞いを定義するエ リア。プル ダウンメニューとイベ ント部品を日本語表記にした (置換)。 (図5,6)
図4
ワー ル ドビューエ リアの 日本語化 (詳細編 集モー ド) 図5
イベ ン トエ リアの 日本語化l*11t-A.)=vr.I
*frf
*A.2a v'zr
toptmad!iEry:Y_
日
r ll彎
-
u
,■■
││■1申│―
t―
―
II■
_1靖 ‐ ‐ 1留姜列実行 │ 13- が● 飛行ゲ ー 'リ バ リき ¨ 七●●す ― ‐Eループ5 口 SIIoW conl「Ec"関日 ヽm
│ライ ト の 日性饉をセ ッ ト:色猥目麟 4H‐4響閣鮨 砂 ■,`∼・21こ ―o… ,ィト の 馴 朧 をセ ッ ト=こ:│■ 嘲 "点榊 秒 ■│″ル ‐3こ 嗜L 福坤目 が移動 方角・ ■ 3m 時目・ ●秒 -0_ 橿菫爆 1甕王立させる ● “ ・ 0移 m●●_‐ ― a 睛 碁 燎 2m ●口・ ●移 ―L C-3 -赫 Ⅲ■ 2m “ 口 ‐0砂 m口‐‐
*tir-^
ottarEE,l
: CoeI
*i-ot,
w'-達漱 実 行 曇 列実行 員仔 分 岐 ル ープ 菫 鉾 付織 遣 し 闘申 ■ │一 翻 こ 持 つ 解 ` “ しt ll t,メータ アニメー ションプログラ ミング環境AIceの 日本語化 とその教育的意義 図
7
コー ドエデ ィタの 日本語化 ⑥ コー ドエデ ィタ メソッドのプログラムコー ドを記述す るエ リア。図7に
プログラムの作成例 を示す。画 面下に配置 された制御部品 (ブロック、条件分岐、ループ等)や
、オブジェク トツリー、 詳細エ リアか らオブジェク トやメソッ ド、関数をマウスで ドラッグし、このエ リアに ドロ ップすることでプログラムを作成で きる。行の入れ替え、削除、複製、パ ラメー タの選択 などもマウス操作で行 う。 このエデイタはいわゆる構造化エデ ィタであ り、文法的に正 し い場所に しか部品を ドロップで きない。部品を ドラッグす ると、正 しい落 とし所カシヽイラ イ トされる。ポ ップアップメニューには適切 な項 目しか表示 されないように作 られている。 市1御部品を表2に
示す ように 日本語化 し、ポ ップア ップメニューを日本語表記 に した (置換)。 また、変数やパ ラメー タに 日本語が使用で きるようソースを修正 した (改変)。 表2
制御 部 品の英 日対応 Do in ol・der→ 逐次 実行 Do togcther → 並 列実行FttLSE
→ 条件 分岐Loop
→ ルー プ Ⅵhile→ 条件付繰 返 し For allin order→ 順 番 に For all together→ 一斉│こWalt→ 待つ Pnnt→ 印字
⑦ コンテキス トメニュー オブジェク トッリー とワール ドビューエ リア内でオブジェク トを右 クリックす ると対 象 に応 じた内容 の メニューがポ ップア ップ表示 され る。 この メニューを 日本語化 した (置換)。 図
4で
表示 されているメニューは「ウサギ」 に関連付 け られて表示 されるポ ッ プア ップメニューである。 オブジェク トツリー上で「ウサギ」 を右 クリックした場合 に も同 じメニューが表示 される。 ③入出カダイアログ 入出カ ダイアログの表記 を 日本語化 した (置換)。 特 に図1の③ に示す ダイアログはAhcc起
動時 に毎回表示 され、チ ュー トリアルや各種サ ンプル、最近使 ったフ ァイルヘ のポー タルとなっている。本質的な部分ではないが ソフ トウェアの印象 を大 きく左右す る。 また、 ファイル読み込みのルーチ ンをファイル名だけでな く、内包す るオブジェク ト名、 メソッ ド名、関数名、変数・パ ラメー タ名が 日本語である場合にも対応で きるよ う改良 した (改変)。 ⑨ その他のダイアログとポ ップア ップ 。ヘルプ 学習者 に指示 を与 える、あるいは情報の人力 を促すためのポ ップア ップ・ダイアログ、 マ ウスポ インタのある位置 に現れるポ ップア ップ・ヘルプは、単純 にソース内の該当テ キ ス トを 日本語 に置 き換 えれば 日本語化で きる (置換)。 ダイアログとポ ップア ップ・ ヘ ル プの例 を図8に
示 す 。 I轟I ts aeco|rrt|en hllhrltoo 8tadtarlo|lofilo aad.lloil*r0ilor|C
鍮「い耐
…
ⅢⅢ
I 1畢書な して15分 が継過しました。 万一の場合に勝えてそうそろ保存することをお興めします。 ,■,■■■,知疇せて
│-3
1輔
鸞
轟
裁
野
晉
養
豊
1拳
安選
図8
ポ ップア ップ・ ダイア ログ とポ ップア ップ・ヘ ルプの例アニメーションプログラミング環境AIceの日本語化 とその教育的意義 ここまでに説明 した 日本語化実施後の画面 スナ ップシ ョッ トを図
9に
示す。 図9
日本語化Alice チュー トリアルの 日本語化 Aliccには システムの概要 を紹介す る4つ
の導入チ ュー トリアルが用意 されてい る (表 3)。 このチ ュー トリアルは教育用 プログラ ミング学習 システム としてのAliccのセール スポイン トの一つである。単 なる動画やハ イパーテキス トによる機能紹介 などとは異 な り、 実際のAliceの操作画面 に解説や インス トラクシ ョンが重畳表示 される。 イ ンス トラクシ ョンに従 ってAliccを操作 していけば、基本 的 な使 い方 は理解、マス ターで きるよう設計 されている。Aliceその ものを使 わせ なが らも、操作対象以外 はマスク処理 され、学習者 図10
チ ュー トリアル (英語 版)が迷わない ような親切設計 となっている (図10、 図11)。 Aliceによる教育プログラムは、 このチュー トリアルか ら始 まるといって よい。 メニューやボ タンの ような単語 レベルではな く、文章 レベルの英語力が必要 となるので、 英語の苦手 な日本人学習者 には、 このチュー トリアルは役 に立たない。 表3 Aliceのチ ュー トリアル 内 容 ステ ップ数 チ ュー トリアル1 (クイ ックッアー) チ ュー トリアルの操 作方法、Aliceの 画面構 成 と各エ リアの 役割 、 プ ロ グラムの実行 方法、既存 メ ソ ッ ドの組合 せ に よ るプ ログラ ミング 40 チ ュー トリアル 2 (メソ ッ ドの作 成) メソ ッドについて、新メソッ ドの作成方法、作成例、 メソ ッ ド実行時間 (スピー ド
)の
調整法。 チ ュー トリアル 3 (イベ ン ト処理) イベ ン トにつ い て、起動 時 イベ ン ト、 キー イベ ン ト、 マ ウ スイベ ン ト。 チ ュー トリアル4 (シー ンの設計) シー ン編 集 モ ー ド、視点 の変 更方 法、 オ ブ ジェク トギ ャラ リー、 オブ ジェ ク トの追加 、配置、 回転、拡大縮小、複製 図Hに
日本語化後のチュー トリアルの画面スナ ップシ ヨッ トを示す。網掛 け部分は操作 不能、網掛 けのない部分は自由に操作で きる。 インス トラクシ ヨンか ら外れた操作 を して、 次のステ ップヘ進む条件が満た されない場合 は警告文が現れ、操作前の状態 に戻 される。 Aliceのチ ュー トリアルのスク リプ トは、チュー トリアルごとに独立 したデー タフ ァイ ル となってお り、x皿 形式で記述 されている。図11のステ ップ付近のスクリプ トを図12に 示す。 メッセージ部分は単 に英文 を日本語文に置 き換 えればよい (置換)が
、それだけで はチュー トリアルは正 しく動作 しない。正常操作がなされたか どうかの判定条件やマス ク 情報 に、具体的な座標値や コー ドが埋め込まれて しまっているか らである。 コー ドエデ イ タ内のプログラム部品の 日本語化 は もちろん、 フォン トを変更 しただけで も成否判定が狂 って しまうので、チュー トリアルを 1ス テップずつ実行 して確認 しなが ら、条件 テ ンプ レ ー トを書 き換 える必要があった (改変)。アニメー ションプログラ ミング環境AIceの 日本語化 とその教育的意義
__‐ 翌 里 撃 瞥r鷺│
図
11
日本語化 チ ュー トリア ル正常操作判定 <to
< llOIl ldtriii<a t - t>:6.r&f indnrsnlda t - t.ilt>) 1>
<AO.
<l lilIrlf EGriSbrt *, 7J - Iff 2 7' ) tiltt6I )liL ta* L r ).ll> <! l.Drlrllf
''' 5-ilt hdanysta6-tiL^, ? Ft r,1,... Il>
d. tyfl:'holr'ato&vac.:"frtr- dvffiErrl:-!sdllcl- Srt=-trE- frts'-{.0_ yhF"-?13,0}.
<lOr
<llollAloditors:rl.nnt<A 1 O t 1., |.>:.lnstTil.<X 1Ol )., Ftl]>
utb) @r
<l 1611112. -." 7 t - 9.4': g )-OTl; F E -, tl- it. ll>
<r tqlrt2thb'i. I : : -b.a -2^tl,{t< ti3lr.l))
3.4 Alice日本語化 のまとめ 最近のソフ トウェアは多国語対応 している ものが多 くなって きている。最初か ら多 国語 対応 を想定 して作 られた ソフ トウェアの場合、 メ ッセー ジや メニューな ど、言語 に依存 し て変化する部分は リソース化 し、ソースか ら独立 させ るのが一般的である。 しか し、残念 なことにAliceはその ような設計 にはなっていない。属性 や関数名 な ど、一部 はテ ンプ レ ー トとして独立 リソース化 してあるが、そ うい う部分 もマ ルチバ イ ト文字の ことはまった く考慮 されていない。 リソースは加工 して用い られた り、連想記憶 に格納 して間接参照 さ れた りす るが、そ ういった部分でシングルバ イ トを前提 としたルーチ ンが組 まれてお り、 しか も関連す るコー ドは局在化 していない。 このため、 日本語化 にあたっては、処理 プロ グラムの深 くまで解析 して改変す る必要があった。 最終的に若千英語の部分が残 されてはいるが、初心者が接す る部分はほ とん ど日本語化 指示 に従い ドラ ッグ& ドロ ップ して い る 様 子。点線矢印は補足の ために追加 した もの。 図12チ ュー トリアルの ス ク リプ ト (日本語化 後)
で きた。残 された 日本語化 で きてい ない部分 を まとめ る と以下 の とお りであ る。 ① 簡単 な英単語や メリハ リのために英語の まま残 した方が よい と判断 した部分 簡潔で分か り易 く、プログラム部品 としてはそれ単独 で特殊 な意味 を持つ ような英 語表現 はあえて 日本語化せず にそのまま残 した。大半が 日本語化 された環境 において は、英語の部品は見た 目に変化 を与え、それが効果的な位置にあれば、構造 を明瞭化 す るので、プログラムの構造の理解 を助 ける、 とい う効果が期待で きるためである。
例)mOre,othet do,Nothing,anything,No paramctetな ど
② めったに使われない属性や専門用語など
AliceにはもともとseldOm uscd Propenicsと いう項 目がある。この部分は過度に専 門的な用語が多 く、 日本語化 しても意味が通 じにくい。文字通 りめったに使われない ので、あえて日本語に直す必然性はないと判断 した。
例 )quatemiOn,isPivotShowing,isFirstClass,evcntStopAsccnding,opacityMap
③ ソースが公開 されていない部分
Alにeはほ とん どの部分がJⅣ
a言
語 とJythOnで記述 されてお り、ソースプログラム も公 開 されてい るが、3Dの
レンダリング部分 だけは速 度 を重視 してWindowsの
DrectX 7を ネイテ ィブで呼出 してお り、この部分の改変は困難である。残念 なことに、 この描画 ルーチ ンがマルチバ イ ト文字に対応 していないため、アニメー シ ョン再生時 にセ リフの 日本語が文字化け して しまう。 この問題は残 されたままである。 セ リフや独 自内で 日本語が使 えない という問題 は、プログラ ミング学習やアニメー シ ョ ン学習 とい う観点では、本質的な問題 とはいえない。 しか しなが ら、学習者の多 くが最初 に手がけるアニメー シ ョンは登場 キ ャラクター同士のたわいないや り取 りであることが多 い。母国語のセ リフが使 えない とい うことは、 日本人学習者のモチベーシ ョンを損 なう要 因 となることは間違 いない。サ イレン トで味のあるアニメー シ ョンや楽 しい動 く仕掛 けを 作れるセ ンスのある学習者 はそれほ ど多 くはない。Aliccには機能 を単純化 し、物語作 りに特化 したStorytdhng A五ceとい うバージ ョンが存 在す る。StOrytclling Aliccは 中学 。高校の初等中等情報処理教育、あるいは創作力開発 の ための教材 として利用 され、特 に女子学生に歓迎 して受け入れ られることが報告 されてい る。セ リフな しでは物語 は成 り立たないので、 日本の中学生、高校生 に
AIceを
広 く受 け 入れて もらうためには、セ リフの 日本語化は不可欠であろう。 現在CMUで
のAliccプロジェク トはバージ ョン22の開発 を終了 し、3.0が開発途上 にあ る。次のバージ ョンでは多国語対応、あるいは多国語対応 を前提 とした設計 になっている ことを期待 したい。アニ メー シ ョンプ ログラ ミング環境AIceの 日本語 化 とその教育 的意義
4.日
本 語 化A!iceの
教 育 的 効 果 と そ の 意 義 4.1教育効果 について 2009年度 に情報学部の大学2年
次生 と大学3年
次生 を対象 としてそれぞれ半年 間Alice を用いたプログラミング教育 を実施 した。 また、2006年 度 と2009年 度 に大阪府 の中学生 を 対象 とした夏休みセ ミナーで 日本語化Aliccを用いたアニメー シ ョン教室 を開催 した。す べて少人数 クラス(8∼
12人)で
あ り、統計的なデー タを得 るには至 っていない。 大学生向けの授業では、は じめは 日本語版 を用いてチ ュー トリアルなどをこなさせた後、 慣れて きた ところで英語版 に移行 させた。一旦基本的な使い方 をマス ター して しまえば、 英語版 に切 り替 えて も、特 に不 自由す る様子 はなか った。Alicc(ア ニ メー シ ョンプログ ラム)は
視覚的に理解で きる部分が多いので、最初の導入 にさえ成功すれば、あ とは英語 版で も不 自由 しない ようである。2回
実施 した中学生向けのセ ミナーは2日 間であ るが、Aliccを用 いた学習 は 1日 のみ、 時間にして5時
間程度であった。通常のプログラ ミング言語 を用いて、分岐 と繰返 し、逐 次実行 と並列実行 といったプログラミングの基本概念 を実習込みで 1日 で済 ませ るのはほ ぼ不可能 に近 いが、AIceで
あれば、中学生で も無理 な く 1日 で理解 で き、それな りの ア ニメーシ ョン作品を作 り上げることがで きる。 イベ ン ト駆動 という比較的高度な概念 も、 特 に混乱 な く受 け入れて もらえた。 米国での調査研究で も報告 されているが、Aliccを用 いたプログラ ミング学習では、学 生が 自主的にプログラムを改良 しようとす る積極的な姿勢が見 られる点が特徴的である。 通常のプログラミング学習では与 えられた課題以上の ことをや ろうとす る学生 は少 ない。 これに対 しAHccで
は、ほ とん どの学生が与 え られた課題 を発展 させ ようとした り、 オ リ ジナルのアニメーシ ョン作 りにチ ャレンジした りして、学習 を楽 しむ様子が見 られる。 これは もちろん 日本語化 に よる効果 とい うこ とではな く、Aliceその ものの効果 であ る。 しか し、英語版の ままではそ もそ もシステムに鰯1染もうとしない学生が出るだろう。4.2
日本語プログラ ミング環境 としての 日本語化Alice 前章で説明 したように、今 回作成 した 日本語化Aliccでは、 コー ドエデ ィタも日本語化 してある。 ここでい う日本語化 は単 にメニューやヘルプメ ッセージの 日本語化 に とどまら ない。Aliccは Java風 の擬似 オブジェク ト指 向プログラ ミング言語 を扱 うシステムであ る が、その言語の 日本語化 とい う意味 も含 まれ る。前述 した ように、Aliceのコー ドエデ イ タはキー入力 を極力排 し、プログラム部品のテ ンプレー トとメニューの選択が 中心である。 その主だった部分 を 日本語化 し、変数・パ ラメー タ・メソッ ド・関数に全角文字が利用で きるように してあるので、利用者が積極的に 日本語文字 を使用すれば、見かけ上 日本語 プ ログラ ミング言語的な利用が可能である。そ もそ もオブジェク ト指向言語 は名詞先行の 日本語文法 とは相性が良いので、予約語 と ユ ーザ定義語の 日本語化 だけで も日本 人にはず いぶんわか りやす い表現 となる。 さらに Aliceはテ ンプ レー トを差 し替 えるだけで見かけの語順 を自由に改変で きるので、工夫す ればよ り文法的に 日本語 に近い表現 を作 ることも可能である。テ ンプレー トは リソース化 されてお り、入れ替 えに再 コンパ イルは必要 としない。 うきき マ 響機構│たヽ ヨ前ヾ15mヾ うさぎ マ 掛口 韓‐オ南F右マ10お周 ヾ (b) 図
13
テンプレー トの違いによる語順の違い 例 えば、図13の(a)(b)は
同 じプログラムを、テ ンプレー トを変 えて表示 してみた もの である。 この両者 を単純比較すれば (a)の方が 日本語 として自然である。 しか し、「移動」 とい うメソッドには、オプションの修飾表現 (例えば「時間」「変化スタイル」「回転中心」 等)が
存在 し、それ らは文末に順次追加 されてい く。 この ことを考慮 して、 日本語化Alicc では (b)の表現 を採用 している。 (a)と 比べて (b)が了解性で著 しく劣るわけではない し、 修飾語が複数付属 して きた場合、(b)の方が表現の一貫性 を保てるか らである。 もし、 自然 な日本語にこだわるなら、語順や表現 自体を適宜変更するという方法 も考えられな くはない が、それには単純 なテ ンプレー トでは対応不可能であ り、本格的なシステムの改変を要する。 現在実用化 されているほ とん どのプログラミング言語 は英語ベースである。学習 にそれ ほ ど際立った英語力は不要 とはいえ、多 くの 日本人学習者 にとって英語が障害の一つであ ることは間違いない。特 に中高生にプログラミングの諸概念 をつかんで もらうのが 目的で あれば、実言語 を利用す る必然性 はな く、母国語が使 える環境 の方が学習効果は高い。 このため、プログラ ミングの導入教育用 に、 日本語 プログラ ミング言語やその教育用環 境が開発・利用 されている例 も多い [10]。 大阪学院大学の西 田研究室 と大阪市立大学 の 松浦研 究室で共 同開発 されてい るPEN[11]や
慶應義塾大学の大岩研究室で開発 されて いる「 ことだまon squcak」 [12]な どがその例である。PENは
大学入試セ ンターの入試科 目「情報関係基礎」で用 い られ る 日本語 による疑似 手続型 プログラ ミング言語DNCLを
拡張 したプログラ ミング言語xDNCLの
実装環境であ る。言語が 日本語 に基づいていることに加 え、機能がプログラ ミング導入教育用 に絞 り込 まれているので初心者 には分か り易 く、 またAHce同
様、多 くの入力操作 をマ ウスで行 え るような入力支援機能が実装 されている。 「ことだまon squeak」 は子供向けオブジェク ト指向プログラミング言語Squcakと アル ゴリズム教育用に開発された日本語プログラミング言語「言霊」とを組み合わせた環境でアニメーシ ョンプログラ ミング環境Ahceの 日本語化 とその教育的意義 あ る。「言霊 」 は プ ログ ラムの読 み易 さを追求 した言語 で あ り、語 尾変 化 を伴 う正 しい 日 本 語表現 が特徴 であ る。残 念 なが ら読 み易 さは書 き易 さには直結 しない。 日本語 表現 には 揺 らぎがあるか らである。 この欠点 を補 うため「こ とだ まon squcak」 で は、 キー入力で はな くタイル と呼 ばれるテ ンプ レー トを貼 りつ ける とい う、Aliccと似 たプログラ ミング ス タイルが採用 され、読み易 く書 き易い環境が実現 されている。 初心者 に とって、正 しい 日本語で書かれたプログラムが読み易いことは否定で きない し、 とことん正 しい 日本語表現でプログラムす る とい うことへ の技術 的な興味 も理解で きるが、 それと実用性 とは別である。初心者の時期 はわずかであ り、その時期 を過 ぎればいずれ実 際の言語 と向かい合わねばな らぬ時が来る。その時のギ ャップはあ ま り大 きくない方が よ い。例 えば
PENの
xDNCLは
、代 入文 な ど日本語化 されてい ない部分 も多 いが、全 部 日 本語化 した ら可読性が高 まるか とい うとそ うで もな く、む しろ 日本語表現 と英語や数式が 混在 している方がプログラムの構造がつかみ易 くなることも多 く、実際のプログラ ミング 言語へ移行 した ときの戸惑い も少な くてす む。 大事 な ことは、初心者 の心 のバ リア を解 くことであ り、 それ にはPENや
Aliccの 日本 語化の程度で十分な効果があると考え られる。 お わ り に かつて、計算機が特別 な人達だけの ものであった時代 は、計算機 に触 れるとか、 プログ ラ ミングが体験 で きる とい うだけで学生のモチベー シ ョンを高 く維持す ることがで きた。 当時の学生 は、学習内容がいかに素朴であって も、それが先端である とい う自負 を持 ち、 満足感 を得 た。それに比べ、今の情報系学生 は不幸である。家庭や学校 にコンピュー タが 当た り前に入 り込み、高等学校では「情報」が必修科 目となって久 しい。大学では専 門に かかわ らずすべての学部の学生が情報教育 を受 ける機会 をもつ。情報系学部に入 って も、 自分たちが特別なのだ とい う優越感 は得 られない。それ どころか、技術が進みす ぎ、授業 内容 と現実のギ ャップの大 きさに絶望感 さえ感 じる。授業 内容 は理解で きてな くて も、普 段 目にす るアプ リケー シ ョンや情報 システムまでの道の りが気の遠 くなるほ ど遠 い ことは 分かる。 どんなに時代が進 もうとも、基本か ら始める しか な く、基本 は変化 しないか ら、従来通 りのプログラミング入門で よろ しい、ついて来ない学生は勝手にせ よと突 き放すのは容易 いが、 ゴール とのギ ャップが大 きす ぎてやる気が起 こらない とい う気持 ちは理解 してや ら ねばな らない。Aliccでそのギ ャップが埋 まるか どうかは問題 ではない。錯覚 であって も ゴールまでの道がつ なが りそ うだという手 ごたえを感 じさせてやることが大事 なのである。 最初の一歩 を踏み出 さなければ、何 も始 まらない。Altcの
最大の意義 はその一歩 を拒 む バ リアを取 り除 くことであ り、その意味で 日本においては 日本語化が不可欠である。参考文献
[1]S.CoopCr,B Conover,and W.Dann:
“Alicc:A Fresh Approach to Teaching ComputcrScience",http:〃visualization.可 u.edu/.
[2]B.Moskal,D.Luric and S.Cooper: “Evaluating thc effectivcncss of a ncw instructional
approach",Procccding SIGCSE'04(2004).(http:〃Www.alice.org/ publications/EvaluatingTheE“ ect市enessOfANcwApproach.pdfl [3]Educa●onal lnsutudOns using AIce(Alice公 式 ペ ー ジ 内
):
http:〃www alicc org/indcx.php?page=alice_uscrs/alice users
[4]R.Pausch,■Bumcttc,AC.Capehart,M.,D.Cosgrovc,R.DeLine,J.Durbin,R Gossweilet S.Koga,J.White: “Alice: Rapid prototyping systcnl for virtual reality",IEEE Computer Graphics and Applications,15(3),pp 8‐ 11(1995).
[5]広
内 哲 夫 :“Web 3 Dグラ フ イ ツ ク スーVRMLで
創 る バ ー チ ャル ワ ー ル ド",ビア ソ ン・ エ デ ュ ケ ー シ ョ ン(2001).[6]“
The Virtual Reality Modcling Language"http:〃www.web3d.org/x3d/spcciflcations/vrln1/1SO― IEC-14772-VRML97/.
Dann,S Cooperand R.Pausch:“ Lcarning to Program with Alicc",Prentice Ha11(2006).
NHK TVNIL公
式 ホー ムペ ー ジ:http:〃www.nhk.orjp/strν tvm1/index.html林 正樹 :“め ざせ !テ レビ番組 ク リエ イ ターー パ ソ コ ン と番 組記述 言語
TVMLで
実 現!!",技術 評論社 (2004) 兼宗 進 :“教 育 用 プ ロ グ ラ ミング言語 の動 向",IPSJ Magazinc 48(6),pp.4-7(2007) 西 田知博 ,原 田章 ,中 村亮 太 ,宮 本友介 ,松 浦敏雄:“初学 者用 プ ログ ラ ミング学 習 環 境PENの
実 装 と評価",
情 報 処理 学 会論 文誌 第48巻第8号
,pp 2736-2747(2007) 岡 田健 ,杉 浦 学 ,松 澤芳 昭 ,大 岩 元 :“教 育 用 プ ロ グ ラ ミング言 語 と して の 「言 霊 」と「ことだまon squcak」 の試み",cybenncdia forum,No.7,pp 17‐