JP6253170B1 - プログラム作成支援システム及びその方法 - Google Patents

プログラム作成支援システム及びその方法 Download PDF

Info

Publication number
JP6253170B1
JP6253170B1 JP2017030888A JP2017030888A JP6253170B1 JP 6253170 B1 JP6253170 B1 JP 6253170B1 JP 2017030888 A JP2017030888 A JP 2017030888A JP 2017030888 A JP2017030888 A JP 2017030888A JP 6253170 B1 JP6253170 B1 JP 6253170B1
Authority
JP
Japan
Prior art keywords
program
image
program creation
chips
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017030888A
Other languages
English (en)
Other versions
JP2018136446A (ja
Inventor
賢一 飛坐
賢一 飛坐
章 大木
章 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OFFICE ZERO LIMITED LIABILITY COMPANY
Original Assignee
OFFICE ZERO LIMITED LIABILITY COMPANY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OFFICE ZERO LIMITED LIABILITY COMPANY filed Critical OFFICE ZERO LIMITED LIABILITY COMPANY
Priority to JP2017030888A priority Critical patent/JP6253170B1/ja
Application granted granted Critical
Publication of JP6253170B1 publication Critical patent/JP6253170B1/ja
Publication of JP2018136446A publication Critical patent/JP2018136446A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrically Operated Instructional Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】簡便な手法によってプログラム作成を学習する。【解決手段】プログラム作成に際して、ユーザは、所定のシート30に固有の絵柄を有する複数のチップ40を配列する。サーバ1は、各チップの絵柄とプログラムの命令とを対応付けて登録する命令テーブル50と、カメラ206で撮影された複数のチップの配列の画像から、チップが有する絵柄の画像を認識する画像処理部104と、命令テーブル50を参照して、画像処理部104で認識された絵柄の画像に対応する命令を特定して、その特定された複数の命令から構成されるプログラムを生成するプログラム作成処理部103と、を有する。【選択図】 図1

Description

本発明は、プログラム作成支援システム及びその方法に係り、特にプログラミング学習に好適なプログラム作成の支援技術に関するものである。
AI(人工知能)や情報技術(IT)の更なる発展に伴い、IT技術者の不足が予想され、プログラミング人材育成の重要性が叫ばれている。プログラミング人材育成ための対応の1つとして、我が国では、文部科学省が子供向けのプログラミング教育の重要性を提唱し、2020年から小学校でプログラミング教育が必須となった。既に、子供向けのプログラミング教育のシステムや教育治具、玩具等がいろいろと提案されており、なかには実用化されているものもある。
その一つとして、コンピュータやインターネットを利用した初級者向けのプログラミング教育支援が提唱されている。例えば、特許文献1には、学習者用クライアントと、学習管理者用クライアントと、学習管理サーバを、ネットワークを通して接続して、学習者による課題の解答過程をオンラインでリアルタイムに把握してデータベース化し、記録したデータを基に任意の時間軸で解答過程を再現したりグラフによる可視化を行ったりして、各学習者のプログラミング習熟度を容易にかつ的確に把握できるプログラミング教育支援システムが開示されている。
また、コンピュータを利用した子供向けのプログラミングとして、文部科学省が開発した「プログラミン」(非特許文献1)と称する子供向けのサービスは、表示装置の画面にマウスを操作しながら、複数の絵(ブロック)を組み合わせることでプログラムを組み上げるものである。
特開2006−227218号公報
文部科学省「プログラミン」2013年10月22日 http://www.mext.go.jp/programin/
上記特許文献1に記載の技術は、学習管理サーバが学習者のプログラミング習熟度を容易にかつ的確に把握することを主題としており、如何にして学習者にプログラムを作成させるか、については詳述されていない。
また、非特許文献1で紹介されているプログラミングは画面上で操作するため、パソコン(PC)等の使用が前提となる。学校の授業でプログラミング学習を行うとなると、生徒数に応じたPCが必要となるので相当の費用がかかり、更に生徒はPCの画面を操作するための基本的な操作を習得する必要がある。
そこで、余り費用がかからず、とりわけ子供が簡便にプログラムの作成を学習することができる仕組みないし教育具が望まれる。
本発明の目的は、簡便な手法によってプログラムの作成ができるプログラム作成支援システム及びその方法を提供することにある。
本発明に係るプログラム作成支援システムは、好ましくは、コンピュータを用いて、プログラムの作成を支援するプログラム作成支援システムであって、
複数の各物品が有する視認特性とプログラムの命令とを対応付けて登録する命令テーブルと、
プログラムの作成に際して並べられた複数の物品の配列を撮影するカメラと、
該カメラで取得された該物品の配列の画像から、複数の該物品に関係する該視認特性の画像を認識する画像処理部と、
前記命令テーブルを参照して、該画像処理部で認識された該物品の該視認特性の画像に対応する命令を特定して、該特定された該複数の命令から構成されるプログラムを生成するプログラム作成処理部と、を有することを特徴とするプログラム作成支援システム、として構成される。
本発明に係るプログラム作成支援方法は、好ましくは、コンピュータを用いて、プログラムの作成を支援するプログラム作成支援方法であって、
固有の表示を有する複数の各部品の表示とプログラムの命令とを対応付けて登録する命令テーブルを記憶手段に用意するステップと、
プログラムの作成に際して並べられた複数の部品の配列であって、カメラで取得された該部品の配列の画像から、複数の該部品に関係する該表示の画像を認識する画像処理ステップと、
前記命令テーブルを参照して、該画像処理ステップで認識された該部品の該表示の画像に対応する命令を特定して、該特定された該複数の命令から構成されるプログラムを生成するプログラム作成処理ステップと、
該プログラム作成処理ステップにより作成されたプログラムを記憶手段に記憶するステップと、を有することを特徴とするプログラム作成支援方法、として構成される。
本発明によれば、簡便な手法によってプログラムの作成が可能となる。
一実施例によるプログラム作成支援システムの構成を示す図である。 携帯端末の構成例を示す図である。 プログラムシートの例を示す図である。 プログラムの作成に用いられるチップの例を示す図である。 プログラム命令の例を示す図である。 プログラム命令の例を示す図である。 プログラム作成におけるチップの配列例を示す図である。 プログラム作成におけるチップの配列例を示す図である。 プログラム作成におけるチップの配列例を示す図である。 カリキュラム管理テーブルの構成例を示す図である。 ユーザ管理テーブルの構成例を示す図である。 先生管理テーブルの構成例を示す図である。 プログラム管理テーブルの構成例を示す図である。 プログラム作成の概略的な動作を示すフローチャートである。 プログラム作成の処理動作を示すフローチャートである。 プログラム作成の処理動作を示すフローチャートである。 携帯端末の画面表示の例を示す図である。 プログラム作成支援システムの接続構成を示す図である。 他の例によるプログラム作成の概略的な動作を示すフローチャートである。
本発明の好ましい例は、コンピュータを用いたプログラム作成支援システムにより実現される。予め命令の定義された、絵柄の描かれた複数のチップと、チップを並べる所定のシートが用意される。ユーザは、目的に従って複数のチップを選択的にシート上に並べる。このチップの配列を、スマートファンのような携帯端末が備えるカメラで撮影する。プログラム作成支援システムにおける処理装置(例えばサーバ)が、カメラで取得されたチップの配列の画像から各チップの絵柄の画像を認識してプログラムを構成する命令コードを特定し、命令コードの配列からプログラムデータを作成する。作成されたプログラムデータは携帯端末へ送信されて実行される。プログラムの実行は例えば携帯端末の表示部の画面にキャラクタの動画として表示される。
好ましい例によれば、ユーザが多数の生徒から成る学校の授業において、先生が所持する1台の携帯端末があればプログラム作成の授業が可能となる。即ち、各生徒がチップの配列を終了する度に、携帯端末のカメラでチップの配列を順次撮影して、その画像をサーバへ送信して、サーバでプログラムを作成する。そして、プログラムの実行はその都度、携帯端末の画面で動画として見ることができるので、生徒ごとにプログラムの出来ばえがわかる。
本発明の好ましい例によれば、ユーザが1人でPCの画面を操作しながらプログラムを作成するという作業に比べて、シート上にチップを並べるという簡単な作業によってプログラムの作成することができる。そのため、プログラムの作成手順の習得が容易であり、プログラムの作成を教える先生も生徒も過度の負担が少ない。また、ユーザ1人1人にPCを用意する必要がないので多人数が同時に学習する場面に向いている。また、ユーザ毎にチップとシートのセットを用意することで対応できるので、低コストで実現できる。
以下、図面を参照して、本発明の一実施例について詳細に説明する。
図1は、プログラム作成支援システムの全体構成例を示す。
プログラム作成支援システムは、プログラムの作成を支援するサーバ1と、ユーザが使用する複数の携帯端末2とが、通信ネットワーク9を介して接続して構成される。
サーバ1は、利用者の情報を管理し、携帯端末との間でデータ通信し、プログラムを作成し実行する等、の種々のデータ処理を行うコンピュータである。その機能及び処理の詳細については後述する。なお、サーバ1のハードウェア構成は図示していないが、プログラムを実行する処理装置(プロセッサ)、メモリ、ハードディスクのような外部記憶装置、入力器、表示器等のハードウェア資源を有する。
プログラムの作成を支援するために、サーバ1は、携帯端末2のユーザや作業者の情報を登録する情報登録部102と、プログラムを作成するプログラム作成処理部103と、プログラムの作成に際してチップの画像を認識する画像処理部104を有する。また、データベース(DB)として、ユーザの情報やプログラミング学習の利用に関する種々の管理情報を登録する管理情報DB105と、プログラム作成に関する情報を記憶するプログラムDB106を有する。これらの処理部及びDBの構成や機能については後で詳述する。なお図示の例では、管理情報DB105とプログラムDB106とを別のDBとして構成しているが、これらは1つのDBで構成してもよい。
サーバ1はプログラム作成支援のためのサイトを有しており、携帯端末2からこのサイトに接続することで、プログラム作成支援を受けることができる。
携帯端末2は、例えばスマートフォン(以下単にスマホという)のような端末である。携帯端末2のハードウェア構成については、図2を参照して後述する。
図2は、携帯端末2のハードウェア構成を示す。
携帯端末2は、例えばスマートフォン(以下単にスマホという)のような携帯端末であり、種々のアプリケーションプログラム等を実行するプロセッサ(CPU)202と、データやプログラムを格納するメモリ203と、画面タッチ式の入力部204と、画面を表示する表示部205と、撮影機能であるカメラ206と、二次元バーコードを読み取るバーコードリーダ207と、ネットワーク9を通してサーバ1とデータ通信を行うネットワーク接続部208とを有する。スマホはインターネットを通して多くのサイトと接続することができて、ユーザが希望するアプリケーションがCPU202で実行される。また、スマホは上記以外に例えば音声入出力機能を始め種々の機能を有している。
[プログラムシート及びチップ]
図3は、プログラムシートの例を示す。
プログラムシート(以下単にシートという)30は、プログラムの作成に用いられる、例えばA4サイズの用紙である。学校の授業では、予め印刷されたシート30を先生が各生徒に配布する。シート30は普通の紙製というよりも、生徒が何回も使用できて、チップの配置に耐えられるように、プラスチック製が好ましい。
シート30の中央の広いスペースにはプログラムエリア302が確保される。シート30の上端にはタイトル301が印刷され、右上端には二次元バーコードを含む識別部305が印刷されている。タイトル301は例えばカリキュラムの名称である。識別部305の二次元バーコードはカリキュラムを識別するための識別情報を含んでいる。
プログラムエリア302には、複数の縦線と横線によりマトリクス状の罫線が印刷され、更にその左上端には、「スタート」マーク303が印刷され、そこから下へ向かって太い縦線のガイドライン304が印刷されている。マトリックス線やガイドライン304はチップを配列する案内となる。マトリクス状の縦線と横線はチップ絵柄の画像処理においてX/Y座標となる。シート30の原情報は画像としてプログラムDB106に記憶されている。
作業者である生徒は、ガイドライン304に沿って上から下へ向かってチップを配置していく。またある時は、マトリックス線に沿って左から右へチップを配置していく。図7Aから図7Cに、シート30に複数のチップ40を配置した例を示す。
図4は、プログラムの作成に用いられるチップの例を示す。
チップ40は、プログラムの命令が定義付けられた表示子である。例えば、命令の動作を絵柄で表現(印刷)した、縦2cm×横5cmほどのプラスチック製矩形片である。それぞれの絵柄は命令ごとに相違する。チップ40は、シート30上に容易に固定できて容易に剥がれるように、その裏面に簡易的な粘着材が形成されているのが好ましい。なお、チップ40の絵柄の原情報は画像としてプログラムDB106に記憶されている。
図4には17種類のチップの例が示されているが、命令の種類に応じてチップを更に増やすことができる。配布用の複数のチップ40をチップセットということにする。シート30やチップセット40は、ユーザからの要求に応じてユーザへ販売、発送される。なお、携帯端末2からの要求に応じて、指定されたプリンタにシート30やチップセット40を印刷するサービスとすることもできる。
[プログラム命令の例]
図5は、プログラム命令の例(命令リスト)を示す。
プログラム命令は、表示・動きを表す9つの命令と、制御文を表す2つの命令と、入出力を表す4つの命令と、パラメータ即ち1から9までの数値を表す命令と、その他の4つの命令から構成される。
各チップと命令は一意に対応しており、チップの絵柄と、命令の名称、命令動作、パラメータの関係は図示の通りである。備考は参考的な説明を表す。例えば、「表示・動き」命令において、右向きの絵(図5の一番目にある「動く:方向付き」命令)は、「指定された方向へ移動」を表す命令であり、この矢印が右へ向いているときは右へ移動、左を向いているときは左へ移動、を表す。パラメータは表示・動き命令の回数や向き、番号等を表す。命令との関係において、パラメータの指定が可能な命令についてパラメータの設定を可能とする。例えば、「動く:方向付き」命令はパラメータの回数設定が可能であるが、「拾う」命令はパラメータの設定ができない。
図6に例示するように、右向きの絵「動く:方向付き」命令で、パラメータが「3」のときは、「右へ3回動く」を意味する。ここで、ある命令を表す1つのチップ401の配列は必須であり、パラメータ402の配列は任意である。パラメータ402は命令の種類やその実行レベルに応じて変わる。
なお、「その他」の命令において、「START」の命令は、シート30に「スタート」が印刷されている場合は使用されない。「END」の命令は、チップ配列の最後に配置される。演算子や条件文の命令は用意されているが、カリキュラムの内容によっては使用されない場合がある。
これら命令の、チップの絵柄(即ち絵柄の画像)と、動作等を示す名称と、動作の関係は、対応表である命令テーブル(符号50で示す)に定義されてプログラムDB106に記憶されている。ここで、命令テーブル50の画面表示の例は図5のようになるが、プログラムDB106に保管される命令テーブル50には、絵柄の画像に対応した固有のコードデータ(命令コード)が含まれる。
一例では、カリキュラムに応じてこの命令テーブル50から複数の命令(命令セットという)が選択される。また、新たなチップの絵柄や新たな命令を規定した場合や、既定の絵柄を削除又は変更したい場合には、命令テーブル50の内容を変更することができる。それは、サーバ1が有する入力器(図示せず)又は携帯端末2からの管理者の入力指示によって、命令テーブル50におけるチップの絵柄と命令との対応関係を変更することができる。
[各種のテーブルの説明]
次に、図8乃至図11を参照して、プログラム作成支援のために使用される各種のテーブルの構成について説明する。各テーブル80〜110は、管理情報DB105に記憶される。
図8は、カリキュラム管理テーブルの構成例を示す。
カリキュラム管理テーブル80は、ユーザに提供するプログラム作成のカリキュラムを管理するテーブルである。ここで、カリキュラムとはユーザがプログラミングするための問題或いは課題と言ってもよい。カリキュラムと、カリキュラムに対応する具体的な問題内容と、当該カリキュラムにおいて使用されるシートとは関連付けられている。これについては、図15を参照して後述する。
カリキュラム管理テーブル80は、カリキュラムを識別するカリキュラム番号と、当該カリキュラムによるアプリケーションを実行するアドレスと、当該アプリケーションにおいて使用されるキャラクタを表すキャラクタセットと、命令テーブル50から選択された、当該カリキュラムで使用する全ての命令の参照番号(命令テーブル50の参照番号)とを登録する。ここで、アプリケーションとは、カリキュラムの選択から始まって、携帯端末1からシート及びチップ配列の画像を取り込む処理、及びプログラムの作成処理に至る一連の処理を行うプログラムである。キャラクタとは、プログラムの実行において動画として使用される登場者であり例えばウサギや亀の画像、有名なアニメの画像である。
また、当該カリキュラムで使用する全ての命令の参照番号を命令セットに登録する理由はプログラム作成処理を速くするためである。即ち、プログラム作成処理に際して、命令テーブル50を参照しながらチップ配列の画像から個々のチップの画像を認識する処理を行うが、このときに命令テーブル50に登録された全てのチップ画像をスキャンすると多大な時間がかかる。これに対して、命令セットに登録された参照番号に対応する命令を対象にスキャンすれば、画像の認識にかかる時間は大幅に短くなる。
図9は、ユーザ管理テーブルの構成例を示す。
ユーザ管理テーブル90は、プログラムを作成するユーザの情報を管理するテーブルである。ユーザ管理テーブル90は、ユーザの識別IDである識別情報と、ユーザの名前と、プログラムデータを記憶しているアドレスを示すプログラムデータ格納先インデックス(ID)と、カリキュラム識別情報として、カリキュラム管理テーブルから選択されて利用されるカリキュラム番号と、更新日時と、個人情報としてユーザが所有する携帯端末のメールアドレス等、を登録する。カリキュラム識別情報には、過去に利用したカリキュラム番号がログとして逐次登録されていく。この例では、プログラムデータ格納先IDは、作成されたプログラムデータを管理するプログラム管理テーブル110のアドレス或いはプログラム管理テーブル110を指定する情報を表す。
学校の授業や団体でプログラム学習をする場合には、先生が所持する携帯端末2を用いてサーバ1とデータ通信するので、先生管理テーブル100が主に使用される。そのため、ユーザとしては、ユーザ管理テーブル90に生徒を識別するIDを含む生徒に関する情報を登録しなくてもよい。これに対して全ての生徒が携帯端末2を有していて、各人が独立してプログラム作成を行う場合にはユーザ管理テーブル90に全ての生徒のユーザ情報を登録する。
図10は、先生管理テーブルの構成例を示す。
先生管理テーブル100は、学校の授業でプログラム学習をする場合、先生及びクラスを構成する生徒に関する情報を管理するテーブルである。先生管理テーブル100は、先生を識別する先生IDと、先生の名前と、プログラムデータを記憶しているアドレスを示すプログラムデータ格納先インデックス(ID)と、カリキュラム識別情報として、カリキュラム管理テーブルから選択されて利用されるカリキュラム番号と、ユーザ識別情報としてクラスの生徒識別IDと、個人情報としての先生が所有する携帯端末のメールアドレス等、を登録する。ユーザ識別情報にはクラスを構成する全ての複数の生徒IDが登録される。カリキュラム識別情報には、過去に利用したカリキュラム番号がログとして逐次登録されていく。
図11は、プログラム管理テーブルの構成例を示す。
プログラム管理テーブル110は、作成されたプログラムに関する情報を管理するテーブルである。プログラム管理テーブル110は、プログラムを作成したユーザ識別IDと、カリキュラム番号と、作成されたプログラムデータと、プログラムの登録日時と、その修正日時と、を登録する。本実施例では、ユーザ識別IDには生徒識別IDが登録されることになる。プログラムデータとは、作成されたプログラムそのものであり、複数行のプログラムステップの場合その行数分が登録される。
[プログラム作成の概略動作]
次に、図12を参照して、プログラム作成の概略的な動作について説明する。
この例は、携帯端末2を所持している先生が、複数の生徒に対してプログラミングの授業を行う場合のフローを示している。図中、実線で示すステップは携帯端末又はサーバによる処理動作を表し、点線で示すステップは人間(先生又は生徒)の動作を表す。
まず、先生は携帯端末2を操作してアカウントとパスワードを入力してログインを行う(S1201)。そして、携帯端末2はネットワーク9を介してサーバ1と接続され、本件のプログラム作成のサイトに接続される。すると、携帯端末2にはカリキュラム選択用の画面が表示部205に表示される。先生は、表示された画面から目的のカリキュラムを選択する(S1202)。
ここで、カリキュラムの選択からシート30の用意までの動作について説明する。カリキュラムの選択は、図15(A)に示すような、カリキュラム一覧表の画面が携帯端末2の表示部205に表示される。先生は、表示されたカリキュラム一覧表から目的とするカリキュラム(問題)を選択する。すると、図15(B)に示すように、選択された問題の詳細を表す画面が表示される。先生は問題の詳細内容を確認して了解ならば、その画面の下にある「シート」を選択する。すると、図15(C)に示すような、当該カリキュラムに対応したシートが印刷される。シートの印刷は予め指定されたプリンタを用いて行うことができる。なお、学校の授業でプログラミングを行う場合には、授業内容を予め理解しておく必要があるので、ここまでの動作を予め完了しておき、シートを事前に準備することができる。
なお、図15(A)〜(C)に示すような、画面の情報は管理情報DB105に記憶されていて、携帯端末2の入力指示に応じて携帯端末2へ送信されて表示される。
実際のプログラミンングの授業に際して、先生は、用意されたシート30とチップセット40を複数の生徒に配布して(S1203)、プログラミングの出題をする(S1204)。出題とは、図15(B)に示された問題を説明することである。例えば、カリキュラムの「トレーニング1」に対応する設題「りんごをテーブルに置いて部屋から出ましょう」のような題目である。少し高度な出題(例えば「入門3」)としては、諸動作を一つ一つ言わずに「ウサギさんとカメさんが競争する運動会」というような設題もあり得る。
生徒は、プログラミング即ち、配布されたシート30上にチップ40を配列する作業を行う(S1211)。チップ40の配列作業の結果、例えば図7A〜図7Cのように、シート30上にチップが配列される。実験例によれば、図7A〜図7Cは、問題「りんごをテーブルに置いて部屋から出ましょう」について、複数の異なるチップの配列によって解答した例である。
シート30上におけるチップ40の配列作業が終了すると、先生は携帯端末2のカメラ206で作業済みのチップ配列シート40を撮影して、その撮影した画像をサーバ1へ送信する(S1205)。
サーバ1では、受信した画像を基にプログラム作成処理を行う(S1206)。この処理については後で詳述する。サーバ1で作成されたプログラムは携帯端末2で実行される(S1207)。
[プログラム作成処理]
次に、図13及び図14を参照して、プログラムの作成処理について説明する。
図13は、プログラムの作成処理の全体のフローチャートを示す。
この処理に先立って、先生の携帯端末2からサーバ1が運営するサイトをアクセスして、ユーザ管理テーブル90にはユーザ(生徒)の名前等を含む個人情報が登録されている。また、先生管理テーブル100には、先生の名前や携帯端末2のメールアドレス、及びプログラミング授業に関わるクラスの生徒(ユーザ)の識別IDが登録されている。
更に、図12のカリキュラム選択処理(S1202)により、カリユラム選択画面(図15)を用いてカリキュラムを選択して、カリキュラム管理テーブル80から選択されたカリキュラム番号が、先生管理テーブル100に登録される。なお、本例の処理では、生徒個人毎に異なるカリキュラムを選択しないので、ユーザ管理テーブル90には選択されてカリキュラム番号を登録する必要がない。
また、図12に示すように、シート30と、選択されたカリキュラム番号に対応するチップセットが複数の生徒に配布され、プログラミング授業において生徒はシート30上にチップ40を配列する作業を完了した、とする。
ここで、図7A〜図7Cを参照して、チップの配列の例について説明しておきたい。
このチップ配列の例は、問題「りんごをテーブルに置き部屋から出ましょう」に対して、3人の生徒がそれぞれ別のチップ配列を行った例である。図7A〜図7Cの何れも同じ動作を行い、正解となる。因みに、図示のチップの配列に基づくプログラム命令による動作は、以下の通りになる。
・右に2歩
・下に3歩
・拾う
・左に2歩
・置く
・下に2歩
・扉を開ける。
説明を図13に戻す。先生は、携帯端末2を操作してログインを行う(S1301)。この場合、サーバ1の情報管理部102は、先生管理テーブル100を参照して、先生識別IDを確認し、もしカリキュラム番号が登録されていない場合には、携帯端末1の表示部に、カリキュラムの選択を促す画面を表示して、図12に基づく画面から上記のような処理を行わせる。そして、情報管理部102は、先生管理テーブル100に登録されたカリユラム番号を基にカリユラム管理テーブル80を参照して、カリユラム管理テーブル80に登録されているアプリケーションを起動する。アプリケーションが起動されると、選択されたカリキュラム番号を登録したカリユラム管理テーブル80の情報が携帯端末2のメモリに取り込まれて記憶される。
先生は、携帯端末2のバーコードリーダ207を用いてシート2の識別部305を読ませる。更に、カメラ206を用いてチップ40が配列されたシート(チップ配列シート)30を撮影する。識別部305の情報及びチップ配列シートの撮影された画像(チップ配列シート画像)は一時、メモリ203に格納される(S1303)。チップ配列シート画像をメモリ203に登録する場合、当該画像が特定のユーザ(生徒)によって作成された旨を表示するために、先生は入力部204からユーザ識別ID(この場合、生徒識別ID)を入力する。チップ配列シート画像にはユーザ識別IDが付与されてメモリ203に格納される。
識別部305からの情報にはカリキュラムを識別する情報が含まれており、CPU202がその識別情報とカリユラム管理テーブル80に登録されたカリキュラム番号と比較する。比較の結果、両者が一致すると、使用されたシート30が正しいと判断して、その後の処理を継続させる。一方、比較の結果正しくないと判断すると、CPU202は表示部205にその旨を表示して、シート30及びカリキュラム番号の確認を促す。
カリキュラム番号に対応した正規のシート30が使用された場合、CPU202はネットワーク接続部208を介して、チップ配列シート画像をサーバ1へ送信する(S1303)。チップ配列シート画像のサーバ1への送信は、生徒ごとのチップ配列シート画像を取得する度に行ってもよいし、複数の生徒のチップ配列シート画像がメモリ203に蓄積された時に行ってもよい。チップ配列シート画像には、先生識別ID、カリキュラム番号及びユーザ識別ID(この例では生徒識別ID)が付与されてサーバ1へ送信される。
サーバ1がチップ配列シート画像を受信すると、情報管理部102は、送信元のアドレスが先生管理テーブル100に登録されたメールアドレスかを確認する。更に、受信したチップ配列シート画像に付与された生徒識別ID及び先生識別IDを取得して、先生管理テーブル100に登録されたものかを確認する。この確認の結果正しければ、画像処理及びプログラム作成処理に移る。(なお、ユーザ個人が自らの携帯端末からチップ配列シート画像をサーバへ送信する場合には、情報管理部102はユーザ管理テーブル90を参照して、正規に登録されたメールアドレスかを確認することになる。)
プログラム作成処理に際して、まず画像処理部104が、取得した上記画像からチップの有する絵柄の画像を認識する処理を行う(S1304)。その後、プログラム作成処理部103が、認識結果に基づいてプログラムの生成処理を行う(S1305)。これらの処理については、図14を参照して後述する。
プログラム作成処理部103で作成されたプログラムデータは、情報管理部102の処理に従って、プログラム管理テーブル110に格納される。即ち、プログラム管理テーブル110において、「ユーザID」には当該プログラムを作成したユーザである生徒IDが、「カリキュラム番号」には先生管理テーブル100に登録されたカリキュラム番号が、「プログラム」には作成されたプログラムデータが、「プログラムの登録日時」にはプログラムを格納した日時が、それぞれ登録される。
その後、プログラム管理テーブル110に登録されたプログラムを実行することができる(S1307)。一例では、プログラムの実行はその前段にプログラムのテスト及びその確認の処理を含んでいる。それは、チップ40の配列において、制御文のチップやパラメータのチップが所定の規則に従って配列されていないとか、「END」が無い等の場合があり、これらはプログラムの実行上エラーとしなければならないからである。テスト及び確認の処理においてそのようなエラーが発見されると、プログラムデータの修正作業に移る。
すなわち、プログラムのテスト及び確認のために、プログラム管理テーブル110に格納されたプログラムデータはネットワーク9を介して、送信元の携帯端末2へ送信され、CPU202で実行される。CPU202によるプログラムの実行は、例えばカリキュラム管理テーブル80に登録されたキャラクタの動画として、表示部205に表示される。先生は、表示部205に表示される動画を見て、当初設定した「問題」とカメラで取得されたチップ配列シート画像におけるチップ配列を基に、表示された動画が正しいか、を判断する。その結果、正しくないと判断した場合には、そのプログラムを作成した生徒に対して口頭でプログラミングの修正を指示する。併せて、入力部204より当該プログラムの修正を指示すると、その指示はサーバ1へ送信されて、プログラム管理テーブル110に修正中のフラグ(図示せず)が記憶される。生徒によるプログラミングの修正が終わると、上述した動作と同様にして、修正されたチップ配列シート画像がサーバ1へ送信される。この場合、同様にして、プログラム管理テーブル110に修正された(修正版)プログラムデータが格納される。併せてプログラム管理テーブル110の修正日時が登録される。
修正版プログラムは、上記と同様にして、先生が所持する携帯端末2で実行される。その結果、エラーが無ければ、その旨がサーバ1へ送信されて、プログラム完成を示すフラグ(図示せず)がプログラム管理テーブル110に登録される。
なお、完成後のプログラムの実行の例については、図16を参照して後述する。
次に、図14のフローチャートを参照して、画像処理(S1304)と、プログラム作成処理(S1304)を詳しく説明する。
画像処理(S1304)は、チップ配列シート画像から、個々のチップ40に描かれた絵柄の画像を認識して切り出す処理である。カメラ206で撮影された画像が傾いていることがあるので、まず、画像補正(S1401)の処理において、シート30の画像を基に画像の傾きを補正する。例えば、縦軸(Y軸)対してシート30のガイドライン304がある角度θ傾いていると判断したら、取得した画像全体を角度θ回転させて縦軸とガイドライン304を合せる。
次に、画像パターマッチング(S1402)において、命令テーブル50を参照しながら、チップ配列を構成する各チップ40が有する絵柄の画像が、命令テーブル50に登録された絵柄と一致するかを判断する。この処理により、命令テーブル50に登録された絵柄の画像に対応するコードデータが選択される。仮にもし、シート30上に消しゴムやごみ等があっても、それらの画像は選択されない(除外される)。画像パターンマッチングにおいては、取得されたチップ配列画像について、命令テーブル50に登録された全ての画像と比較することは行わず、カリユラム管理テーブル80に当初登録された命令参照番号に対応するチップ画像のみを対象として比較することで、処理時間の高速化を図っている。画像パターンマッチングの結果出力されるコードデータ(命令コード)には、当該絵柄画像が認識された場所の座標情報(シート30上のX/Y座標情報)が付加される。
プログラム作成処理(S1304)おいては、上記画像処理により特定された絵柄の画像に対応する命令コードを整列させる(S1403)。命令コードを整列する理由は、パターンマッチングで認識された絵柄の画像は命令コードには変換されたが、その配列は未だチップ30が配列された状態のままであるため、命令コードを並び直して整列させるためである。この整列は、命令コードに付加された座標情報を基に例えばY座標を基準として揃える。更にプログラムの生成に際して、命令テーブル50を参照して命令コードの並び方が正しいかを確認する。例えば、上記画像処理の結果、「動く」の命令コードの右隣りにパラメータ「回数」の命令コードが並ぶ場合は正しいが、「拾う」や「置く」の命令コードの右隣りにパラメータ「回数」が並ぶ場合は、命令テーブル50で許可していないので正しくないと判断する。並び方が正しくない場合、一例ではそのパラメータを無視する。また、命令コードに対するパラメータの並び方が正しい場合であっても、パラメータの命令コードが許容範囲を超えて右側にずれている場合には、その命令コードを左側に移動させて、例えば「動く」命令コードの右隣りに整列させる。
命令コードの整列及び確認が終了すると、整列された命令コードの順にプログラムコード化してプログラムデータを生成する(S1404)。作成されたプログラムのデータは、プログラム管理テーブル110の「プログラム」エリアに格納される。プログラム管理テーブル110には、ユーザ識別ID、カリキュラム番号、プログラム登録日時も併せて登録される。
上記の処理動作によりチップ40の絵柄の配列に基づくプログラムが作成される。例えば、図7Aから図7Cに示すように、同じ設題でありながらチップの配列が異なると、命令コードの配列も異なるので、プログラムとしては別のものとなる。然し、プログラムの実行によって表示部205の画面に表示されるキャラクタの動作は同じになる。
[プログラムの実行]
実施例1では、作成されたプログラムは、先生が所持する携帯端末2のCPU202で実行される。プログラムの実行は、キャラクタの動作を伴う動画として表示部205の画面に表示される、とした。しかし、これに限らず、プログラムは種々の機器で実行される。
図16は、プログラム作成支援システムにおいてサーバ1に接続される機器(接続機器という)を示す。例えば、サーバ1にはネットワーク9を介して、スクリーンに動画や映像を投影するプロジェクタや大型表示装置151、音響機器152、ロボットやミニカー等の動作機器153、を含む機器が接続される。
プログラムが実行される接続機器は1つの限らず、複数の機器で可能である。例えば、図5に示す命令リストの入出力命令の中から「音を鳴らす」が用いられる場合、表示装置151にキャラクタの動作が表示され、さらに音響機器152から音声が発生される。他の例として、音声を発するロボットを使用する場合、図5に示す命令リストの入出力命令の中から、「音を鳴らす」と「接続機器を制御」が用いられると、指定された先のロボットがプログラムの実行通りに動作し、かつロボットが備えるスピーカから音声が発せられる。
接続機器はインターネットに接続可能な、IPアドレスを有する全ての機器が対象となり得る。接続機器の管理は、サーバ1の管理情報DB105に、接続可能な機器のIPアドレス又はURLを登録する接続機器管理テーブルを用意しておき、接続機器管理テーブルを参照して出力先の接続機器を選択することで、プログラムが実行される機器への接続が可能である。接続機器の選択は、予め決めておいてもよいし、プログラムの完成した後に先生が所持する携帯端末2又は他の携帯端末から選択することができる。
[視覚障害者向けのプログラム作成支援システム]
上記実施例1は視覚正常者によるプログラム作成を前提としているが、本発明は視覚障害者がプログラム作成を行う場合にも有用である。その一例をあげれば、視覚障害者のためにシート30及び各チップ40には点字が施される。即ち、シート30のマトリックス線やガイドライン304、及びタイトル301や「スタート」マーク303は、上記した印刷の他に点字が形成される。また、各チップ40の所定の位置には上記した絵柄の他にチップの「名称」を表す点字が施される。さらに、命令テーブル50には、図5に示す構成に加えて、各チップの「名称」に対応して音符データが登録される。
ユーザはシート30及び各チップ40の点字を頼りにして、シート30上にチップ40を並べてプログラミングする。チップ配列シート画像をカメラで取得してからプログラムデータの生成までの動作は上記実施例1と同様である。プログラムの実行においては、携帯端末2の表示機能と音声出力機能を有効にして、或いは図16に示す音響機器152に接続して、プログラムを実行させることができる。プログラムの実行において、複数チップの配列の状態は音符による音の変化として出力されるので、視覚障害者はその音の変化を基にプログラムの出来ばえを把握することができる。
[他の例によるプログラム作成支援システム]
実施例1によるプログラム作成支援システムは、プログラム作成処理部103、画像処理部104、及び関連するテーブルや情報を記憶する管理情報DB105、プログラムDB106を全てサーバ1が有する。しかし、他の例によるプログラム作成支援システムは、これらの処理機能やDBの全部又は一部を携帯端末2に持たせることができる。
例えば、全ての処理機能及び関連するテーブルや情報を携帯端末2に持たせる場合、最初にプログラミング作成のサービスを行うサイト(例えばサーバ1が運営するサイト)にアクセスして、関係するアプリケーション(プログラム作成機能や関連する管理情報)をダウンロードして、携帯端末2に保持させる。あとは、上記実施例と同様にしてプログラムを作成することができる。この場合、シート30やチップ40は携帯端末2からの印刷指示により指定したプリンタで印刷して作成することができる。図13及び図14に示す処理は、携帯端末2が有するCPU202においてプログラムで実行される。
[他の例によるプログラム作成の概略動作]
実施例1では、図12に示すように、先生が所持する携帯端末2を使用して、生徒が作成したシート30上のチップ40の配列を撮影するとした。しかし、プログラムの学習は学校の授業のみで行なわれるわけはなく、ユーザが自ら1人で行うこともできる。この場合、ユーザが携帯端末を所持していて、自分でログイン動作等の基本的な操作ができることが好ましい。
図17に示すように、ユーザは自ら携帯端末を用いてログインし(S1201)、カリキュラム選択(S1202)、シート及びチップセットの準備をして、プログラミングする(S1211´)。この場合、先生管理テーブル100は使用されずに、ユーザ管理テーブル90が使用される。それ以外の主な処理動作は実施例1と同様である。
また、このプログラム作成支援システムは、プログラム作成の学習以外にも、プログラムを作成するゲーム装置や、プログラムによる制御装置や玩具の制御のためのプログラム作成、等にも適用可能である。
[他の例によるプログラム作成支援処理フロー]
実施例1では、図13を参照する処理フローにおいて、画像の取込み、送信(S1303)からプログラムの作成処理(S1305)、プログラムの実行(S1307)、を一連の処理として行うように説明した。しかし他の例によれば、これらの処理ステップを複数に分けてそれぞれ別のタイミングで行うことも可能である。例えば、学校の授業において、第1回目では、シート30上にチップ40を並べるまでを学習させ、複数の生徒がそれぞれ作成したチップ配列をカメラ206で撮影して、複数のチップ配列シート画像をメモリ203に格納するまでとし、第2回目でメモリ203に格納されたチップ配列シート画像をサーバ1へ送信して、サーバでプログラム作成処理して、作成されたプログラムを携帯端末2へ送信させてメモリ203に格納して、1人の生徒のプログラムをテスト実行させるまでとし、3回目で残りの生徒の作成したプログラムをテスト実行させて、その後、プログラムの修正作業をさせる等、複数回に分けて実施することが可能である。特に学校の授業では、全体の生徒の進捗を見ながら進めることが重要なので、上記のように、プログラムの作成過程を幾つかに分けて進めることが有意義である。
[他の例による管理テーブル]
実施例1では、カリキュラム管理テーブル80には当該カリキュラムで使用される全ての命令の参照番号(図5の命令テーブル50から選択された命令の参照番号)が登録されるとした。他の例においては、命令テーブル50から選択された命令の、チップの画像、名称、動作、パラメータ、及び命令コードの各データを登録するようにしてもよい。さらに、携帯端末2にプログラム作成支援のためのアプリケーションをサーバ1からダウンロードしておくことで、チップ配列画像を基にプログラムを作成する処理を携帯端末2のCPU202で行える。
更に他の例として、ユーザの要求に応じて、命令テーブル50から選択された複数の命令と、シート30と、チップ40を提供して、最終的にユーザによるプログラムの作成を支援するビジネスが考えられる。この場合、カリキュラム管理テーブル80はユーザ毎の契約管理テーブルとなり、カリキュラム番号はユーザごとの契約識別番号となる。例えば、サーバ1の情報管理部102は、上記他の例を踏襲した、選択された命令の、チップの画像、名称、動作、パラメータ、及び命令コードの各データを登録した契約管理テーブルと、ユーザ管理テーブルと、プログラム管理テーブル、及びプログラム作成支援のためのアプリケーションをユーザの携帯端末2へ提供する。携帯端末2では、取得されたチップ配列画像を基にCPU202で、図13及び図14に示す処理によりプログラムの作成が行える。
[他の例によるシート]
シート30は、図3に示したものに限定されない。チップ40の配列の容易性、簡便性を考慮すれば、プログラムエリア302に「スタート」マークや罫線やガイドライン304が印刷されている方が好ましいが、代案によれば、それらは必ずしも必要とされない。チップ40の配列の開始位置や配列方向が分れば、或いはある程度習熟したユーザならば、プログラムエリア302に罫線やガイドライン304は無くてもよいであろう。また、「スタート」マーク303は、「START」のチップで代用できる。
また、他の例によれば、シート30は必ずしも必要としない。要するに、チップ40の配列の規則に従って開始位置や配列方向、終了位置を明確にして、チップ40を白紙や机やテーブル上に配列し、その配列をカメラで撮影することで、上記実施例1と同様の作用ないし効果を得ることができる。カメラで取得される画像は、シート無しのチップ配列画像である。例えば、机上にチップを配列する場合、仮に机上に消しゴムや鉛筆等の異物があっても問題はない。それは、カメラで撮影した画像を基にした画像認識の過程において消しゴムや鉛筆の画像は除外されて、チップ固有の画像のみを認識して抽出することができるからである。
また、シートを用いない他の例として、例えば、チップ40を縦横1〜2m程の四辺形の厚紙カードで作成して、このカードを校庭に並べることでプログラミングして、そのカードの配列を、ドローンに搭載した無線通信機能付きのカメラで高所から撮影することで、チップ配列の画像を取得することも可能である。
[他の例によるチップ]
チップ40に関する他の例として、チップ40に施した絵柄や形状、大きさは、図4乃至図5に示したものに限定されない。絵柄に関して言えば、図4に示したような抽象的な絵や文字に限らず、例えば、ウサギが走ったり、回転したり、物を拾うような具体的な絵でもよい。その方が幼児にとっては絵と命令の意味との関係が理解し易いであろう。他の例としてトランプやカルタでもよい。また、チップの形状は四辺形に限らず、種々の形状であってよい。例えばウサギが走ったり、寝たり、飛んだりする絵を切り抜いた形状でもよい。
また、チップ30の呼び名に関して上記実施例ではチップ30と言ったが、これに限らない。例えば、カード、パーツ(part)、ピース(piece)、小片、紙片、エレメント(element)、総称して部品とか物品と呼んでもよい。
チップは、配列しその後に片付けて収納する都合上平面状カードが好ましいが、必ずしも平面状部材に限らない。要は、配列することができる物品であって、物品が持つ絵柄や形状の特性(視認特性という)と命令とが一意に対応付けられるものであれば実現可能である。なお、視認特性を有する物品を、固有の表示を有する部品と呼んでもよいであろう。
また、上記実施例ではチップ40の絵柄を画像認識することで命令と関係つけているが、これに限定されない。例えば、各チップ40に絵柄に加えて固有の数字やバーコードを付しておき、その数字やバーコードを認識することで、命令と対応付けすることも可能である。その場合、図5に示す命令テーブルには数字又はバーコードと命令との関係が登録されることになる。
また、チップ40に関する他の例として、チップはユーザが自ら作成して使用することが可能である。例えば、ユーザは、図4と同じ形状及び絵柄のチップ40を手製で又はコピーにより作成してチップの数を増やすことができる。この場合、ユーザが作製したチップの絵柄が予め決められたものと同じ又は許容の範囲であれば、サーバ1の画像処理においてユーザが作成したチップ40の絵柄も同様の画像として認識するので問題はない。
[その他の代替例]
上記実施例では、携帯端末2が有するバーコードリーダ207によって、シート30の識別部305を読み取るとした。代案では、カメラ206で識別部305を読み取って、画像認識機能により識別部305が有する識別情報を認識するようにすることもできる。
また、上記実施例では、携帯端末2が持つカメラ206でシートに並べられたチップの配列を撮影するとした。代替例によれば、携帯端末のカメラに限らず、通信機能を有するカメラや、或いは通常のデジタルカメラで撮影したチップ配列の画像をUSBメモリやSDメモリに格納しておき、このメモリをプログラム作成用のサーバや端末に装填することでチップ配列の画像を取得することも可能である。
本発明は上記実施例ないし代替例以外にも、種々変形、応用して実施することができる。
1:サーバ 2:携帯端末 9:ネットワーク
102:情報管理部 103:プログラム作成処理部
104:画像処理部 105:管理情報DB 106:プログラムDB
202:CPU 203:メモリ 204:入力部
205:表示部 206:カメラ 207:バーコードリーダ
208:ネットワーク接続部
30:シート 301:タイトル 302:プログラムエリア
303:スタートマーク 304ガイドライン 305:識別部
40:チップ 50:命令テーブル
80:カリキュラム管理テーブル 90:ユーザ管理テーブル
100:先生管理テーブル 110:プログラム管理テーブル

Claims (13)

  1. コンピュータを用いて、プログラムの作成を支援するプログラム作成支援システムであって、
    絵柄の描かれた平面状の複数のチップと
    前記複数のチップを配列するための案内となるガイドラインと、前記ガイドラインの上部に前記絵柄の1つとしてスタートマークが設けられたシートと
    前記複数のチップが有する前記絵柄の画像とプログラムの命令とを対応付けて登録する命令テーブルと、
    前記スタートマークを起点として、前記ガイドラインに沿って前記シート上に並べられた前記複数のチップの配列を撮影するカメラと、
    該カメラで取得された前記複数のチップの配列の画像から、前記複数のチップが有する前記絵柄の画像を認識する画像処理部と、
    前記命令テーブルを参照して、該画像処理部で認識された前記絵柄の画像に対応する命令を特定して、特定された複数の該命令から構成されるプログラムを生成するプログラム作成処理部と、
    を有することを特徴とするプログラム作成支援システム。
  2. 前記シートには、前記ガイドラインに沿う複数の縦線と、複数の横線から構成されるマトリクス線が設けられ、
    前記複数のチップは、前記マトリクス線の前記縦線の方向及び前記横線の方向へ配列可能であり、
    前記カメラは、前記縦線の方向及び前記横線の方向へ並べられた前記複数のチップの配列を撮影する
    ことを特徴とする請求項1のプログラム作成支援システム。
  3. 前記画像処理部は、取得された前記複数のチップの画像の配列が傾いている場合、前記ガイドラインを基に前記複数のチップの画像の傾きを補正し、
    前記プログラム作成処理部は、
    補正された前記複数のチップの画像について、前記命令テーブルを参照して、前記命令テーブルに登録された画像に対応する命令コードを選択して、複数の命令コードを整列させ、
    前記整列された命令コードの順にプログラムデータを生成する
    ことを特徴とする請求項1又は2に記載のプログラム作成支援システム。
  4. 前記プログラム作成支援システムは、サーバと、該サーバにネットワークを介して接続する携帯端末とを有して構成され、
    前記コンピュータはサーバであり、
    該サーバは、前記命令テーブルと、前記画像処理部と、前記プログラム作成処理部を有し、
    前記携帯端末は、前記カメラと、入力部と、表示部と、プログラムを実行するプロセッサと、記憶部と、該ネットワークに接続するネットワーク接続部と、を有し、
    前記プログラム作成処理部により作成された前記プログラムは該携帯端末へ送信されて、該携帯端末の該プロセッサは受信した前記プログラムを実行し、該表示部は前記プログラムの実行の様子を表示する
    ことを特徴とする請求項1乃至3のいずれかの項に記載のプログラム作成支援システム。
  5. 前記プログラム作成支援システムは、サーバにネットワークを介して接続される携帯端末を有して構成され、
    前記携帯端末は、前記カメラと、入力部と、表示部と、プログラムを実行するプロセッサと、記憶部と、該ネットワークに接続するネットワーク接続部と、を有し、
    該プロセッサは、前記画像処理部と、前記プログラム作成処理部を有し、
    該記憶部は前記命令テーブルを保持し、
    前記プログラム作成処理部により作成された前記プログラムは、該プロセッサで実行され、該実行の様子を該表示部に表示する
    ことを特徴とする請求項1乃至3のいずれかの項に記載のプログラム作成支援システム。
  6. 前記プログラム作成支援システムは、
    プログラミングのカリキュラムを識別するカリキュラム識別情報と、該カリキュラムに基づくプログラミングに使用される、前記命令テーブルから選択された複数の命令に関する情報を登録するカリキュラム管理テーブルを有し、
    前記シートは、前記カリキュラム管理テーブルに登録され前記カリキュラム識別情報を組み込んだ識別部を有し、
    前記携帯端末は、前記シートの前記識別部を読み取る読取手段を有し、
    前記携帯端末が有するプロセッサは、前記読取手段によって取得された前記カリキュラム識別情報を基に、前記カリキュラム管理テーブルにより参照される前記複数の命令と関連付ける
    ことを特徴とする請求項4又は5のプログラム作成支援システム。
  7. 前記命令テーブルにおける、前記チップが有する絵柄の画像と該プログラムの命令との対応は、該コンピュータへの入力指示によって変更可能である、
    ことを特徴とする請求項1のプログラム作成支援システム。
  8. 前記プログラム作成処理部により作成されたプログラムのデータを管理するプログラム管理テーブルと、該コンピュータに接続可能な複数の機器の情報を管理する接続機器管理テーブルと、を有し、
    前記プログラム作成処理部は、前記プログラム管理テーブルに登録された前記プログラムを、前記接続機器管理テーブルを参照して選択された該機器において実行させる
    ことを特徴とする請求項1のプログラム作成支援システム。
  9. コンピュータを用いて、プログラムの作成を支援するプログラム作成支援方法であって、
    複数のチップが有する絵柄の画像とプログラムの命令とを対応付けて登録する命令テーブルを記憶手段に用意するステップと、
    前記複数のチップを配列するための案内となるガイドラインと、前記ガイドラインの上部に前記絵柄の1つとしてスタートマークを有するシートに、前記スタートマークを起点として前記ガイドラインに沿って並べられた前記複数のチップの配列を、カメラが撮影するステップと、
    該カメラで取得された前記複数のチップの配列の画像から、前記複数のチップが有する絵柄の画像を認識する画像処理ステップと、
    前記命令テーブルを参照して、該画像処理ステップで認識された該絵柄の画像に対応する命令を特定して、特定された複数の該命令から構成されるプログラムを生成するプログラム作成処理ステップと、
    該プログラム作成処理ステップにより作成されたプログラムを記憶手段に記憶するステップと、
    を有することを特徴とするプログラム作成支援方法。
  10. 前記シートには、前記ガイドラインに沿う複数の縦線と、複数の横線から構成されるマトリクス線が設けられ、
    前記複数のチップは、前記マトリクス線の前記縦線の方向及び前記横線の方向へ配列可能であり、
    前記カメラは、前記縦線の方向及び前記横線の方向へ並べられた前記複数のチップの配列を撮影する
    ことを特徴とする請求項9のプログラム作成支援方法。
  11. 前記画像処理ステップは、取得された前記複数のチップの画像の配列が傾いている場合、前記ガイドラインを基に前記複数のチップの画像の傾きを補正し、
    前記プログラム作成処理ステップは、
    補正された前記複数のチップの画像について、前記命令テーブルを参照して、前記命令テーブルに登録された画像に対応する命令コードを選択して、複数の命令コードを整列させ、
    整列された命令コードの順にプログラムデータを生成する
    ことを特徴とする請求項9のプログラム作成支援方法。
  12. 前記命令テーブルにおける、前記チップが有する絵柄の画像と該プログラムの命令との対応は、該コンピュータへの入力指示によって変更可能である、
    ことを特徴とする請求項9のプログラム作成支援方法。
  13. 前記プログラム作成処理ステップにより作成されたプログラムのデータを管理するプログラム管理テーブルと、該コンピュータに接続可能な複数の機器の情報を管理する接続機器管理テーブルとを有し、
    前記プログラム管理テーブルに登録された前記プログラムを、前記接続機器管理テーブルを参照して選択された該機器において実行させる
    ことを特徴とする請求項9のプログラム作成支援方法。
JP2017030888A 2017-02-22 2017-02-22 プログラム作成支援システム及びその方法 Active JP6253170B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017030888A JP6253170B1 (ja) 2017-02-22 2017-02-22 プログラム作成支援システム及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017030888A JP6253170B1 (ja) 2017-02-22 2017-02-22 プログラム作成支援システム及びその方法

Publications (2)

Publication Number Publication Date
JP6253170B1 true JP6253170B1 (ja) 2017-12-27
JP2018136446A JP2018136446A (ja) 2018-08-30

Family

ID=60860060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017030888A Active JP6253170B1 (ja) 2017-02-22 2017-02-22 プログラム作成支援システム及びその方法

Country Status (1)

Country Link
JP (1) JP6253170B1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132037A1 (ja) * 2017-12-29 2019-07-04 株式会社アペイロン プログラミング支援具
JP2019122484A (ja) * 2018-01-12 2019-07-25 株式会社エルイーテック ブロックにコンテンツを関連付けする装置
WO2019187305A1 (ja) * 2018-03-27 2019-10-03 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
JP2020005707A (ja) * 2018-07-03 2020-01-16 株式会社エルイーテック ブロック玩具
JPWO2020255182A1 (ja) * 2019-06-17 2020-12-24

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020113322A (ja) * 2020-04-01 2020-07-27 ライフイズテック株式会社 プログラミング学習システム、プログラミング学習用プログラム、プログラミング学習方法。

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6087043U (ja) * 1983-11-16 1985-06-15 島田 喜郎 コンピユ−タプログラム図面作成用カ−ド
JPH07104661A (ja) * 1993-09-30 1995-04-21 Hitachi Software Eng Co Ltd コースウェア作成方法
US20140170606A1 (en) * 2012-12-18 2014-06-19 Neuron Fuel, Inc. Systems and methods for goal-based programming instruction
WO2015170873A1 (ko) * 2014-05-07 2015-11-12 김진욱 블록을 이용한 알고리즘 교육 장치
JP2017121283A (ja) * 2016-01-05 2017-07-13 株式会社セガ トイズ コーディング玩具、ブロック、ステージ、形象体玩具及びコーディング方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6087043U (ja) * 1983-11-16 1985-06-15 島田 喜郎 コンピユ−タプログラム図面作成用カ−ド
JPH07104661A (ja) * 1993-09-30 1995-04-21 Hitachi Software Eng Co Ltd コースウェア作成方法
US20140170606A1 (en) * 2012-12-18 2014-06-19 Neuron Fuel, Inc. Systems and methods for goal-based programming instruction
WO2015170873A1 (ko) * 2014-05-07 2015-11-12 김진욱 블록을 이용한 알고리즘 교육 장치
JP2017121283A (ja) * 2016-01-05 2017-07-13 株式会社セガ トイズ コーディング玩具、ブロック、ステージ、形象体玩具及びコーディング方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
原槙稔幸: "子ども向け科学実験教室におけるプログラミング体験への拡張現実の導入に関する検討", 情報処理学会第75回(平成25年)全国大会講演論文集(4), JPN6017030570, 6 March 2013 (2013-03-06), JP, pages 第385〜386頁 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132037A1 (ja) * 2017-12-29 2019-07-04 株式会社アペイロン プログラミング支援具
JPWO2019132037A1 (ja) * 2017-12-29 2019-12-26 株式会社アペイロン プログラミング支援具
JP2019122484A (ja) * 2018-01-12 2019-07-25 株式会社エルイーテック ブロックにコンテンツを関連付けする装置
WO2019187305A1 (ja) * 2018-03-27 2019-10-03 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
JP2019174524A (ja) * 2018-03-27 2019-10-10 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
CN111448599A (zh) * 2018-03-27 2020-07-24 合同会社奥菲斯泽罗 程序制作辅助系统及其方法和程序
US10963225B2 (en) 2018-03-27 2021-03-30 Office Zero Limited Liability Company Program creation assisting system, method for same, and program
JP2020005707A (ja) * 2018-07-03 2020-01-16 株式会社エルイーテック ブロック玩具
JPWO2020255182A1 (ja) * 2019-06-17 2020-12-24
JP7184402B2 (ja) 2019-06-17 2022-12-06 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法

Also Published As

Publication number Publication date
JP2018136446A (ja) 2018-08-30

Similar Documents

Publication Publication Date Title
JP6253170B1 (ja) プログラム作成支援システム及びその方法
WO2014153682A1 (zh) 一种全景模式的在线学习系统及学习系统专用笔
CN110162164A (zh) 一种基于增强现实的学习互动方法、装置及存储介质
CN105825732A (zh) 汉语言文学教学用辅助系统
Desierto et al. GoonAR: A bilingual children storybook through augmented reality technology using unity with Vuforia framework
JP6957918B2 (ja) 情報表示装置、情報表示方法、及びプログラム
JP6651148B2 (ja) プログラム作成支援システム及びその方法並びにそのプログラム
JP6815052B2 (ja) プログラム作成支援システム及びその方法
KR100997682B1 (ko) 인터넷 기반의 영자신문기사를 활용한 멀티미디어 교재에 의한 전화 및 화상 수업 방법
TWI591501B (zh) The book content digital interaction system and method
JP7284516B2 (ja) プログラム作成支援システム及びその方法並びにそのプログラム
JP6633115B2 (ja) プログラム作成支援システム及びその方法並びにそのプログラム
TWM631351U (zh) 線上互動課件教學系統
KR102070178B1 (ko) 사용자 참여형 한글 교육 시스템 및 이의 실행 방법
JP2005173348A (ja) コンテンツ操作用端末装置及びコンテンツ表示制御方法及びそのプログラム並びにコンテンツ配信システム
JP7184402B2 (ja) プログラム作成支援システム及びその方法
TWI596582B (zh) Teaching method of remote control operation ebook and its intelligent device
TWM524977U (zh) 遙控操作電子書的智慧型裝置
JP7031173B2 (ja) 情報処理装置、画像形成装置及びプログラム
González López et al. Atenea: Digitalizing Educational Games with Light Tables
JP6769391B2 (ja) データ管理システム、データ管理方法、データ管理装置及びデータ管理プログラム
KR20230108398A (ko) 혼합현실을 기반 원격 강의 시스템
Brown et al. Interactive Level Design for iOS Assignment Delivery: A Case Study
TWM627692U (zh) 圖像化互動學習教具
Rose A Practical Guide to Combining Technology & Traditional Art Skills in Education

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171124

R150 Certificate of patent or registration of utility model

Ref document number: 6253170

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250