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

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

Info

Publication number
JP6633115B2
JP6633115B2 JP2018059677A JP2018059677A JP6633115B2 JP 6633115 B2 JP6633115 B2 JP 6633115B2 JP 2018059677 A JP2018059677 A JP 2018059677A JP 2018059677 A JP2018059677 A JP 2018059677A JP 6633115 B2 JP6633115 B2 JP 6633115B2
Authority
JP
Japan
Prior art keywords
chip
program
assignment
image
chips
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
JP2018059677A
Other languages
English (en)
Other versions
JP2019174524A (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 JP2018059677A priority Critical patent/JP6633115B2/ja
Priority to PCT/JP2018/041435 priority patent/WO2019187305A1/ja
Priority to CN201880077722.3A priority patent/CN111448599A/zh
Priority to EP18911956.3A priority patent/EP3779926A4/en
Publication of JP2019174524A publication Critical patent/JP2019174524A/ja
Application granted granted Critical
Publication of JP6633115B2 publication Critical patent/JP6633115B2/ja
Priority to US17/032,203 priority patent/US10963225B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Description

本発明は、プログラム作成支援システム及びその方法並びにそのプログラムに係り、特に初心者のプログラミング学習に好適なプログラム作成の支援技術に関するものである。
AI(人工知能)や情報技術(IT)の発展に伴い、プログラミング人材育成の重要性が叫ばれている。プログラミング人材育成ための対応の1つとして、我が国では、文部科学省が子供向けのプログラミング教育の重要性を提唱し、2020年から小学校でプログラミング教育が必須となった。既に、子供向けのプログラミング教育のシステムや教育治具、玩具等がいろいろと提案されている。
本出願人は、より簡単かつ安価に子供たちにプログラミングを学習させる新たな手法を特許文献1で提唱している。特許文献1には、固有の絵柄を有する複数のチップをシート上に配列させ、そのチップの配列をカメラで撮影して、得られた絵柄の画像を認識して、対応付けられた命令を特定することで、複数の命令から構成されるプログラムを生成するプログラム作成支援システム及びその方法が開示されている。
特許第6253170号公報(2017年12月27日発行)
本発明者らは、子供向けのプログラミング手法を開発していく段階で新たな課題に気が付いた。すなわち、特許文献1に記載のプログラミング手法は、固有の絵柄の描かれた複数のチップをシート上に配列させ、そのチップの配列をカメラで撮影することを前提としている。然しながら、子供たちに複数のチップをシート上に配列させると、チップの配列がシート内に納まらずに、シートからはみ出すことが多々あった。さらに、より高度なプログラムの作成となるとチップの数も増えるので、チップの配列が1枚のシートに納まらないことがある。そのため、チップの配列が長くになってもプログラミングが可能な新たな仕組みが望まれる。特許文献1には、シートが無くてもチップの配列を基にチップの画像を得る旨が記載されているが、これは未だ着想に過ぎず、具体的な実現手段まで検討が及んでいなかった。
例えば、特許文献1に記載のプログラミング手法において、システムはシート30に設けた識別部305からプログラミングのテーマとなるカリキュラム識別情報を得ている。そのため、単にシート30を不使用とするとカリキュラム識別情報が得られなくなり、問題が残ったままである。そこで、発明者らは如何にしてカリキュラム識別情報を得るかについても検討した。
本発明の目的は、チップ配列用のシートが無くても課題に対応したプログラムの作成を可能とすることにある。
さらに、本発明の目的は、簡便な手法によってプログラミングのテーマとなる課題を識別してプログラムの作成を行わせることにある。
本発明に係るプログラム作成支援システムの好ましい一例では、コンピュータシステムを用いてプログラムを作成するプログラム作成支援システムであって、
視認特性を有する複数のチップの配置により形成されるチップ配列に、プログラミングのための課題を示す特別チップを含んで配置されたチップ配列を撮影するカメラと、
前記課題と、該課題に使用される該複数のチップの画像とを関係付けて管理する課題管理テーブルと、
前記カメラで取得された前記チップ配列の画像から、前記チップに関する該画像を認識する画像処理部と、
該画像処理部が前記特別チップを認識した場合、該特別チップの前記課題に関連する前記課題管理テーブルを基に、該画像処理部で認識された前記複数のチップの画像に対応する命令を選択して、該選択された該複数の命令から構成されるプログラムを生成するプログラム作成処理部と、を有することを特徴とするプログラム作成支援システムとして構成される。
また、本発明に係るプログラム作成支援システムの好ましい一例では、コンピュータシステムを用いてプログラムを作成するプログラム作成支援システムであって、
プログラミングのための課題を与え、かつ該課題に固有の識別情報の表示を有する課題シートと、
前記シートの該表示を撮影し、及び視認特性を有する複数のチップの配置により形成されるチップ配列を撮影するカメラと、
前記課題と、該課題に使用される該複数のチップの画像とを関係付けて管理する課題管理テーブルと、
前記カメラで取得された前記チップ配列の画像から、前記チップに関する該画像を認識する画像処理部と、
前記カメラによって取得された前記表示の前記識別情報を基に前記課題に対応する前記課題管理テーブルを指定して、指定された前記課題管理テーブルを基に、該画像処理部で認識された前記複数のチップの画像に対応する命令を選択して、該選択された該複数の命令から構成されるプログラムを生成するプログラム作成処理部と、を有することを特徴とするプログラム作成支援システムとして構成される。
本発明はまた、上記プログラム作成支援システムで実現されるプログラム作成支援方法、及びプログラム作成支援用プログラムとしても構成される。
本発明によれば、チップ配列用のシートが無くても課題に対応したプログラムの作成が可能となる。また、簡便な手法によってプログラミングのテーマとなる課題を識別してプログラムの作成を行わせることができる。
実施例1によるプログラム作成支援システムの構成を示す図である。 携帯端末の構成例を示す図である。 課題シートの例を示す図である。 課題シートの例を示す図である。 チップとその配列の例を示す図である。 スタートチップ及びエンドチップの例を示す図である。 課題の選択のためのチップ配列の他の例を示す図である。 命令テーブルの構成例を示す図である。 課題管理テーブルの構成例を示す図である。 ユーザ管理テーブルの構成例を示す図である。 プログラム管理テーブルの構成例を示す図である。 プログラム作成の概略的な動作を示すフローチャートである。 プログラム作成の処理動作を示すフローチャートである。 プログラム作成の処理動作を示すフローチャートである。 プログラム実行システムの構成を示す図である。
本発明に係るプログラム作成支援システムの好ましい例は、サーバや携帯端末を含むコンピュータシステムを用いて実現される。まず、プログラム作成のための課題(カリキュラム或いは出題と言ってもよい)が記載された課題シートが用意される。課題シートには課題に固有の識別情報の表示が付与される。さらに文字や絵柄の描かれた複数のチップが用意される。複数のチップには、スタートチップと、エンドチップと、プログラムの動作等を規定する複数のチップが含まれる。好ましくは、特別チップとしてのスタートチップには課題に固有の識別情報(課題識別情報)が付与される。課題に対応してチップの画像と命令とを関係付けて管理する課題管理テーブルが用意される。
ユーザは、課題シートに記載された課題に従って、スタートチップを先頭にして複数のチップを並べ最後にエンドチップを並べて、チップ配列を作る。このチップ配列を携帯端末が備えるカメラで撮影する。例えば、サーバの処理装置又は携帯端末のプロセッサが、カメラで取得された複数のチップの文字や絵柄の画像を認識してプログラムを構成する命令コードを特定し、命令コードの配列からプログラムデータを作成する。特徴の1つとして、スタートチップの画像から課題識別情報を認識して、課題管理テーブルを特定し、スタートチップとエンドチップの間に配列された複数のチップの絵柄の画像を認識してプログラムを構成する命令コードを選択する。作成されたプログラムデータは携帯端末へ送信されて実行される。例えば携帯端末のプロセッサが、作成されたプログラムを実行して、その様子を表示部の画面にキャラクタの動画として表示する。
以下、図面を参照して、本発明の一実施例について詳細に説明する。
図1は、プログラム作成支援システムの全体構成例を示す。
プログラム作成支援システムは、プログラムの作成を支援するサーバ1と、ユーザが使用する複数の携帯端末2が、通信ネットワーク9を介して接続して構成されるコンピュータシステムにおいて実現される。
サーバ1は、利用者の情報を管理し、携帯端末との間でデータ通信し、プログラムを作成し実行する等、の種々のデータ処理を行うコンピュータである。その機能及び処理の詳細については後述する。なお、サーバ1のハードウェア構成は図示していないが、プログラムを実行する処理装置(プロセッサ)、メモリ、ハードディスクのような外部記憶装置、入力器、表示器等のハードウェア資源を有する。
プログラムの作成を支援するために、サーバ1は、プログラム作成に関わるユーザやプログラムの管理情報を登録、処理する情報管理部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が実行する。また、携帯端末は上記以外に例えば音声入出力機能を始め種々の機能を有している。
[課題シート]
図3A,3Bは、課題シートの具体例を示す。
課題シートは、ユーザが取り組むプログラム作成のための課題(テーマ又は出題、カリキュラムということもある)が記載された用紙である。課題が異なる度に別の課題シートが配布される。
図示のように、課題シート30には主に、課題文301と、説明絵図303が記載されている。本例では、課題に応じて必要なマップの絵図3031が描かれている。
課題(又は課題シート)を管理するために、「01」や「02」のような課題表示部302が設けられている。課題表示部301には、課題ごとに異なる固有の識別情報、例えば課題番号が表示されている。図示の、課題01は「がっこうへいこう」、課題02は「がつこうにくるまでおむかえにいこう」、のように、課題に応じてプログラムの内容が異なり、絵図303も相違する。
例えば学校のクラス或いは塾では、先生(ユーザ)が、課題が変わる度にその課題に対応した課題シート30を生徒に配布する。そして、ユーザは課題シート30を使用するとき(例えばS1204のとき)に、携帯端末2のカメラ206を用いて課題シート30の課題番号301を撮影する。これにより、課題シート30と課題管理テーブル80に登録された課題番号と対応付けられる。
なお、課題シートはユーザに1枚ずつ配布しないで、複数ページに亘る課題シート30を含む冊子をユーザに有償又は無償で提供するようにしてもよい。この場合、課題表示部302には、課題識別情報の他に、プログラム作成サービスを行うサーバ1のサイト情報を含ませてもよい。ユーザは、携帯端末2のカメラ206で、課題シート30の課題表示部302を読ませて、その読取り情報を基にプログラム作成サービスのサイトへアクセスして、当該課題シート30に対応する課題管理テーブル80(図8参照)に登録された情報を取得して、プログラム作成のサービスを受けることができる。
本実施例のように、恰もテスト問題を解くように、プログラム作成の課題が変わる度に課題シートを変える方が実情に即している。因みに、特許文献1に記載のように、チップを並べるシートにカリキュラムを識別する識別部305を設けているが、この従来の手法では、カリキュラムが変わる度にシートを変える必要があり、面倒である。本実施例によれば、チップを並べるシートを不要としたのでその手間が省ける。加えて、出題の度に、携帯端末2のカメラを用いて課題シートの課題番号を取得して、課題管理テーブルを用いて出題の課題と命令を容易に関係付けることができる。
[チップ]
図4及び図5は、プログラムの作成に用いられるチップの例を示す。
図4はチップの配列した状態を示し、図5はスタートチップとエンドチップを示す。
チップは、プログラムの命令と関連付ける表示子である。例えば、命令の動作を文字又は絵柄(以下単に絵柄という)で表示(印刷)した、縦2cm×横5cmほどのプラスチック製矩形片である。それぞれの絵柄は命令ごとに相違する。チップ40の絵柄の原情報は画像としてプログラムDB106に記憶されている。
複数のチップは、主に、スタートチップ401と、エンドチップ402と、通常の動作を表す複数のチップ4031〜4036(総じて403と示す)を含んで構成される。スタートチップ401は、複数のチップの配列(チップ配列)の先頭に配置されるもの、エンドチップ402はチップ配列の最後に配置されるものである。チップ403は通常の動作を示す絵柄が表示されている(その意味でここでは通常チップという)。通常チップ403として、例えば、チップ4031は右へ動く、チップ4032、4033は左へ動く、チップ4034,4036は下へ動く、チップ4035は上へ動く、である。この他の通常チップ403としては特許文献1の図4や図5に示されたものを想定してよい。
携帯端末2のカメラ206で撮影されたチップ配列の画像からプログラム命令を特定する処理において、サーバ1の画像処理部104は、スタートチップ401の画像を認識して、以後通常チップ403を順次認識して、プログラム作成処理部103が命令に変換する。そして、画像処理部104がエンドチップ402を認識すると、プログラム作成処理部103はその段階で命令の変換を終了する。そのため、例えば、エンドチップ402よりも後方に配列された通常チップ4036の命令変換は行われないことになる。そのため、チップの配列のルールは、ユーザに事前に教示しておくことが必要である。
本実施例における特徴の1つとして、図5に示すように、スタートチップ401には、PBC001やPBC002のような、課題番号4011、4012が印刷して表示されている。この課題番号4011、4012は、課題シート30の課題表示部302にある課題番号と関連付けられ、さらに課題番号と対応する課題管理テーブル800(図8を参照して後述)と関連付けられる。プログラム作成処理部103は、課題管理テーブル800に登録された画像と命令との関係を参照して、スタートチップ401とエンドチップ402の間に配列された複数の通常チップ403の絵柄の画像を基に、プログラムを構成する命令コードを特定することができる。
[プログラム命令および命令テーブル]
プログラム命令としては、図4に例示するように、スタートチップ401が示す「スタート」、エンドチップ402が示す「終了」、通常チップ403が示すような、「右へ動く」、「左へ動く」、「下へ動く」、「上へ動く」、等がある。例えば、図7に示す命令リストのように、命令テーブル(符号50で示す)は、表示・動きを表す9つの命令(動作命令)と、制御文を表す2つの命令(制御命令)と、入出力を表す4つの命令(入出力命令)と、パラメータ即ち1から9までの数値を表す命令(パラメータ)と、その他の4つの命令から構成される。
各チップと命令は一意に対応しており、チップの絵柄(即ち絵柄の画像)と、命令の名称、命令動作、パラメータの関係は、対応表である命令テーブル50に定義されてプログラムDB106に記憶されている。ここで、プログラムDB106に保管される命令テーブル50には、絵柄の画像に対応した固有のコードデータ(命令コード)が含まれる。本実施例では、課題シート30から取得された課題番号に応じて課題管理テーブル800を通して、最終的には命令テーブル50が参照されて、複数の命令(命令セットという)が選択される。
なお、新たなチップの絵柄や新たな命令を規定した場合や、既定の絵柄を削除又は変更したい場合には、命令テーブル50の内容を変更することができる。それは、サーバ1が有する入力器(図示せず)又は携帯端末2からの管理者の入力指示によって、命令テーブル50におけるチップの絵柄と命令との対応関係を変更することができる。
次に、図8乃至図10を参照して、プログラム作成支援のために使用される各種の管理テーブルの構成について説明する。各管理テーブル80〜100は、管理情報DB105に記憶される。
[課題管理テーブル80]
図8は、課題管理テーブルの構成例を示す。
課題管理テーブル80は、ユーザが行うプログラミングの課題と、課題に使用される命令を関連つけるテーブルである。課題管理テーブル80によって、課題シート30の課題番号と、課題シート30に記載された具体的な出題内容と、スタートチップ401に付与された課題番号4011とが関係付けられ、最終的には当該課題で使用される複数のチップの画像と命令とが対応付けられる。課題管理テーブル80は課題ごと即ち課題番号ごとに構築されるので、異なる複数の課題があれば、異なる複数の課題管理テーブル80が作成される。
図8に示すように、課題管理テーブル80は、課題に固有な識別情報としての課題番号と、当該課題で使用されるアプリケーションの実行条件と、当該アプリケーションにおいて使用されるキャラクタを表すキャラクタセットと、命令テーブル50から選択された、当該課題で使用される全ての命令の参照番号(命令テーブル50の命令を参照する番号)とを登録する。ここで、アプリケーションの実行条件とは、例えば当該課題において使用されるプログラムを読み出すためのアドレス(例えばURL)やそのプログラムで使用されるキャラクタの動作条件等である。キャラクタとは、プログラムの実行において動画として使用される登場者であり例えばウサギや亀の画像、有名なアニメの画像である。
ここで、当該課題で使用される全ての命令の参照番号を命令セットに登録する理由はプログラム作成処理を速くするためである。即ち、プログラム作成処理に際して、命令テーブル50を参照しながらチップ配列の画像から個々のチップの画像を認識する処理を行うが、このときに命令テーブル50に登録された全てのチップ画像をスキャンすると多大な時間がかかる。これに対して、命令セットに登録された参照番号に対応する命令を対象にスキャンすれば、画像の認識にかかる時間は大幅に短くなる。
[ユーザ管理テーブル90]
図9は、ユーザ管理テーブルの構成例を示す。
ユーザ管理テーブル90は、プログラムを作成するユーザの情報を管理するテーブルである。ユーザ管理テーブル90は、ユーザ識別情報であるユーザ識別IDと、ユーザの名前と、プログラムデータを記憶しているアドレスを示すプログラムデータ格納先アドレスと、課題識別情報として、ユーザによって使用される課題シート30から取得された課題番号と、更新日時と、個人情報としてユーザが所有する携帯端末のメールアドレス等、を登録する。課題識別情報には、過去に利用した課題番号がログとして逐次登録されていく。この例では、プログラムデータ格納先アドレスは、作成されたプログラムデータを管理するプログラム管理テーブル100が指定するプログラムデータ格納先アドレスを表す。
なお、学校の授業や塾等の団体でプログラム学習をする場合には、先生が所持する携帯端末2を用いてサーバ1とデータ通信するので、先生が一人のユーザとなってこのユーザ管理テーブルに登録してもよい。
[プログラム管理テーブル100]
図10は、プログラム管理テーブルの構成例を示す。
プログラム管理テーブル100は、作成されたプログラムに関する情報を管理するテーブルである。プログラム管理テーブル100は、プログラムを作成したユーザのユーザ識別IDと、課題番号と、作成されたプログラムデータと、プログラムデータ格納先アドレスと、プログラムの登録日時と、その修正日時と、を登録する。プログラムデータとは、作成されたプログラムそのものであり、複数行のプログラムステップの場合その行数分のデータが登録される。
[プログラム作成の概略動作]
次に、図11を参照して、プログラム作成の概略的な動作について説明する。
この例は、携帯端末2を所持しているユーザが、プログラムミングを行う場合のフローを示している。図中、実線で示すステップは携帯端末又はサーバによる処理動作を表し、点線で示すステップはユーザの動作を表す。
まず、ユーザは携帯端末2を操作してアカウントとパスワードを入力してログインを行う(S1201)。そして、携帯端末2はネットワーク9を介してサーバ1と接続され、本件のプログラム作成のサイトに接続される。ユーザはまた、課題シート30及びチップ40のセットを準備する(S1202)。なお、S1201とS1202の順序は逆でもよい。
次に、ユーザが、携帯端末2のカメラ206を操作して課題シート30の課題表示部302を撮影すると、携帯端末2のCPU202は課題表示部302の画像を認識して、課題番号を取得してそれをメモリ203に格納する(S1203)。取得された課題番号に関わる処理については後述する。
なお、塾等において複数の生徒にそれぞれ異なる課題を与える場合がある。この場合、先生は、複数の異なる課題シート30を生徒に配布する際に、複数の各課題シート30の課題表示部302をカメラで撮影することになり、携帯端末2のCPU202は複数の課題番号を取得する。
その後、ユーザはプログラミング、即ち課題シート30の説明文に従ってチップ40を配列する作業を行う(S1211)。この場合、ユーザは、スタートチップ401を先頭にして複数の通常チップ403を並べ、最後にエンドチップ402を配置する。なお、本実施例では、特許文献1に記載のようにチップ配列用のシートを使用しないので、チップ40の配列が例えば図4のように、上から下へ一直線に成らずに、左右にずれて配列されることがある。この場合でも、画像処理部104はスタートチップ401からエンドチップ402の間に配列された複数のチップの画像を認識するので、左右方向の多少のずれは問題無い。
チップ40の配列作業が終了すると、ユーザは、携帯端末2のカメラ206でチップ40の配列を撮影する。すると、CPU202は撮影されたチップ配列の画像を取得してサーバ1へ送信する(S1205)。
サーバ1では、受信した画像を基にプログラム作成処理を行う(S1206)。この処理については後で詳述する。サーバ1で作成されたプログラムは携帯端末2で実行される(S1207)。
なお、課題番号は、S1203のように携帯端末2のカメラ206を用いて課題シート30の課題表示部302から取得する以外に、携帯端末2の入力部204から課題番号を手入力することができる。例えば、携帯端末2がサイトに接続された後に、ユーザが課題シート30の課題表示部302に表示された課題番号を目視して、携帯端末2の入力部204から課題番号を手入力してもよい。
ここで、本実施例において、チップ配列用のシート(特許文献1に記載)を不要としたことによる作用効果について述べておきたい。カメラでの撮影(S1205)に関して、特許文献1に記載のプログラム作成では、シート上に並べられたチップ配列の画像は、カメラでシートごと一回の撮影で取得した。これに対して、本実施例では特許文献1に記載のチップ配列用のシートを不要としたので、チップ配列がシートに拘束されない。複雑なプログラムの作成ではチップ配列が長くなるが、一方でチップ配列が長くなると、カメラの一回の撮影ではチップ配列の画像を取得できない可能性がある。そこで、本実施例では、チップ配列に沿って(スタートチップからエンドチップの方向へ)端末装置2のカメラ206をスライドさせながら撮影していくことで対応可能である。例えばタブレット端末のカメラを使用すると、撮影されたチップ配列の画像が順次、タブレット端末の画面に表示されていく。また、画像処理部104による画像認識(チップごとの画像認識)の結果も次々に画面に表示させることができる。
[プログラム作成処理]
次に、図12及び図13を参照して、プログラムの作成処理について説明する。
図12は、プログラムの作成処理の全体のフローチャートを示す。
この処理に先立って、ユーザの携帯端末2からサーバ1が運営するサイトをアクセスして、ユーザ管理テーブル90にはユーザの名前等を含む個人情報が登録されている。また、図11の課題番号の取得(S1203)により取得された課題番号は、ネットワーク接続部208を介して携帯端末2からサーバ1へ送信される。サーバ1では、情報管理部102が、当該課題番号に対応する課題管理テーブル80をスタンバイ状態(例えばアクティブフラグ(不図示)をON)にする。併せて、情報管理部102は、携帯端末2から通知された当該課題番号をユーザ管理テーブル90に登録する。
さて、ユーザは、課題シート30の課題文301と説明絵図303に従って、机上にチップの配列を完了したとする。
ユーザは、携帯端末2を操作してログインを行う(S1301)。この場合、サーバ1の情報管理部102は、ユーザ管理テーブル90を参照して、もし課題番号が登録されていない場合には、携帯端末1の表示部に、課題番号の入力を促す画面を表示する。この場合ユーザはステップS1203と同様に課題番号を撮影する(S1203´)。なお、ステップS1301の処理に先立って、ログイン動作(ステップ1201)が完了している場合にはこのステップS1301は省略できる。
ログイン動作の後、サーバ1の情報管理部102は、プログラム作成のためのアプリケーションプログラムを起動する(S1302)。アプリケーションプログラムが起動されると、携帯端末2のカメラ206により課題シート30から取得された課題番号に対応する課題管理テーブル80が選択される。
上記のようにチップ40の配列が終了すると、ユーザは、携帯端末2のカメラ206を用いてチップ配列を撮影する。撮影された画像(チップ配列画像)は一時、メモリ203に格納され、サーバ1へ送信される(S1303)。サーバへ送信されるチップ配列の画像にはユーザ識別IDが付与される。
サーバ1がチップ配列画像を受信すると、情報管理部102は、送信元のアドレスがユーザ管理テーブル90に登録されたメールアドレスかを確認する。さらに、受信したチップ配列画像に付与されたユーザ識別IDがユーザ管理テーブル90に登録されたものかを確認する。この確認の結果正しければ、画像処理及びプログラム作成処理に移る。
プログラム作成処理に際して、まず画像処理部104が、取得したチップ配列画像からチップの有する絵柄の画像を認識する処理を行う(S1304)。その後、プログラム作成処理部103が、認識結果に基づいてプログラムの生成処理を行う(S1305)。これらの処理については、図13を参照して後述する。
プログラム作成処理部103で作成されたプログラムデータは、情報管理部102の処理に従って、プログラム管理テーブル100に格納される。即ち、プログラム管理テーブル100において、「ユーザ識別情報」には当該プログラムを作成したユーザ識別IDが、「課題識別情報」には当該プログラミングに関わる課題番号が、「プログラム」には作成されたプログラムデータが、「プログラムの登録日時」にはプログラムを格納した日時が、それぞれ登録される。
その後、プログラム管理テーブル100に登録されたプログラムを実行することができる(S1307)。一例では、プログラムの実行はその前段にプログラムのテスト及びその確認の処理を含んでいる。それは、チップ40の配列において、制御文のチップやパラメータのチップが所定の規則に従って配列されていないとか、「END」が無い等の場合があり、これらはプログラムの実行上エラーとしなければならないからである。テスト及び確認の処理においてそのようなエラーが発見されると、プログラムデータの修正作業に移る。
すなわち、プログラムのテスト及び確認のために、プログラム管理テーブル100に格納されたプログラムデータはネットワーク9を介して、送信元の携帯端末2へ送信され、CPU202で実行される。CPU202によるプログラムの実行は、例えば課題管理テーブル80に登録されたキャラクタの動画として、表示部205に表示される。ユーザは、表示部205に表示される動画を見て、最初に選択した「課題」とカメラで取得されたチップ配列画像におけるチップ配列を基に、表示された動画が正しいかを判断する。その結果、正しくないと判断した場合には、プログラムの修正に移る。この場合、入力部204よりプログラムの修正を指示すると、その指示はサーバ1へ送信されて、プログラム管理テーブル100に修正中のフラグ(図示せず)が記憶される。ユーザによるプログラミングの修正が終わると、上述した動作と同様にして、修正されたチップ配列画像がサーバ1へ送信される。この場合、同様にして、プログラム管理テーブル100に修正された(修正版)プログラムデータが格納される。併せてプログラム管理テーブル100の修正日時が登録される。
修正版プログラムは、上記と同様にして携帯端末2で実行される。その結果、エラーが無ければ、その旨がサーバ1へ送信されて、プログラム完成を示すフラグ(図示せず)がプログラム管理テーブル100に登録される。
なお、完成後のプログラムの実行の例については、図14を参照して後述する。
次に、図13のフローチャートを参照して、画像処理(S1304)及びプログラム作成処理(S1305)について詳細に説明する。
画像処理(S1304)は、チップ配列画像から、個々のチップ40に描かれた絵柄の画像を認識して切り出す処理である。カメラ206で撮影された画像が傾いていることがあるので、まず、画像補正(S1401)の処理において、チップ配列の画像の傾きを補正する。
次に、画像パターマッチング(S1402)において、命令テーブル50を参照しながら、チップ配列を構成する各チップ40の絵柄の画像が、命令テーブル50に登録された絵柄の画像と一致するかを判断する。この処理により、命令テーブル50に登録された絵柄の画像に対応する命令コードが選択される。本実施例で特徴的なことは、画像処理部104が、チップ配列の画像に含まれるスタートチップ401の画像を認識すると、まずスタートチップ401の課題番号4011を基に、情報管理部102(処理手段)が課題番号4011に対応する課題管理テーブル800を指定する。さらに画像処理部104が、スタートチップ401の後に配置された複数の通常チップ403の画像を順次認識して行き、エンドチップ402の画像を認識するまで通常チップの認識動作を続ける。すなわち、スタートチップ401とエンドチップ403の間に配置された通常チップ403の画像のパターンマッチングを行う。
画像パターンマッチングにより、取得されたチップの画像について命令テーブル50から命令コードが順次選択される。本実施例では、命令テーブル50に登録された全ての画像と比較することは行わず、課題管理テーブル80に当初登録された命令参照番号に対応するチップ画像のみを対象として比較することで、処理時間の高速化を図っている。画像パターンマッチングの結果出力される命令コードには、当該画像が認識された場所の座標情報が付加される。
プログラム作成処理(S1304)おいては、上記画像処理により特定された絵柄の画像に対応する命令コードを整列させる(S1403)。命令コードを整列する理由は、パターンマッチングで認識された絵柄の画像は命令コードには変換されたが、その配列は未だチップ40が配列された状態のままであるため、命令コードを並び直して整列させるためである。この整列は、命令コードに付加された座標情報を基に例えばY座標を基準として揃える。さらにプログラムの生成に際して、命令テーブル50を参照して命令コードの並び方が正しいかを確認する。例えば、上記画像処理の結果、「動く」の命令コードの右隣りにパラメータ「回数」の命令コードが並ぶ場合は正しいが、「拾う」や「置く」の命令コードの右隣りにパラメータ「回数」が並ぶ場合は、命令テーブル50で許可していないので正しくないと判断する。並び方が正しくない場合、一例ではそのパラメータを無視する。また、命令コードに対するパラメータの並び方が正しい場合であっても、パラメータの命令コードが許容範囲を超えて右側にずれている場合には、その命令コードを左側に移動させて、例えば「動く」命令コードの右隣りに整列させる。
命令コードの整列及び確認が終了すると、整列された命令コードの順にプログラムコード化してプログラムデータを生成する(S1404)。作成されたプログラムのデータは、プログラム管理テーブル100の「プログラム」エリアに格納される。プログラム管理テーブル100には、ユーザ識別ID、課題番号、プログラム登録日時も併せて登録される。
上記の処理動作により複数のチップ40の配列に基づくプログラムが作成される。
[プログラムの実行]
実施例1では、作成されたプログラムは、先生が所持する携帯端末2のCPU202で実行される。プログラムの実行は、キャラクタの動作を伴う動画として表示部205の画面に表示される、とした。しかし、これに限らず、プログラムは種々の機器で実行される。
図14は、プログラム作成支援システムに接続されるプログラム実行システムの構成を示す。プログラム作成支援システムを形成するサーバ1には、ネットワーク9を介して、スクリーンに動画や映像を投影するプロジェクタや大型表示装置151、音響機器152、ロボットやミニカー等の動作機器153、等のプログラム実行機器(以下単に実行機器という)が接続される。
プログラムが実行される実行機器は1つの限らず、複数の機器で可能である。例えば、命令テーブルの入出力命令の中から「音を鳴らす」が用いられる場合、表示装置151にキャラクタの動作が表示され、さらに音響機器152から音声が発生される。
実行機器はインターネットに接続可能な、IPアドレスを有する全ての機器が対象となり得る。実行機器の管理は、サーバ1の管理情報DB105に、接続可能な機器のIPアドレス又はURLを登録する実行機器管理テーブルを用意しておき、実行機器管理テーブルを参照して出力先の実行機器を選択することで、プログラムが実行される機器への接続が可能である。実行機器の選択は、予め決めておいてもよいし、プログラムの完成した後にユーザが所持する携帯端末2又は他の携帯端末から選択することができる。
[課題を変更する例]
本実施例によれば、スタートチップ401を変えるだけで課題の変更が可能である。
例えば、課題シートが、課題01(図3A)から課題02(図3B)に変わった場合でも、通常チップ403の配列を変えないで、スタートチップ401を図5(A)から(B)へ変えるだけで済む。
図3Aに示す、課題シート30は、課題1の「がっこうへいこう」は、「Aくんを徒歩で学校に連れて行く」動作をプログラミングするケースである。一方、図3Bに示す、課題シート30は、課題2の「がつこうにくるまでおむかえにいこう」は、「学校に車で行って帰る」動作をプログラミングするケースである。いずれのケースも、学校までの行き来の道は変わらないので、通常チップ403による配列は変わらないことになる。
次に、実施例1に対する、変形例ないし代替例について幾つか説明する。
[課題管理テーブルの指定の他の例]
実施例1では、課題管理テーブルと関連付けるために、課題番号を2回取得している。最初は、携帯端末2のカメラ206が課題シート30の課題表示部302を撮影することで、課題番号を取得する(S1203)。2回目は、携帯端末2のカメラ206がチップ配列を撮影して、そのチップ配列の画像から、画像処理部104がチップ配列の画像に含まれるスタートチップ401の画像を認識する段階で、スタートチップ401に含まれる課題番号を取得している(S1303)。
他の例によれば、課題番号の取得は何れか1回でよい。例えば、課題シート30の課題表示部302から課題番号を取得すれば、課題番号の表示の付いたスタートチップは不要となり、通常の単なるスタートチップでよい。一方、課題番号の表示の付いたスタートチップを用いれば、課題シート30から課題番号を取得することは不要となる。
[課題管理テーブルの他の例]
実施例1では、課題管理テーブル80には当該課題番号で使用される全ての命令の参照番号(図5の命令テーブル50から選択された命令の参照番号)が登録されるとした。他の例においては、ある課題番号で使用される、命令テーブル50から選択された命令の、チップの画像、名称、動作、パラメータ、及び命令コードの各データ(即ち命令テーブル50の内容)を、当該課題番号に対応する課題管理テーブルに登録するようにしてもよい。
[プログラム作成支援システムの他の例]
実施例1によるプログラム作成支援システムは、プログラム作成処理部103、画像処理部104、及び関連するテーブルや情報を記憶する管理情報DB105、プログラムDB106を全てサーバ1が有する。一方、実施例2によるプログラム作成支援システムは、これらの処理機能やDBの全部又は一部を携帯端末2に持たせることができる。
例えば、全ての処理機能及び関連するテーブルや情報を携帯端末2に持たせる場合、最初にプログラミング作成のサービスを行うサイト(例えばサーバ1が運営するサイト)にアクセスして、関係するアプリケーション(プログラム作成機能や関連する管理情報)をダウンロードして、携帯端末2に保持させる。あとは、上記実施例と同様にしてプログラムを作成することができる。図11乃至図13に示す処理は、携帯端末2が有するCPU202においてプログラムで実行される。例えば、複数の課題管理テーブル800が携帯端末2のメモリ203に保持されることがあり、CPU202の処理によって実現される、前記画像処理部がチップ配列の画像に含まれるスタートチップ401の画像から課題番号4011を認識すると、CPU202が課題管理テーブル800を指定することになる。
また、一部の処理機能やDBを携帯端末2に持たせる例として、例えば、サーバ1には命令テーブル50を保持させて、携帯端末2には課題管理テーブル80や画像処理機能やプログラム作成機能を持たせることができる。この場合、課題シート30の課題番号に対応して用いられる命令とチップ画像の組は、命令テーブル50から取得して課題管理テーブル80に登録してメモリ203に記憶しておく。異なる複数の課題シート30(異なる複数の課題番号)が使用される場合には、携帯端末2のメモリ203には課題番号に対応する複数の課題管理テーブルが用意されることになる。
プログラム作成機能は、課題番号に対応する課題管理テーブル80を参照して、チップの画像に対応する命令を特定する処理を行うことができる。通常、サーバ1には、多くのユーザの携帯端末2が接続可能である。そこで、命令テーブル50には全ての命令と画像の対を母集団として管理しておき、ユーザの携帯端末2から要求により指定された課題番号に応じて、命令テーブル50から選択された命令と画像の組やアプリケーションの実行アドレス等を含む課題管理テーブル80を携帯端末2へ提供するのは有意義である。
[課題シートの他の例]
実施例1では、課題シート30は用紙で用意される。代替例によれば、課題シート30−は用紙で用意せずに、例えば携帯端末2の表示部205に画面表示することで提供できる。
[スタートチップ及びエンドチップの他の例]
スタートチップ401及びエンドチップ402の文字や絵柄は、図5に示したものに限定されない。例えば、スタートチップ401に、「スタート」の文字の代わりに数字「0」を表示し、エンドチップ402に「おわり」の文字の代わりに数字「100」を表示してもよい。要するに、チップの配列の始めと終わりを規定する文字や絵柄を予め取決めしておければよい。
また、課題番号は「番号」に限らず、符号や記号、絵図等の表示でもよい。何れにしても、課題に対応付けられた特有の表示が付与されればよい。
[課題識別用チップの他の例]
実施例1では、課題ごとに固有の課題識別用の特別チップとして、スタートチップ401に課題ごとに異なる課題番号4011、4012を表示した。代替例によれば、スタートチップ401’に課題番号を表示しないで、別の表現形式で課題の識別に対応することができる。例えば、図6(a)に示すように、スタートチップ401’の隣に2枚の数字チップ4011’を並べることで、課題番号を表現することができる。図示の例では、数字「0」「1」の配列(数字チップの配列)によって課題番号「01」を表す。数字チップの配列が変わると別の課題番号になる。この場合、数字チップの配列を特別チップとなる。
また、(b)に示すように、数字チップを使用しないで、キャラクタが表示されたチップ4012’を特別チップとして用いて課題の識別を表現することができる。この場合、課題が変わると、キャラクタ表示が変わった別の特別チップとなる。
さらに他の例として、図示していないが、特別チップ4011’、4012’は、図6(a)(b)のように、スタートチップの右隣り(所定の位置)に配置せずに、スタートチップの後(チップ配列方向に対して)に配置されてもよい。さらに他の変形例として、特別チップはエンドチップ402の前に配置してもよい。さらに、図6(b)のような特別チップは、スタートチップとエンドチップ間の任意に位置に配置されてもよい。何れの場合も、特別チップの画像及びチップ配列における特別チップの配置される位置を予め規定しておくことで実現できる。
実施例1では、スタートチップ401に課題番号を付与しているので、課題が変わる度にスタートチップを変更する必要がある。これに対して、図6に示した例では、課題が変わってもスタートチップ401’を変更する必要がなく、課題識別チップ4011’、 4012’を変更することで容易に対応できる。
[チップの他の例]
チップ40の他の例として、チップ40に施した絵柄や形状、大きさは、図4、図5、図7に示したものに限定されない。絵柄に関して言えば、図4に示したような抽象的な絵や文字に限らず、例えば、ウサギが走ったり、回転したり、物を拾うような具体的な動作の絵でもよい。その方が小学生にとっては絵と命令の意味との関係が理解し易いであろう。他の例としてトランプやカルタでもよい。また、チップの形状は四辺形に限らず、種々の形状であってよい。例えばウサギが走ったり、寝たり、飛んだりする絵を切り抜いた形状でもよい。
また、チップ40の呼び名に関して実施例1ではチップ40と言ったが、これに限らない。例えば、カード、パーツ(part)、ピース(piece)、小片、紙片、エレメント(element)、総称して部品とか物品と呼んでもよい。
チップは、配列や後片づけ、収納を考えると平面状カードが好ましいが、必ずしも平面状部材に限らない。要は、配列することができる物品であって、物品が持つ絵柄や形状の特性(視認特性という)と命令とが対応付けられるものであれば実現可能である。なお、視認特性を有する物品を、固有の表示を有する部品と呼んでもよいであろう。
また、上記実施例ではチップ40の絵柄を画像認識することで命令と関係つけているが、これに限定されない。例えば、各チップ40に絵柄に加えて固有の数字やバーコードを付しておき、その数字やバーコードを認識することで、命令と対応付けすることも可能である。その場合、命令テーブルには数字又はバーコードと命令との関係が登録されることになる。
[その他の例]
上記実施例では、携帯端末2が有するカメラ206によって、課題シート30の課題表示部302に表示された課題番号を取得するとした。代案では、課題表示部302を二次元バーコードで形成して、課題シート30の例えば右角に表示しておき、携帯端末2のバーコードリーダ207でこの課題表示部を読み取ることで、課題番号を取得してもよい。
また、上記実施例では、携帯端末2が持つカメラ206でチップ配列を撮影するとした。代替例によれば、携帯端末のカメラに限らず、通信機能を有するカメラや、或いは通常のデジタルカメラで撮影したチップ配列の画像をUSBメモリやSDメモリに格納しておき、このメモリをプログラム作成用のサーバや端末に装填することでチップ配列の画像を取得することも可能である。
本発明は上記実施例ないし代替例以外にも、種々変形、応用して実施することができる。
1:サーバ 2:携帯端末 9:ネットワーク
102:情報管理部 103:プログラム作成処理部
104:画像処理部 105:管理情報DB 106:プログラムDB
202:CPU 203:メモリ 204:入力部
205:表示部 206:カメラ 207:バーコードリーダ
208:ネットワーク接続部
30:課題シート 302:課題表示部
40:チップ 401:スタートチップ
402:エンドチップ 4011,4012:課題番号 50:命令テーブル
80:課題管理テーブル 90:ユーザ管理テーブル
100:プログラム管理テーブル

Claims (5)

  1. コンピュータシステムを用いてプログラムを作成するプログラム作成支援システムであって、
    視認特性を有する複数のチップの配置により形成されるチップ配列であって、該チップ配列は、プログラミングの課題に固有の識別情報の表示を有し前記チップ配列の先頭に配置されるスタートチップと、該スタートチップの後に配置される前記複数のチップと、該チップ配列の最後に配置されるエンドチップとを有して形成され、
    前記複数のチップが有する視認特性の画像に対応するプログラムの命令を管理する命令テーブルと、
    前記課題と、該課題に使用される前記命令を関係付ける課題管理テーブルと、
    前記チップ配列を撮影するカメラと、
    前記カメラで取得された前記チップ配列の画像から、前記各チップが有する該画像を認識する画像処理部と、
    該画像処理部が前記スタートチップを認識した場合、該スタートチップが有する前記識別情報に関連する前記課題管理テーブルを基に、該画像処理部で認識された、前記スタートチップと前記エンドチップの間に配置された、前記複数のチップの画像に対応する命令を前記命令テーブルから選択して、選択された該複数の命令から構成されるプログラムを生成するプログラム作成処理部と、
    を有することを特徴とするプログラム作成支援システム。
  2. 前記コンピュータシステムは、サーバと、該サーバにネットワークを介して接続される端末を含み、
    前記サーバは、異なる複数の課題ごとに複数の前記課題管理テーブルを記憶する記憶部と、プログラムの実行により前記画像処理部と、前記プログラム作成処理部を実現する処理装置と有し、
    前記端末は、前記カメラと、入力部と、表示部と、プログラムを実行するプロセッサと、メモリと、を有し、該メモリは前記複数の課題管理テーブルから選択された少なくとも1つの課題管理テーブルを記憶し、
    前記サーバの前記プログラム作成処理部により作成された前記プログラムは該端末へ送信されて、該端末の該プロセッサは受信した前記プログラムを実行し、該表示部は前記プログラムの実行の様子を表示する
    ことを特徴とする請求項1に記載のプログラム作成支援システム。
  3. 前記コンピュータシステムは、ネットワークを介して接続される端末を含み、
    前記端末は、前記カメラと、入力部と、表示部と、プログラムを実行するプロセッサと、メモリと、を有し、
    該プロセッサは、該プログラムの実行により前記画像処理部と、前記プログラム作成処理部を実現し、
    該メモリは、異なる複数の課題ごとに用意される複数の前記課題管理テーブルから選択される少なくとも1つの前記課題管理テーブルを記憶することができ、
    前記プログラム作成処理部により作成された前記プログラムは、該プロセッサで実行され、該実行の様子を該表示部に表示する
    ことを特徴とする請求項1に記載のプログラム作成支援システム。
  4. コンピュータシステムを用いてプログラムを作成するプログラム作成支援方法であって、視認特性を有する複数のチップの配置により形成されるチップ配列であって、該チップ配列は、プログラミングの課題に固有の識別情報の表示を有し前記チップ配列の先頭に配置されるスタートチップと、該スタートチップの後に配置される前記複数のチップと、該チップ配列の最後に配置されるエンドチップとを有して形成され、
    前記複数のチップが有する視認特性の画像に対応するプログラムの命令を管理する命令テーブルを用意するステップと、
    前記課題と、該課題に使用される前記命令を関係付ける課題管理テーブルを用意するステップと、
    カメラが前記チップ配列を撮影するステップと、
    前記カメラで取得された前記チップ配列の画像から、前記各チップが有する該画像を認識する画像処理ステップと、
    前記画像処理ステップにおいて前記スタートチップを認識した場合、該スタートチップが有する前記識別情報に関連する前記課題管理テーブルを基に、該画像処理ステップで認識された、前記スタートチップと前記エンドチップの間に配置された、前記複数のチップの画像に対応する命令を前記命令テーブルから選択して、選択された該複数の命令から構成されるプログラムを生成するプログラム作成処理ステップと、
    を有することを特徴とするプログラム作成支援方法。
  5. コンピュータシステムを用いてプログラムを作成するプログラム作成支援プログラムであって、
    視認特性を有する複数のチップの配置により形成されるチップ配列であって、該チップ配列は、プログラミングの課題に固有の識別情報の表示を有し前記チップ配列の先頭に配置されるスタートチップと、該スタートチップの後に配置される前記複数のチップと、該チップ配列の最後に配置されるエンドチップとを有して形成され、
    前記複数のチップが有する視認特性の画像に対応するプログラムの命令を管理する命令テーブルで管理するステップと、
    前記課題と、該課題に使用される前記命令を関係付ける課題管理テーブルで管理するステップと、
    カメラで取得された前記チップ配列の画像から、前記各チップが有する該画像を認識する画像処理ステップと、
    前記画像処理ステップにおいて前記スタートチップを認識した場合、該スタートチップが有する前記識別情報に関連する前記課題管理テーブルを基に、該画像処理ステップで認識された、前記スタートチップと前記エンドチップの間に配置された、前記複数のチップの画像に対応する命令を前記命令テーブルから選択して、選択された該複数の命令から構成されるプログラムを生成するプログラム作成処理ステップと、
    を有することを特徴とするプログラム作成支援プログラム。
JP2018059677A 2018-03-27 2018-03-27 プログラム作成支援システム及びその方法並びにそのプログラム Active JP6633115B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018059677A JP6633115B2 (ja) 2018-03-27 2018-03-27 プログラム作成支援システム及びその方法並びにそのプログラム
PCT/JP2018/041435 WO2019187305A1 (ja) 2018-03-27 2018-11-08 プログラム作成支援システム及びその方法並びにそのプログラム
CN201880077722.3A CN111448599A (zh) 2018-03-27 2018-11-08 程序制作辅助系统及其方法和程序
EP18911956.3A EP3779926A4 (en) 2018-03-27 2018-11-08 PROGRAM CREATION ASSISTANCE SYSTEM, RELATED PROCESS, AND PROGRAM
US17/032,203 US10963225B2 (en) 2018-03-27 2020-09-25 Program creation assisting system, method for same, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018059677A JP6633115B2 (ja) 2018-03-27 2018-03-27 プログラム作成支援システム及びその方法並びにそのプログラム

Publications (2)

Publication Number Publication Date
JP2019174524A JP2019174524A (ja) 2019-10-10
JP6633115B2 true JP6633115B2 (ja) 2020-01-22

Family

ID=68061019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018059677A Active JP6633115B2 (ja) 2018-03-27 2018-03-27 プログラム作成支援システム及びその方法並びにそのプログラム

Country Status (5)

Country Link
US (1) US10963225B2 (ja)
EP (1) EP3779926A4 (ja)
JP (1) JP6633115B2 (ja)
CN (1) CN111448599A (ja)
WO (1) WO2019187305A1 (ja)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60144266A (ja) 1983-12-29 1985-07-30 Duskin Franchise Co Ltd タオル配与機
CN1219252A (zh) * 1997-03-11 1999-06-09 三菱电机株式会社 直观编程方法及其系统
US6175954B1 (en) * 1997-10-30 2001-01-16 Fuji Xerox Co., Ltd. Computer programming using tangible user interface where physical icons (phicons) indicate: beginning and end of statements and program constructs; statements generated with re-programmable phicons and stored
JP5954049B2 (ja) * 2012-08-24 2016-07-20 カシオ電子工業株式会社 データ処理装置及びプログラム
US9158389B1 (en) * 2012-10-15 2015-10-13 Tangible Play, Inc. Virtualization of tangible interface objects
JP6008411B2 (ja) * 2013-01-18 2016-10-19 Necフィールディング株式会社 機器管理装置、機器管理システム、機器管理方法及びプログラム
KR102082301B1 (ko) * 2013-09-30 2020-02-27 삼성전자주식회사 카메라로 촬영한 문서 영상을 스캔 문서 영상으로 변환하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
JP6381361B2 (ja) * 2014-08-20 2018-08-29 キヤノン株式会社 データ処理装置、データ処理システム、データ処理装置の制御方法、並びにプログラム
US20160112279A1 (en) * 2014-10-20 2016-04-21 Massachusetts Institute Of Technology Sensor-based Distributed Tangible User Interface
JP6592904B2 (ja) * 2015-01-22 2019-10-23 セイコーエプソン株式会社 電子機器、プログラム
US10885801B2 (en) * 2016-05-24 2021-01-05 Tangible Play, Inc. Virtualized tangible programming
PL417869A1 (pl) * 2016-07-06 2018-01-15 Michał Dziedziniewicz Urządzenie do generowania programów komputerowych i metoda generowania programów komputerowych
JP2018031895A (ja) * 2016-08-24 2018-03-01 五十嵐 健夫 プログラム作成システム、プログラミング育成方法、及びプログラム作成プログラム
JP6253170B1 (ja) * 2017-02-22 2017-12-27 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法

Also Published As

Publication number Publication date
CN111448599A (zh) 2020-07-24
EP3779926A4 (en) 2021-05-26
WO2019187305A1 (ja) 2019-10-03
US10963225B2 (en) 2021-03-30
JP2019174524A (ja) 2019-10-10
EP3779926A1 (en) 2021-02-17
US20210011691A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
JP6253170B1 (ja) プログラム作成支援システム及びその方法
KR102082313B1 (ko) 가상 현실을 이용한 역사체험 교육시스템
JP2013089195A (ja) ビューワ装置、サーバ装置、表示制御方法、電子コミック編集方法及びプログラム
KR101670157B1 (ko) 3d 프린터 지원 서비스 방법 및 서버
JP6815052B2 (ja) プログラム作成支援システム及びその方法
TWM407458U (en) Interactive question-and-answer teaching materials which utilize augmented reality technology
JP6633115B2 (ja) プログラム作成支援システム及びその方法並びにそのプログラム
KR102563323B1 (ko) 상호 연동된 전자칠판 및 보조칠판을 활용한 필기 인식 기반 정보 송수신 및 표시 시스템
JP6651148B2 (ja) プログラム作成支援システム及びその方法並びにそのプログラム
Viinikkala et al. Reforming the representation of the reformation: Mixed reality narratives in communicating tangible and intangible heritage of the protestant reformation in Finland
KR102013622B1 (ko) 프로젝션 매핑 장치 및 시스템
WO2022262389A1 (zh) 交互方法、装置、计算机设备及程序产品、存储介质
JP7284516B2 (ja) プログラム作成支援システム及びその方法並びにそのプログラム
JP7184402B2 (ja) プログラム作成支援システム及びその方法
CN111696182A (zh) 一种虚拟主播生成系统、方法和存储介质
KR101901724B1 (ko) 퍼즐 놀이기구를 이용한 글짓기 교육 시스템 및 그 방법
JP2005173348A (ja) コンテンツ操作用端末装置及びコンテンツ表示制御方法及びそのプログラム並びにコンテンツ配信システム
KR102542080B1 (ko) 이야기 카드를 이용한 학습 활동 제공 장치 및 방법
WO2018184109A1 (en) Method and system for missions and mission building
KR102424425B1 (ko) 코딩 교육 시스템
KR20190046364A (ko) 온라인을 이용한 체험 학습 서비스 제공 방법 및 시스템
JP7031173B2 (ja) 情報処理装置、画像形成装置及びプログラム
TWI596582B (zh) Teaching method of remote control operation ebook and its intelligent device
JP7023619B2 (ja) 構造形式情報再利用システム
TWM524977U (zh) 遙控操作電子書的智慧型裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190920

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20190920

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190927

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20191001

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: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191211

R150 Certificate of patent or registration of utility model

Ref document number: 6633115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250