Shoeisha Technology Media

EdTechZine(エドテックジン)

対象者別に探す

「ビスケット」が目指すプログラミングの大衆化――生みの親・原田氏がその特徴と活用ポイントを解説

「コンピュータと学び」のフォーラム 2019 春 レポート

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/03/26 07:00

 プログラミング教育の展望を考えるイベント『「コンピュータと学び」のフォーラム 2019 春〜「プログラミングの取組み」を考える 〜』が、2019年2月22、23日の2日間にわたって明星大学にて開催された。主催のCOPERUをはじめ、学校、民間のスクールなどでプログラミング教育を実施している先生方による発表が行われた。初日の22日には、「ビスケット(Viscuit)」の開発者で合同会社デジタルポケット代表の原田康徳氏によるセッションが2つ設けられ、その設計思想に触れる貴重な時間となった。今回は、ビスケットを切り口に、子ども向けプログラミング言語のタイプを整理しながら、セッションについてレポートする。

子ども向けプログラミング言語のタイプはさまざま

 「プログラミング」と聞くと大量な英語や数字が並んでいるイメージがある通り、通常はプログラミング言語ごとのルールに基づいたプログラムコードを記述していく。英語の指示語が多いが、語学としての英語とは全く違うものなので、英語ができればプログラミングができるわけではないし、プログラミングができれば英語が流ちょうに使いこなせるわけでもない。

 子どもの場合、文字をタイプするのがハードルになることが多い上、英語が母語でないとアルファベット表記も壁になる。そのため、子ども向けのプログラミング言語は、プログラムに必要な要素をグラフィカルにパーツ化し、ドラッグ&ドロップのマウス操作でプログラミングできるように工夫したものが多い。これらを広く「ビジュアルプログラミング言語」と呼び、それに対応して、文字でコードを記述するプログラミング言語を「テキスト言語」と呼ぶ。

 ビジュアルプログラミング言語といっても、その手法にはさまざまなタイプがあり、最もメジャーなのがScratchでおなじみのブロックタイプだ。ブロックタイプの場合、指示の書かれた小さなブロックをマウス操作でつなぎ合わせてプログラミングしていく。ブロックを並べる順序や論理構造の作り方は、一般的なテキスト言語の考え方に似ている。また、ブロックタイプで多カ国の言語に対応している場合、例えば「move 10 steps」というブロックは「10歩動かす」のように日本語に置き換えられているので、英語が母語でない日本の子どもでも扱いやすい。

「ビスケット」はどんなプログラミング言語?

 今回のセッションで扱われた「ビスケット(Viscuit)」もビジュアルプログラミング言語なのだが、Scratchのようなブロックタイプのビジュアル言語とはずいぶん違い、非常に独特だ。

 ビスケットには、「メガネ」と呼ばれる独自の入れ物があり、例えばその左右のエリアに同じ絵を入れると、その配置に応じて絵に動きをつけることができる。さらに、メガネを複数用意したり、他の要素を追加したりすることで、条件のある仕組みを作ることもできるようになっている。動きや条件を言葉や数値で指定する工程はなく、非常に直感的なのだ。

 Scratchのようなブロックタイプは、基本的に、テキスト言語の論理構造をパーツ化しているので、方向性が全く違う。オープンソースのScratchから派生したものの他にも類似のものが多数あり、「ブロックタイプ」としてある程度ジャンルをくくることができる。

 同じビジュアルプログラミング言語といっても、ビスケットは独自路線で、類似のものは少ない。

魚が画面内を移動するパターンができる
ビスケットの操作画面。魚が画面内を移動するパターンができる
複数のメガネでシューティングゲームの仕組みを作った例
複数のメガネでシューティングゲームの仕組みを作った例

ビスケットの特徴は? 生みの親原田氏が解説

ビスケットの開発者の一人、原田康徳氏
ビスケットの開発者 合同会社デジタルポケット代表 原田康徳氏

 原田氏はビスケットの紹介をしながら、その特徴を解説した。ここでは3つのポイントをご紹介しよう。

(1)大ざっぱな指定ができる

 例えば、魚の絵を「斜め上に動け」と指定するとき、コンピュータを動かすには数値で指定する必要があるが、実際に人間が考える「斜め上」というのは、数値ではなくもっと大ざっぱな位置だ。ビスケットの場合、その大ざっぱな感覚で魚の絵をメガネの左右に配置すれば、2つの絵のずれからコンピュータが数値を取り出して解釈してくれる。

(2)座標の隠蔽

 ビスケットでは、「○○の絵にタッチしたら」といった条件や、「○と△の絵がぶつかったら」といった当たり判定の位置の設定に、座標の数値指定をする必要がない。直接メガネ上で、条件用アイコンの位置や、絵同士の配置を調整することで、タッチ判定や衝突判定の位置を決められる。

(3)必ず使うものは隠す

 プログラミングでは、論理構造を作る際にたいてい使う表現がある。例えば、「ずっと」「もし○○なら」などだ。ブロックタイプのビジュアルプログラミング言語の場合、テキスト言語と同様に、「ずっと」や「もし○○なら」のブロックを使って論理構造を作るのだが、ビスケットは違う。メガネの左右に入れるものやメガネ同士の配置に応じて、「ずっと」「もし○○なら」などが導き出されるのだ。

 以上のような特徴を持つビスケットの、プログラミング言語としての位置づけを、原田氏は図で示した。ビスケットは、JavaScript等の現在よく使われるテキスト言語の代替ではなく、それとは別の階層にある。ビスケットは新しいプログラミング言語の形を作ろうとしているわけだ。

プログラミング言語の階層
プログラミング言語の階層

関連リンク

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 狩野 さやか(カノウ サヤカ)

     株式会社Studio947のデザイナー、ライター。ウェブサイトやアプリのデザイン・制作、技術書籍の執筆に携わる。自社で「知りたい!プログラミングツール図鑑」「ICT toolbox」を運営し、子ども向けプログラミングやICT教育について情報発信している。著書に『見た目にこだわる Jimdo入門』(...

おすすめ記事

All contents copyright © 2017 Shoeisha Co., Ltd. All rights reserved. ver.1.0