WISS2014

Sheets:紙媒体の命令オブジェクトを用いたタンジブルなプログラミング環境
夛田 一貴

田中 二郎 ∗

概要. 本稿では紙で出来た命令オブジェクトを用いたタンジブルなプログラミング学習環境 Sheets を提案する．Sheets は特別なデバイスを必要とせず，印刷で簡単に作れる紙媒体の命令オブジェクトと web カ
メラ，処理や実行結果の表示を行うソフトウェアのみで構成される．命令オブジェクトへの書き込みといった紙ならではの操作を学習の過程に取り込み，命令実行部分のハイライトや，現存するプログラム言語への変換機能等により学習者の理解を支援する．

1

はじめにプログラミングは今や専門職の人だけが学ぶもの
ではなく，論理的思考の養成やコンピュータの理解を目的に，情報教育の一環として広く扱われるものとなった．そのため，専門的な知識が無い初学者でも学びやすいプログラミング学習環境の整備が必要とされ，これまでに様々な環境の提案がなされてきた．
Scratch[1] や VISCUIT[2] はその一例であり，これらは簡単な GUI 操作によってプログラムを作ることができる環境である．最近では TUI(Tangible UserInterface) を用いて，より良い操作性や学習能率を目指した環境の提案も多い．プログラミング環境にTUI を用いることは，GUI を用いた環境よりも学習者が内容を理解しやすいという報告がある [3] 上，多人数による協調学習の効果を期待できる．
しかし，TUI を取り入れたプログラミング環境
では特別なデバイスやツールを必要とする場合が多く，環境整備コストが高い．
そこで，本研究では紙で出来た命令オブジェクトによる操作でプログラミング学習が行える環境を提案する．この環境はプリンタと web カメラの用意があれば誰でも学習を始めることができる．命令オブジェクトを並べて作成したプログラムを実際のプログラミング言語に変換する機能や，プログラムの実行順序が可視化されるハイライト機能等を搭載し，より実践的なプログラミング能力が身に付く環境を目指した．

2

令オブジェクトを組み合わせてロボットを制御する
Tern[3]，LED ブロックを用いた書き換え可能な命令オブジェクトを組み合わせる Tiles[4] などがある．
紙で出来た命令オブジェクトを用いたものでは，オブジェクトを並べてキャラクタの動作をプログラムする Robert[5] が存在する．これらに対して本研究では，環境に特別なデバイスを使用せず，実際のプログラミング言語への変換や実行部分のハイライト表示等の機能で学習支援を行うといった，先行研究とは異なるアプローチによる提案を行う．

3

Sheets3.1 概要Sheets は紙で出来た命令オブジェクトを並べることでプログラミングが行える環境である (図 1)．
ユーザは命令オブジェクトを組み合わせてプログラムを組み，画面上で図形の描画や移動を表現する．
命令は，図の操作，繰り返し，条件分岐，値の代入などが用意されている．また，並べた命令オブジェ
クトに対するタッチ入力や命令オブジェクト同士の距離を値として取得するといった，実世界でのイベントをプログラムに取り入れることができる．並べられた命令オブジェクトは web カメラで撮影され，ソフトウェアによってどのようなプログラムが組まれているかを判断し，実行される．命令オブジェク
トによるプログラムは，ユーザ視点の向かって左から順に処理される．

関連研究

初学者に向けたプログラミング学習環境は多数存在する．GUI による操作が主な環境では，画面上の命令ブロックの組み合わせや，絵を描くことでプログラミングを行う Scratch[1] や，VISCUIT[2] などがある．TUI を取り入れた環境では，木製の命∗

Copyright is held by the author(s).
Kazuki Tada, 筑波大学 情報学群 知識情報・図書館学類,
Jiro Tanaka, 筑波大学 システム情報系

図 1. (a)Sheets で用いられる紙で出来た命令オブジェ
クト (b)Sheets によるプログラミングの様子

WISS 2014

3.2

紙としての命令オブジェクト

命令オブジェクトに紙を用いることで．学習環境整備が容易になることだけではなく，紙そのもののアフォーダンスをプログラミング学習の課程に取り入れることができる．Sheets では，命令オブジェク
トへの書き込みによって繰り返し文の回数や変数の値を変更することができる (図 2a)．また，学習者が描いた自由な絵を描画命令としてプログラムで扱うことができる (図 2b)．さらに，ノートや本に貼付けてアーカイブができ，プログラムのそばに注釈や解説を書きながらの学習が可能である．

ムワークを使用したものである．提示されるソース
コードは Processing 環境での実行に限らず，その場で編集し実行することができる．そのため，命令オブジェクトを並べてベースとなる動きを作り上げ，その後でソースコードを編集して細かな動きを作り上げるといった学習が可能である．

図 3. プログラミング言語への変換

4

図 2. (a) 書き込みによる値の変更 (b) 自由な描画内容の使用例

3.3 実世界イベント
Sheets は，図形の描画や制御を行う基本的な構文の他に，実世界でのイベントをプログラム内に取り入れることができる．命令オブジェクトに対するタッチを取得することや，命令オブジェクト間の距離を取得することが可能である．これらを用いることで，「ある命令オブジェクトにタッチすると，描画されたものの色が変化する」「描画された図形を命令オブジェクト間の距離に応じて移動させる」といったプログラムが組める．

3.4 実行順ハイライト
Sheets は，現在どの命令を解釈して実行しているかを命令オブジェクトのハイライトによって可視化する．これにより，入れ子になった繰り返し文や複雑な条件分岐文の実行順序を視覚的に確認することができる．ハイライトが行われている間，プログラ
ムは一つの命令につき一秒の時間をかけながら順番に実行される．

3.5

コード変換

命令オブジェクトを並べて作られたプログラムは，実際のプログラム言語のソースコードに変換され，その内容が画面上に提示される (図 3)．変換で得られるソースコードの言語は Processing に独自のワレー

まとめ

本稿では紙で出来た命令オブジェクトを用いたタ
ンジブルなプログラミング環境 Sheets について述
べた．Sheets を用いることにより，ユーザは特別なデバイスの用意をすること無くタンジブルな環境でプログラミングを学習することができる．
今後はプログラミングに触れたことがない初学者に向けた評価を行い，環境の見直しと既存の環境との比較検討を行う．

参考文献[1] Mitchel Resnick, John Maloney, et al. Scratch
programming for all. In Communications of theACM, 52, 11, pp. 60–67, 2009.
[2] Yasunori Harada and Richard Potter. Fuzzy
rewriting:soft program semantics for children. In
IEEE Symposium on Human Centric Computing
Languages and Environments, 1, 1, pp. 39–46,2003.
[3] Michael S. Horn, Erin Treacy Solovey, R. Jordan Crouser and Robert J. K. Jacob. Comparing
the use of tangible and graphical programming
languages for informal science education. In Proceedings of the 27th international conference on
Human factors in computing system, CHI’09, pp.
975–984, 2009.
[4] 川崎 基輝, Nguyen Tran Huu Nguyen, 秋田 純一.
2 色での入力・表示可能なマトリクス LED ブロックを用いたタンジブルなプログラミング教材. イ
ンタラクション 2014, pp. 206–209, 2014.
[5] Michael S. Horn, Sarah AlSulaiman, and Jaime
Koh. Translating roberto to omar: Computational literacy, stickerbooks, and cultural forms.
In Proceedings of the 12th International Conference on Interaction Design and Children, IDC’13,
pp. 120–127, 2013.