JPWO2019132037A1 - プログラミング支援具 - Google Patents

プログラミング支援具 Download PDF

Info

Publication number
JPWO2019132037A1
JPWO2019132037A1 JP2019524475A JP2019524475A JPWO2019132037A1 JP WO2019132037 A1 JPWO2019132037 A1 JP WO2019132037A1 JP 2019524475 A JP2019524475 A JP 2019524475A JP 2019524475 A JP2019524475 A JP 2019524475A JP WO2019132037 A1 JPWO2019132037 A1 JP WO2019132037A1
Authority
JP
Japan
Prior art keywords
program
parts
data
case
processing
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.)
Granted
Application number
JP2019524475A
Other languages
English (en)
Other versions
JP6656689B2 (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.)
APEIRON CO., LTD.
Original Assignee
APEIRON CO., LTD.
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 APEIRON CO., LTD. filed Critical APEIRON CO., LTD.
Publication of JPWO2019132037A1 publication Critical patent/JPWO2019132037A1/ja
Application granted granted Critical
Publication of JP6656689B2 publication Critical patent/JP6656689B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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
    • 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
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • G09B1/40Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support to form symbols or signs by appropriate arrangement
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Stored Programmes (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

プログラム作成に当っては、プログラムがどのようなものであり、どのようにすれば自分の思った通りのプログラムになるのかが、見て(視覚的に)、手に取って(触覚的に)、感覚的に、直観的にわかるものが、特にプログラム学習初心者には望まれている。上記課題を解決するために、プログラミング支援具のパーツは、文字・数字・記号・マークなどが記載された、あるいは記載することができる実体物である複数のパーツであって、その組み合わせまたはレイアウトにより、利用者が視覚的に、あるいは触覚的にプログラムを組立てられるように構成されている。

Description

本発明は、幼児を含む子供やプログラム学習者のプログラム学習やプログラム開発訓練、あるいはプログラム開発者の新規プログラム開発の補助、支援を行うプログラミング支援具等に関するものである。
近年、人工知能(AI)や、あらゆるモノとインターネットをつなぐ「モノのインターネット(IoT)」などがますます進歩、発展することが見込まれており、コンピュータシステムや通信システムなどのICTは、生活、ビジネス、学究などあらゆる場面で、人の行動・思考などを補助し支援するツールとして不可欠のものとなってきている。
ICTは大きくハードとソフトに分けられるが、ソフト、特にアプリケーションソフトを構築するための思考や認識が、ICT社会で生きていくためには必然となってきており、小学生や未就学児にもそれらを学習させる方向で政府や教育機関も動いている。
ところで、コンピュータソフトは適切な教材により基本から学習すれば、小学生や未就学児でも理解し、プログラムを組むことが可能である。
さらにプログラム学習は、人の行動や思考を整理し理解することにもつながり、一般的な学習やビジネスにも、さらにはプログラムの新規開発にも有用であると考えられる。
特開2018-077342号公報
しかしながら、従来のプログラミング学習は、特許文献1に示すように、コンピュータのディスプレイ上で行われるため、コンピュータを使えるという基本能力が要求されるうえ、結局のところ、ディスプレイといういわば、バーチャルな中での学習となるため、身近な生活の中でプログラミング的思考を働かせる能力を育むことは難しい。したがって、例えば、就学未満の4〜5才の子供にプログラミング的思考、あるいは階層構造的な論理思考を学習させるためには、残念ながら、従来のものは、極めて不満足なものといわざるを得ない。
なお「プログラム」とは、コンピュータが解釈し、処理(命令)により動作できる記述データのことであるが、ここでは本願発明のパーツの組合せ自体もプログラムと見なし、単に「プログラム」と言う場合もある。
プログラムは、複雑なものであっても、単純な構造の組合せで成り立っている。複雑なプログラムであるほど、単純化し視覚的に見える様にすれば、NSチャートに示されるように、構造化プログラミングが可能で、論理的にも、直観的にもわかり易いものになる。
構造化プログラミングのフローチャート(流れ図)は、順次(逐次/連接)、選択(case/条件判断/if文)、繰返し(反復/ループ/for文)の各処理を基本に、その応用である、順の入替あるいは逆転、値による決定、連携または連結などにより表すことができる。
構造化プログラミングは、大規模なプログラムを分担して作成する場合や、プログラムの初歩を学ぶのにも適している。なお、今日のプログラミングの主流であるオブジェクト指向プログラミングも、構造化プログラミングである。
ゼロからのプログラミング学習者にとっては、プログラムがどのようなものであり、どのようなプログラムにすれば自分の思った通りのプログラムになるのか、理解し易いものが望まれている。見て(視覚的に)、手に取って(触覚的に)、組立てる(行動する)ことにより、感覚的に、直観的にわかるものが、プログラム入門者の学習に向いている。しかしながら、このようなものが従来見当たらないのが実情である。
上記課題を解決するために、プログラミング支援具のパーツは、文字・数字・記号・マークなど(以下「文字など」と称する)が記載された、あるいは記載することができる複数のパーツであって、その組み合わせまたは配置配列(以下「レイアウト」と称する)により、利用者が視覚的に、あるいは触覚的にプログラムを組立てられるように構成されている。
そのため、文字などやパーツの形状が異なる場合はその形状やレイアウトの構造が理解できれば、プログラムの構成や流れ、処理を、容易に早く理解、認識することができる。
プログラミング支援具は、プログラムを作成するプログラム作成用パーツであって、処理内容が記載されたあるいは記載できる(以下単に「記載」と称する)処理パーツと、ケースが記載されたケースパーツと、該ケースに関連することが目視できるように区別表示されたパーツと、該ケースに対応する個別要素(選択肢)の内容が記載されたパーツと、処理やケースを繰り返すことを示す繰返しパーツと、それらに付属して様々な意味を付加する付属パーツを、複数備えている。
なお、個別要素とは、個々の選択肢や処理、ケース、判断などのことで、個別要素パーツとは、処理パーツや選択肢パーツ、ケースパーツ、判断パーツなどを言う。個別要素はプログラム要素とも対応している。
なお、プログラム要素とは、コンピュータに対する命令(処理)を記述するための、要素すなわちプログラムに使う指示・命令語やプログラムに使われるデータである。
パーツとは、プログラミング支援具を構成する部品であって、各パーツは片手で持ち動かせる範囲の大きさと重さであって、現実に手で持つことができるものを言い、コンピュータに繋がったディスプレイなどの表示画面上に現れた、表示要素たるパーツのことではない。
片手で持ち動かせる範囲の大きさと重さとは、平面サイズ(置かれたパーツを上から見たサイズ)で概ね1平方センチメートル以上1000平方センチメートル以下、重さで2kg以下である。大きめのものは、プログラムの学習時に講師などが使用し、受講生に見せるものなどが想定される。
なお、プログラム学習者が使う大きさは、平面サイズ(置かれたパーツを上から見たサイズ)で、概ね1平方センチメートル以上100平方センチメートル以下、重さで300g以下である。
処理パーツは、順次処理(逐次処理、連接処理)の内容を示す。
ケースパーツは、個別要素パーツを伴って、それらの個別要素パーツの処理内容を示す。
処理内容は、単に個別要素パーツをグルーピングしそのタイトルとなるものや、選択肢を伴い選択処理を示すものや、判断内容を記載した個別要素パーツを伴って判断処理を示すものや、数値入力を促す表示で入力された数値により個別要素パーツを処理することを示すものなどがある。
判断パーツは、Y判断パーツやN判断パーツなどを伴って、判断を促す。
繰返しパーツは、繰返しの範囲と繰返しの処理を示す。
付属パーツは、処理パーツやケースパーツ、繰返しパーツに付属し、それらと共に処理の内容に特定の要素を加える働きをする。
接続パーツは、処理の流れであるプログラムラインを関係付けることを示す。関係は、単に「接続」の意味だけのものもあれば、無線接続など特別な接続を意味するものや、双方向の接続、通常の1対1とは異なる接続、1対2の接続やクロスする接続など、様々な意味を持たせても良い。
なお、接続処理は、順次処理の一種である。
「記載」について詳述する。「記載」とは、印刷、ペイント、刻印、印刷物などの貼付け、レーザーマーキング、手書き、電磁的方法による表示、など手段は問わない。手書き、電磁的方法による表示であれば、記載されたものを適宜変更することができる。
「記載」は、既に記載済みのものだけでなく、筆記具などで書けるようにしたパーツに筆記具で書いたもの、その他、磁石や粘着シート、薄型液晶シートなどに表記させたものや、紙などに記載したものなどを貼り付けたりする場合も含む。
なお、「記載」に関しては、文字などの他、色や柄(パターン)でもよいが、わかり易く、認識し易いのは文字・数字である。
また、実施例のいくつかは、表現している言葉をひらがなにしているが、これは幼児や小学生低学年を意識したからであり、利用者によって、漢字交じり文字、アルファベット、記号、絵文字等でもよい。
また、点字にすることによって、視覚障害者も使えるものになる。
また、地模様については、パターンの印刷や着色の代わりに、素材や表面の凹凸や手触りで違いを表現することも可能であり、その場合は手探りでわかるため、視覚障害者も使えるものとなる。
また、パーツ内に空洞を設け、パーツの種類ごとに鈴や砂、木片、樹脂片、金属片など様々なものを入れることで、パーツを持ち上げ振ると鳴る音に違いができ、音でパーツの種類を知ることができる。これにより、視覚障害者もわかり易く、また幼児もより興味を持ち易いものとなる。
基本的なパーツの形は、10文字程度の短文が記載できるよう、またレイアウトのし易さ、見易さ、わかり易さなどから、またパーツの単純化のため、横長の長方形であることが好ましい。また、パーツの縦方向の長さ(いわゆる「幅」に該当する。パーツを平面に置いて垂直に上方から見た平面視の形の上下方向(縦方向)の長さ:以下「単位」と称する)は最小を1単位として、基本整数単位の1単位で統一され、さらに複数の個別要素パーツの縦方向の長さも整数単位で統一されていることが好ましい。
さらに横方向の長さも同じに統一され、処理パーツとケースパーツの長さ他、他のパーツの長さも含め、整数単位でそれぞれ統一されていることが、プログラムのイメージに近いものとなり、かつ組み易さからも好ましい。
これにより各パーツを組立てることも、レイアウトもし易くなり、画像認識によるプログラムの読取りもしやすくなる。
パーツはカード型などの平面的なものでもよい。その場合は、裏表の2面に文字などが記載できる。
パーツが、立方体の正方形を構成する辺(縦方向の長さ:1単位)の少なくとも3倍(3単位)以上の長さを持つ正四角柱の角柱であると、該長方形の4面に文字などを記載することができる。これにより少ないパーツで、多種の文字などが記載できるので、パーツの利用範囲が広がり、より好ましい。
パーツの記載は平面上に置いた場合に少なくともパーツの記載の1つが、置いた平面と平行な面に現れることが好ましい。これは、人が視点を動かさずともレイアウトしたパーツ全体を見え易くするためと、実行可能なプログラムに変換するための撮影をし易くするためである。
処理とは、プログラムを構成するコンピュータの命令実行あるいはその内容のことで、プログラムの開始や終了を表すもの、プログラムの処理内容を表すもの、プログラムの実行途中のイベントや処理状況を表すものなどがある。
ケースは、ある特定の処理や状態を表し、選択肢の個別要素を伴う。ケースにはそのケース専用の個別要素とのみ組み合わせとなるものもあれば、様々な個別要素と組になるケースもある。ケースには、他の処理と区別し易いよう、例えば、文字などの色や、文字などを記載する面の色やパターンにより、視覚的に異なる表現が施されているとよい。なお、視覚障害者向けなどでは、触覚的に異なる表現が施されていることが好ましい。
ケースにはそのケースのみに伴われる個別要素となるものがあるが、この場合、ケースにも当該個別要素にも同じ仕上げやマークなどを使って、お互い組みになることがわかり易くなっているとよい。
ケースパーツは、横に長いかぎ型「『」で、他のパーツの平面視上下方向の最短の長さを1単位とした場合、左側の上下方向の長さを2単位の長さとすることで、処理パーツとの区別や、ケースパーツの使い方がわかり易くなる。
異なる内容が記載された複数のパーツは、縦方向に上から下へ一列に、地模様などのついたケースパーツの下には、同じ地模様などのついた個別要素パーツまたは、付属パーツがくるというルールに従って並べ組み合わせられる。すなわちレイアウトされることで、簡単なプログラム構成する。
処理パーツとケースパーツと個別要素パーツのレイアウトは、そのままではコンピュータ上で実行できるものではないが、実質的なプログラムをそのレイアウト上に作成することができる。
できたプログラムを、何らかの形で処理実行するには、プログラムをデジタルで扱えるようコード化し、あるいはコンパイラ言語の場合は、実行できるプログラムの形に変換することが必要である。
レイアウトされた処理パーツや、ケースパーツ、選択肢パーツ、繰返しパーツの文字などの記載は、画像として入力され、OCRなどにより認識される場合や、予めテキストデータ情報が入った1次元コードや2次元コードないしは3次元コードやICタグ等により、文字コードデータに変換される。さらに文字コードデータは、ブロックとしてまとめられ、データベースなどのデータを基に解析されプログラム要素のデータとなる。
例えば、「おゆうぎ」であれば格納済みデータの“「おゆうぎ」を指定するケースデータ”として認識される。
また、記号やマークに特別な意味が付加されており、文字コード認識の段階を経ず、あるいはQRコード(登録商標)などで画像認識の段階も経ず直接、その意味が認識されるよう設定されていてもよい。
なおデータベースとは、あらかじめ記憶装置などに格納されている、整理されている情報の集まりである。
レイアウトされた処理パーツや、ケースパーツ、選択肢パーツ、繰返しパーツの文字などや、地模様や、パーツの形や、パーツのレイアウト自体も、画像として読取り後、データベースのデータを基に解析され、命令語など、意味のあるプログラム要素データとして認識される。
例えば、レイアウトで文字が下に1単位ずれていれば次の処理段階であることを示す、あるいはパーツの形が「『」であればケースパーツである、あるいは文字のブロック(塊)の後にスペースがあって数字があれば「回数」などを示す、のように設定されており、そのように認識される。
プログラム生成部では、この解析された文字などのプログラム要素データと、レイアウトのプログラム要素データをもとに、データベースの格納済みの基本プログラムなどを参照するなどして、プログラムを生成していく。
なお、プログラム要素1つだけでは単なる指示コマンドに過ぎないためプログラムとは言い難いく、複数のプログラム要素により、プログラムが可能となる。言い換えれば、プログラムを作成するためには少なくとも2つのプログラム要素が必要となる。
レイアウトは要素が複数あって成立する。従って、プログラム要素をレイアウトすれば、プログラムが成立する。
文字などの記載や、地模様だけのパーツもプログラム要素となるが、プログラム要素は1つである。
パーツが1つであっても、文字などの記載と地模様などの仕上げの2つのプログラム要素で、プログラムが成立する。
2つのプログラム要素を持つパーツによるレイアウトは、2つのプログラム要素にレイアウトのプログラム要素を加え、3つのプログラム要素があるといえる。
データの格納は、プログラム実行端末内の記憶装置(メモリ)であっても、実行端末内のデータフォルダであっても、インターネットやイントラネット等のネットワークでつながったサーバー内であっても良い。
文字などの記載からコードデータを、またパーツの形状や組み合わされたパーツの配置からプログラム構成データを読み取る方法は、デジタルカメラやスマートフォンの撮像装置により撮影された画像を、OCR機能などを使って画像認識し、あるいはプログラム要素である文字コードに変換するものである。
各パーツのレイアウトは、改行など文章のレイアウトとみなして、同様に変換、認識される。また、地模様や色も、データベースに格納されているデータと照合してプログラム要素である地模様コードやカラーコードに変換される。
なお、実行端末に撮影機能が付属せず、別の機材で撮影したデータを、プログラム実行端末で実行するものであっても、当然かまわない。
なお、OCRとは、Optical Character Readerの略で、光学的文字認識装置であり、手書きや印刷された文字などの画像データを、コンピュータなどが利用できるデジタルの文字コードに変換する装置である。
OCRについては、Watson(登録商標)などによる画像認識によるもの、平面スキャナーによる画像から認識するもの、NFCなどのICタグと平面的で位置も含めて読み取れる読み取り装置を組み合わせたもの、ICタグ距離センサーによるものなどが考えられる。
なお、Watsonとは、WatsonVisualRecognitionのことで、IBM(登録商標)が開発した画像認識機能で、インターネットを通じてサービスが提供されているシステムである。
文字などと同時に一次元コードやQRコード(登録商標)などの二次元コードや三次元コードなどの記載や、ICタグなどを利用すれば、OCR機能を使うまでもなく、スマートフォンなどの読み取りアプリケーションを使って、文字コードを取得することができる。
なお、QRコード(登録商標)とは、マトリックス型二次元コードのことで、平面に、単色で小さな面積に多くのコードデータを記載することができる。
その他、NFCなどのICチップを利用する電磁気的な方法、特許文献3に示す方法などがあるが、OCRによる画像認識の方が簡単で、コスト的にも有利とみられる。
NFCとは、近接場型の無線通信で(Nearfieldradiocommunication)、通信エリアは数センチからおよそ1メートル程度で、非接触通信とも呼ばれている。
NFCを使う場合は、パーツ側にNFCのICチップを、パーツを組み立て置く台に、NFC対応リーダーを複数、通信距離を数cmにして設置し、組み立て置かれたパーツの種類と記載された内容、レイアウトを読み取るなどの方法による。
特許文献4に記載の測距センサーを使って、パーツの位置を三角測量で算出する方法もあるが、文字等の読みとりが難しく、センサーを取り付けるプラットフォームなどにコストがかかり合理的ではない。
作成されたプログラムが、そのまま実行できるレベルのものであれば、アプリケーションを立ち上げ実行キーを押すことでプログラムが実行され、その様子を見ることができる。そうでない場合はデータベースの格納済みの基本プログラムと比較しながら、不足の補充や追加生成や訂正がされるか、あるいは、実行時エラー、論理エラー、ボリュームエラーなどのエラー表示、訂正指示などが出される。
プログラム実行装置は、実行用データから、表示データや制御データを読み込み、プログラムを実行する。
でき上ったプログラム、あるいは、エラー表示、訂正指示などは、プログラムの実行によって、端末のディスプレイに表示される。
プログラムがディスプレイ上で実行したもの、例えばアニメキャラクターの幼稚園での1日を見ることで、利用者のプログラムに対する興味や関心が強くなり、プログラム学習の意欲も増す。
ケースパーツを使ったプログラムで、途中で選択ボタンなどが現れるようなプログラムであれば、パーツのレイアウトとプログラムの選択との関係などの理解も深まり、より一層プログラム学習に興味を示すようになる。
実行処理は、ディスプレイ上の画像として実行表示されるものでも、またロボットや車のおもちゃなどの実動ツールで実行されるものでもよい。
格納済みデータは、新たな文字などを追加登録できるようにすることで、認識できる文字などを増やすことができる。またレイアウトのデータも追加設定・登録することで新たなレイアウトを認識し、プログラム生成の能力を拡張することができる。
また、本願発明は、端末で生成されたプログラムや、追加登録された文字などの記載、レイアウト設定、プログラム生成履歴、エラーの発生状況などのプログラム学習の内容が、実行端末の通信機能により、インターネットなどの通信回線を使って、プログラム教育サーバーに送ることができるシステムである。
また、プログラム教育サーバーは、プログラミングに要するスピード、習熟スピード、学習プログラムの種別、間違いのポイントやその内容や履歴、追加登録された文字など、レイアウト設定、やり直しの回数などから端末ごとに理解度や学習進を算出し、要求があれば、端末ごとの学習進状況に応じ格納されているプログラム学習支援情報や、プログラム学習支援ノウハウ、新たに追加登録された文字などの記載内容、レイアウト設定情報などを各端末に送付する。
また、プログラム教育サーバーは、学習する団体やクラス、学校などを登録しておけば、団体やクラス、学校ごとの情報を送付し、さらに、地域や都道府県ごとの情報も蓄積し、プログラム教育の普及や改善、発展に利用される。
また、本願発明は、文字などの記載と、複数の記載のレイアウトから、読み込んだ文字などのコードデータとレイアウトデータを認識する手段と認識したデータと格納済みのデータから、プログラム要素とプログラム構成データを解析する解析手段と、解析したデータからプログラムを生成するプログラム生成部とを備えることを特徴とする、プログラム作成プログラムである。
解析したデータからプログラムを生成するのは、レイアウトされた処理パーツや、ケースパーツ、選択肢パーツ、繰返しパーツの文字などの記載と配置からコードデータとプログラム構成データを読み取り、プログラム生成する場合と同様である。
また、本願発明は、文字などの記載と、複数の記載のレイアウトから、読み込んだ文字などのコードデータとレイアウトデータを認識する手段と認識したデータと格納済みのデータから、プログラム要素とプログラム構成データを解析する解析手段と、解析したデータからプログラムを生成するプログラム生成部とを備えることを特徴とする、プログラムを生成する方法である。
解析したデータからプログラムを生成するのは、レイアウトされた処理パーツや、ケースパーツ、選択肢パーツ、繰返しパーツの文字などの記載と配置からコードデータとプログラム構成データを読み取り、プログラム生成する方法と同様である。
本願発明は、プログラム学習ツールであるが、プログラムを組むだけであればコンピュータやタブレットなどの電子機器は必要としない。また、ノートや筆記具も用いずただパーツをルールに従って並べるという、あるいは紙にプログラム要素たる言葉を記載するという、極めて単純な作業により、ディスプレイ上でキャラクターを動かしたり、実際に手に取ることができる物を動かしたりすることができるプログラムを組むことができる。
また、そのプログラムを身近にあるスマートフォンなどのツールを使って、直ぐに実行することができるので、プログラムの概念、基本構成、機能の学習に、非常に効果的である。
特に、物事の理解や認識の能力が未発達な、幼児や小学生低学年の者には、目に見えて手で触れるパーツを並べるという直観的に把握し易いものを使っての学習であるため、有効なプログラム学習ツールと言える。
本願発明の処理パーツを使った順次プログラムのレイアウトを示す図である。 ケースパーツとその使用例を示す図で、Aはプログラムのレイアウト図、Bは余りのパーツ群を示す図である。 ケースパーツとその他の使用例を示す図である。 Aは、図2に示す実施例2のパーツ全部におゆうぎケースパーツ1つを追加した内容のプログラムのレイアウト図、Bは選択肢パーツの説明図である。 繰返し付属パーツの説明図である。 正四角柱の処理パーツの斜視図である。 ケース内容と繰り返し回数を併記したケースパーツの図である。 繰返し付属パーツの組み合わせ使用説明図である。 他のケースパーツと繰返し付属パーツの使用例を示す図である。 他のケースパーツと繰返し付属パーツの使用例を示す図である。 他のケース付属パーツと繰返し付属パーツの説明図である。 繰返しとその終了についての説明図である。 接続パーツとその使い方の説明図である。 ケースパーツの他の使い方の説明図である。 プログラムの流れが複数同時進行する場合の、パーツの使い方の例を示す図である。 プログラムの流れが複数同時進行する場合の、接続パーツと他のパーツの使い方の例を示す図である。 様々な接続パーツを示す図である。 連携パーツの使用説明図である。 連携パーツの他の使用説明図である。 選択肢が3つある場合のケースの使用例を示す図である。 選択肢が3つある場合のケースの使用例で、付属パーツが欠けている場合を示す図である。 ケースの中にさらにケースがある場合の使用例を示す図である。 ケースの中にさらにケースがある場合で、付属パーツに欠けがある場合の説明図である。 ケースの中にさらにケースがある場合で、他の付属パーツに欠けがある場合の説明図である。 ケースの中にさらにケースがある場合で、他の付属パーツに欠けがある場合の説明図である。 ケースの中に選択肢パーツと処理パーツを入れた使用例。Aは、パラメータ無しの付属パーツを使った例を示す図、Bは、Y判断付属パーツとN判断付属パーツを使った例を示す図である。 ケースの中に選択肢パーツと処理パーツを入れた他の使用例。Aは、ケースパーツの選択肢に選択肢パーツ1つと処理パーツが1つの計2つのパーツがレイアウトされた例、Bは、Y判断付属パーツとN判断付属パーツに加えE判断付属パーツを使った例を示す図である。 Y判断付属パーツとN判断付属パーツに加えE判断付属パーツを使った例で、BはY判断をした時のプログラム、CはN判断をした時のプログラムを示す図である。 繰返しパーツの使用説明図。Aは、繰返す処理パーツが1つの場合、Bは、繰返す処理パーツが2つの場合の図である。 二重になった繰返しパーツの使用例を示す図である。 二重になった繰返しパーツの他の使用例を示す図である。 判断パーツと判断レイアウトの説明図である。 パーツの組み合わせを撮影しているところを示す図である。 撮影された画像データと、認識したデータへの変換を示す表である。 本願システムの基本ブロック図である。 撮影機能付きプログラム実行端末のブロック図である。 プログラムを実行しているプログラム実行端末の表示を示す図である。 プログラムを実行する装置と通信回線を使って連携しているサーバーとを示すシステム図である。 連携パーツを使った実施例を示す図である。 連携パーツをくっつける孔をもった個別要素パーツの図である。 連携パーツを使った他の実施例を示す図である。 ロボットを動かす本願プログラミング支援具のレイアウト例である。 ビジネス用途で使われた本願プログラミング支援具のレイアウト例である。 黒文字楊枝に利用した本願発明の説明図である。 Aは、レイアウトされた枠の中に文字などを記載し、出力したものを示す図、Bは、レイアウトされた文字などを記載したものを出力したものを示す図である。 他の実施例におけるプログラミング学習課題を示す図である。 同課題で用いられるプログラミング支援具のパーツを示す図である。 同課題で用いられるプログラミング支援具のパーツを示す図である。 同課題で用いられるプログラミング支援具のパーツを示す図である。 同課題で用いられるプログラミング支援具のパーツを示す図である。 同課題で用いられるプログラミング支援具のパーツを示す図である。 同課題で用いられるプログラミング支援具のパーツを示す図である。 同課題で用いられるプログラミング支援具のパーツを示す図である。 同課題の解答例を示す図である。 他の実施例でのパーツの連結構造を示す図である。
以下、本発明の実施の形態のいくつかについて、詳細に説明する。
本願発明は、実施例にあるような、積木型のパーツとスマートフォンのアプリケーションをセットにし、幼稚園や保育園、あるいは小学生低学年の学童保育の場に導入され、使用されると考えられる。
また、パーツを多数組み合わせることで、より複雑なプログラムを組むことができ、小学生や中学生になっても、有効なプログラム学習として使用可能である。
さらに、プログラム作成を仕事としている者も、考えを整理し、新たな発想を生み出すために、本願発明のプログラミング支援具を活用できる。
また、あらかじめ検討に値する処理パーツ、ケースパーツ、個別要素パーツなどを用意しておくことで、新規のプログラムを効率よく抜けなく作成することができるため、ビジネスソリューションなどのプログラム開発にも有用である。
図1に示すのは本願発明の実施例1で、処理パーツ1を上から順に並べており、順次処理のプログラムを表す。
処理パーツ1は、カードタイプではなく、正四角柱の立体ブロックである。ブロックは縦方向を1単位とすると、横方向の長さは5単位となっている。
プログラムは、上から順番に実行されるよう設定されている。
以上で、プログラムの作成は終わるが、実際にどのような動きになるかがわかれば、学習意欲も増す。そこで、ディスプレイ上で、アニメーション動画などで、できたプログラムが実行されるようにする。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「おゆうぎ」をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容であり、撮影機能付きプログラム実行端末上で、幼稚園児のアニメキャラクターが、幼稚園に行き、体操をして、お遊戯をし、給食を食べ、お昼寝をした後、お家に帰る、となる。
なお、これらのパーツは幼稚園児を対象としたパーツであるため、プログラム実行端末では幼稚園児のアニメキャラクターが動くよう設定されているが、利用者の設定により、シーンやアニメキャラクターが変わるなど、設定するとよい。
図2Aに示す実施例2は、プログラムのレイアウトの中に、おゆうぎケースパーツ2-cが組み込まれたものである。おゆうぎケースパーツ2-cのケース仕上げ2-3は地が斜線模様である。なお、仕上げとはパーツ表面の仕上げのことであり、素材そのまま、塗装、印刷、機械加工、レーザー加工など様々な仕上げがある。
はないちもんめ選択肢パーツ3-aおよびとおりゃんせ選択肢パーツ3-bは、選択肢仕上げ3-1付き選択肢パーツ3で、その左側の選択肢仕上げ3-1は、おゆうぎケースパーツ2-cと同じ地模様が施されている。地模様は、単色のパターン画像であっても、パターンのない地色であっても、写真などの画像であっても良い。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」か「とおりゃんせ」のどちらかのお遊戯をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図2Bは、実施例2をレイアウトした時の残りのパーツである。
おはなしケースパーツ2-fは、おゆうぎケースパーツ2-cと異なるケース仕上げ2-3であるので、それぞれのケースパーツ2が取り得る選択肢パーツ3がどれであるかがわかり易い。ケースパーツ仕上げ2-3は、ケースパーツ2と選択肢パーツ3を表すものとして全て統一しても良い。
図3に示す実施例3は、実施例2と全く同じプログラムを意味している。
はないちもんめ選択肢パーツ3-aは、実施例2のものとは異なり、選択肢仕上げ3-1の部分がない。そのため、パラメータ無し選択付属パーツ4-2を伴って、選択肢パーツとして機能する。
とおりゃんせ選択肢パーツ3-bも、選択肢仕上げ3-1の部分はないが、はないちもんめ選択肢パーツ3-aの右にレイアウトすることで、はないちもんめ選択肢パーツ3-a同様、選択肢パーツ3であることを示している。
このレイアウトにより、パーツのレイアウト全体の長さを短くし、合わせて付属パーツ4一つで、二つの選択肢があるプログラムが組める。なお、選択肢パーツ3を右にさらに3つ4つとレイアウトすることもできるが、レイアウト全体が横長になる。
はないちもんめ選択肢パーツ3-aの横幅は4単位であり、繰返し付属パーツの横幅も1単位であるため、処理パーツ1の横幅5単位とも横幅が揃う。
選択肢仕上げ3-1の部分の横方向の長さは1で、選択肢仕上げ3-1の部分の形は立方体になる。
ケースパーツ2および選択肢パーツ3の左端面にも地模様があると、レイアウトしたパーツの組合せを左側から見た時に地模様が揃い、好ましい。
なお、処理パーツ1などの横幅は5単位に限るものではなく、文字など1-2が記載し易く、パーツが扱い易い大きさであればよい。文字など1-2が記載し易く、パーツが扱い易い大きさの処理パーツ1の横幅は概ね4単位から10単位である。
図4に示す実施例4は、実施例2の図Bに相当するパーツも全部使い、さらにケースパーツ2を1つ追加し作った、実施例のレイアウト図である。
おゆうぎケースパーツ2-cは、その下に選択肢パーツ地模様3-1のある選択肢パーツ3もしくは、付属パーツ4を伴った選択肢パーツ3がレイアウトされるが、そのときケース仕上げ2-3と同じ地模様が「『」状に並ぶ。選択肢パーツ3は2つ以上であれば選択することができ、数の上限はないが3つ前後がよく使われる。選択肢パーツ3が一つの場合は、選択処理がそのまま実行処理になる。
おはなしケースパーツ2-fは、地模様の代わりにケースパーツ2であることを示すラインのケースマーク2-4が左側に記載されている。おはなしケースパーツ2-fの下に、ケースマーク2-4が記載された付属パーツ4を伴って、選択肢パーツ3がレイアウトされている。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」か「とおりゃんせ」か「ちゃんばら」の内のどれかのお遊戯をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「あんたがたどこさ」か「かごめかごめ」のどちらかのお遊戯をする → 「おそとあそび」をする → 「おえかき」をする 「えほん」か「かみしばい」かどちらかのお話を聞く → 「おうちにかえる」
の内容である。
図4Bは、選択肢パーツ3と選択肢付属パーツ4-1をむき出したものである。
図5に示す実施例5は、プログラムのレイアウトの中のおゆうぎケースパーツ2cの右に、繰返し回数4-72の付いた繰返し付属パーツ4-7で、繰返しの数値が「2」であることから、これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」のお遊戯を2回繰返す → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」 を示している。
なお、ここで示すパーツは、処理パーツ1とケースパーツ2が、正四角柱で、その長方形の4面に異なる4種類の記載がある。また、付属パーツ4は立方体である。繰返し付属パーツ4-7は立方体で、繰返し回数4-72が記載されており、その6面に「1・2・3・4・5・6」の数値がそれぞれ記載されている。
繰返し付属パーツ4-7に磁石を埋め込み、鉄を含んだおゆうぎケースパーツ2-cにくっつくように、あるいは面ファスナーや、凹凸で、繰返し付属パーツ4-7がおゆうぎケースパーツ2-cとセットになるようにしても良い。
図6は、ようちえんにいく処理パーツ1-aの、斜視図で、正四角柱の長方形の4側面の処理パーツ上面1-1uには「ようちえんにいく」が、処理パーツ前面1-1mには「ようちえんからかえる」が記載されているが、四角柱の左右端面の正方形である処理パーツ側面1-1sには記載がない。
図7は、おゆうぎケースパーツ2-cを示すが、繰返し回数の「2」も記載されている。これは繰返しの意味も持つケースパーツ2であり、繰返し付属パーツ4-7無しで2回の繰り返しを意味するが、2回と限定されるので、使う場面が限られている。変数の記載が、手書きや、書き換え可能なものとすることで、繰返し回数を変更でき、使い勝手が良くなる。
図8に示す実施例6は、繰返し付属パーツ4-7を2つ使い、2桁以上の繰り返しを示しており、このプログラムの場合は、おゆうぎの「はないちもんめ」を10回繰り返す、の内容である。
図9に実施例7を示す。
ケースパーツ2は、その左上に実施例4とは異なるケースマーク2-4を記載している。これにより、このパーツがケースパーツ2であることが分かり、撮影機能付きのプログラム実行端末10で撮影した時は、「おゆうぎ」の記載と相まっておゆうぎケースパーツ2-cと認識される。
はないちもんめ選択肢パーツ3-aおよびとおりゃんせ選択肢パーツ3-bの左にレイアウトされている付属パーツ4にはケースマーク2-4が記載され、選択付属パーツ4であることが分かり、撮影機能付きのプログラム実行端末10で撮影した時も、選択付属パーツ4-2と認識される。
おゆうぎケースパーツ2-cの右には、繰返し付属パーツ4-7であることを示す繰返しの仕上げ4-73の代わりに、繰返し付属パーツ記号4-70のついた繰返し付属パーツ4-7がレイアウトされている。
おゆうぎケースパーツ2-cの横幅は短く、実施例6では5単位であったところが4単位になっている。繰返し付属パーツ4-7が、パーツをレイアウトした長方形の中にきれいに収まっているので、見た目がすっきりしている。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」か「とおりゃんせ」のどちらかのお遊戯をする、これを2回繰り返す → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図10に実施例8を示す。
おゆうぎケースパーツ2-cは、横に長いかぎ型「『」でその大きさは、左右長い部分の縦の幅が1単位、横幅が4単位であり、左端の上下に長い部分の縦の幅が2単位、横幅が1単位となっている。この形により、おゆうぎケースパーツ2-cは、選択肢パーツ3を最低一つを伴うものであることが想起され、プログラムの理解や学習に寄与する。
図10のAは、ケースパーツ2-cの右に、繰返し付属パーツ4-7の繰返しマーク4-71が無いものをレイアウトしているが、繰返しの仕上げ(地模様)により繰返しであることがわかる。この場合の繰返しは、回数ではないことから、「給食まで何回も繰り返す」というようにルールづけたり、「任意の回数繰返す」とルールづけたりすることができる。
図10のBは、おゆうぎケースパーツ2-cの右に、繰返し付属パーツ4-7の繰返し回数4-72があるものをレイアウトし、繰返しが2回であることを示している。
これらのパーツのレイアウトが示すプログラムは、図9の実施例7と全く同じ、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」か「とおりゃんせ」のどちらかのお遊戯をする、これを2回繰り返す → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図11に示す実施例9は、繰返しマーク4-71のついた繰返し付属パーツ4-7を使った、プログラムの組合せを示す。
おゆうぎ処理パーツ1-cの左側に、ケース付属パーツ4-6があり、合わせておゆうぎケースパーツ2-cと同じ意味となる。
「はないちもんめ」「とおりゃんせ」は、横幅が5単位と、他の処理パーツと同じであるが、左側に、ケース付属パーツ4-6をレイアウトすることでそれぞれ、はないちもんめ選択肢パーツ3-a、とおりゃんせ選択肢パーツ3-bと同じ意味になる。
おゆうぎ処理パーツ1-cの右側に、繰返しマーク4-71が記載された、繰返し付属パーツ4-7がレイアウトされている。
これらのパーツのレイアウトが示すプログラムは、実施例7と異なり、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」か「とおりゃんせ」のどちらかのお遊戯をする、これを給食の時間になるまで繰り返す → 給食の時間になったら「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
なお、ケース付属パーツ4-6の形や仕上げは、撮影機能付きのプログラム実行端末10で読み取ることができれば、丸や十字形や星型やランダムな形などでもよいが、レイアウトのしやすさから言えば四角い形状が好ましい。また四角い形であると、磁石や面ファスナーなどを使って、他のパーツにもつけやすい。
丸や十字形や星型など、多様な形にするメリットは、他のパーツと区別し易く、視覚的に認識し易いことである。
図12に示す実施例10は、おゆうぎケースパーツ2-cの右にレイアウトした繰返し付属パーツ4-7のさらに右にきゅうしょく処理パーツ1-dをレイアウトしている。この場所へのきゅうしょく処理パーツ1-dのレイアウトは、「給食までお遊戯を繰り返す」とうい処理をより明確にあるいは強調するためで、このレイアウトの示すプログラムは、実施例9と同じである。
図13に示す実施例11は、実施例10のレイアウトは、おゆうぎケースパーツ2-cの右に繰返し付属パーツ4-7を、その右に続けて右方向接続パーツ6-1Rを、さらに右にきゅうしょく処理パーツ1-dをレイアウトし、その下におひるね処理パーツ1-e、おうちにかえる処理パーツ1-gをレイアウトしたもので、このレイアウトの示すプログラムの実行は、実施例10と同じものとなるが、プログラムとしては給食以後の流れが、給食以前とは別の流れにあることを示している。
図14に示す実施例12は、はないちもんめ選択肢パーツ3-a、とおりゃんせ選択肢パーツ3-bの下に、おゆうぎケースパーツ2-cと、繰返し付属パーツ4-7をレイアウトしたもので、プログラムが実行する内容は実施例10と同じ、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」か「とおりゃんせ」のどちらかのお遊戯をする、これを給食の時間になるまで繰り返す → 給食の時間になったら「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
本実施例は、あらかじめ「給食までお遊戯を繰り返す」とし、実施例11では「お遊戯の繰返しを終えて給食にする」というように、繰返しの終了のきっかけを、「給食」にするか「お遊戯」にするかどちらにするかを決めておくなどの取り決めにより、より高度なプログラムの制作が可能となる。
図15に示す実施例13は、右側にプログラムの流れと並行して、左側にもプログラムの流れがあるマルチタスクの場合のプログラムの作成方法を示す。
お遊戯は「はないちもんめ」と「とおりゃんせ」があるが、園児などの場合、それぞれ指導する先生が決まっており「はないちもんめ」は「ゆりせんせい」、「とおりゃんせ」は「みつあみせんせい」となっていることを示す。
このパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → {「はないちもんめ」を「ゆりせんせい」とする か 「とおりゃんせ」を「みつあみせんせい」とする のどちらか}のお遊戯を2回する または 先生が終わりと言ったら → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
より高度な利用方法としては、左列に、クライアントシステムのプログラムを、右列にサーバーシステムのプログラムをレイアウトし、通信を伴う複雑なプログラムの理解や検討、作成などに使用する。
第16図に示す実施例14は、実施例13のはないちもんめ選択肢パーツ3-aと、とおりゃんせ選択肢パーツ3-bの右に、左方向接続パーツ6-1Lを加えたもので、実施例12と比べると、先生が職員室から教室に出向いて行ってから、お遊戯が始まることを明確に示している。
図17は、さまざまな接続パーツを示したもので、Aは左方向の接続パーツ、Bは右方向の接続パーツ、Cは双方向の接続パーツ、DはCの横幅を2単位にしたもの、EはCの縦の長さを2単位にしたもの、FはEと同じ外形で段違いの接続パーツ、GはEと同じ外形で斜め段違いの接続パーツでその意味するところはFの接続パーツと同じ、HはEと同じ外形で順次処理が逆転するクロスの接続パーツ、Iは2つの処理パーツあるいは個別要素パーツから1つのパーツに接続する接続パーツを示す。
これらの接続パーツ6は、左列のクライアントシステムのプログラムと、右列のサーバーシステムのプログラムの通信や連携を示す場合などに用いる。
形や記載内容は、用途によって種々追加変更を行うとよい。
なお、Aは左右を逆に置くことで、Bすることもできる。またAの接続パーツ6の矢印を記載した反対の面に、Cの接続パーツ6に記載されている双方向矢印を記載などすることで、1つの接続パーツ6を幾通りにも使えるようにもできる。同様に、DEFGHIは外形が同じなので、異なる面に異なる記載を施すことで、少ないパーツで、多種の接続機能を持たせることができる。
18図に示す実施例15は、連携パーツ7を使ったプログラムのレイアウトを示している。
はないちもんめ選択肢パーツ3-aの右についた連携パーツ7-Aと、はないちもんめ伴奏パーツ3-a2の左に付く連携パーツ7-Aが連携していることを示し、とおりゃんせ選択肢パーツ3-bの右についた連携パーツ7-Bと、とおりゃんせ伴奏パーツ3-b2の左に着く連携パーツ7-Bが連携していることを示している。
Aのメインプログラムに対し、BとCはサブプログラムで、はないちもんめのお遊戯では、はないちもんめの伴奏が、とおりゃんせのお遊戯は、とおりゃんせの伴奏がならされることを示している。
このパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」のお遊戯か「とおりゃんせ」のお遊戯かどちらかをする → 「はないちもんめ」のお遊戯をするときは「はないちもんめの伴奏」がならされる / 「とおりゃんせ」のお遊戯をするときは「とおりゃんせの伴奏」がならされる → 「きゅうしょく」を食べる → 「おゆうぎ」をする → 「おうちにかえる」
の内容である。
図19に示す実施例16のレイアウトは、実施例15において、はないちもんめ選択肢パーツ3-aの右に連携パーツ7-Aが、はないちもんめ伴奏3a2の左にも連携パーツ7-Aがレイアウトされ、はないちもんめ選択肢パーツ3-aとはないちもんめ伴奏パーツ3-a2が連携していることを示し、お遊戯の実行では、もらわれていく処理パーツ1-fによりはないちもんめの花嫁が貰われていくシーンまでを実行するところまでを示している。 また、とおりゃんせ選択パーツ3-bの右に連携パーツ7-Bが、とおりゃんせ伴奏パーツ3-b2の左にも連携パーツ7-Bがレイアウトされ、とおりゃんせ選択パーツ3-bと、とおりゃんせ伴奏パーツ3-b2が連携していることを示し、とおりゃんせ伴奏パーツ3-b2の右には連携パーツ7-Cが、ばつケースパーツ2-dの左にも連携パーツ7-Cがレイアウトされ、とおりゃんせ伴奏パーツ3-b2とばつケースパーツ2-dが連携していることを示している。お遊戯の実行では、とおりゃんせで捕まった者に課せられた罰を選択し、実行するところまでを示している。
このパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」をするとき「はないちもんめの伴奏」が奏でられ、その後指名された者が「もらわれていく」 / 「とおりゃんせ」をするとき「とおりゃんせの伴奏」が奏でられる → とおりゃんせで捕まった者は「ばつ」を受け、「おに」になるか「ぬける」かを選択する → 「きゅうしょく」を食べる → 「おゆうぎ」をする → 「おうちにかえる」
の内容である。
図20の実施例17は、おやつケースパーツ2-aに、選択肢パーツ3-h/3-i/3-kがレイアウトされている。選択肢パーツ3の左にはパラメーター無し選択付属パーツ4-2がレイアウトされている。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「みかん」か「いちごケーキ」か「クッキー」の内のどれかのおやつを食べる → 「おゆうぎ」をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図21の実施例18は、実施例17から、みかん選択肢パーツ3-hとクッキー選択肢パーツ3-kの左側に付属していたパラメータ無し選択付属パーツ4-2が外されたレイアウトである。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おやつの種類は「みかん」と「いちごケーキ」と「クッキー」があるが今食べられるのは「いちごケーキ」だけなので「いちごケーキ」を食べる → 「おゆうぎ」をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図22の実施例19は、実施例17からの選択肢のケーキにさらに、「いちごケーキ」の選択肢と、「チーズケーキ」の選択肢があることを示している。おやつケースパーツ2-aの中に、ケーキケースパーツ2-bが入っている形で、入れ子のプログラムのレイアウトとなっている。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おやつの種類は「みかん」と「ケーキ」と「クッキー」があり、ケーキには「いちごケーキ」と「チーズケーキ」がある。どれか1つを食べる → 「おゆうぎ」をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図23の実施例20は、実施例19からおやつケースパーツ2-aの選択肢でもあるケーキケースパーツ2-bのいちごケーキ選択肢パーツ3-iの左にレイアウトされていたパラメータ無し選択付属パーツ4-2を取り去ったレイアウトとなっている。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おやつの種類は「みかん」と「ケーキ」と「クッキー」があり、ケーキには「いちごケーキ」と「チーズケーキ」があるが今食べられるケーキはチーズケーキで、その内のどれか1つを食べる → 「おゆうぎ」をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
を意味している。
なお、パーツレイアウトにより、どのようなプログラムになるかは、プログラム作成のためのプログラムの設定内容次第である。
図24の実施例21は、実施例19から、おやつケースパーツ2-aの選択肢でもあるケーキケースパーツ2-bの選択肢パーツ3の左にレイアウトされていた、おやつケースパーツ2-aにかかるパラメーター無し選択付属パーツ4-2を取り去ったレイアウトとなっている。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おやつの種類は「みかん」と「ケーキ」と「クッキー」があり、「ケーキ」を選択した場合には「いちごケーキ」と「チーズケーキ」が選択肢として現れ、「いちごケーキ」または「チーズケーキ」の内のどれか1つを食べる → 「おゆうぎ」をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図25の実施例22は、実施例19から、おやつケースパーツ2-aの選択肢でもあるケーキケースパーツ2-bの左にレイアウトされていたパラメータ無し選択付属パーツ4-2と、ケーキケースパーツ2-bの選択肢であるチーズケーキ選択肢パーツ3-jの左にレイアウトされていた、おやつケースパーツ2-aにかかるパラメーター無し選択付属パーツ4-2と、おやつケースパーツ2-bの選択肢であるいちごケーキ選択肢パーツ3-iの直ぐ左にレイアウトされていた、ケーキケースパーツ2-bにかかるパラメーター無し選択付属パーツ4-2を取り去ったレイアウトとなっている。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おやつの種類は「みかん」と「いちごケーキ」と「クッキー」があり、「いちごケーキ」を選択した場合には「いちごケーキ」と「チーズケーキ」が選択肢として現れるが、「いちごケーキ」は選択できず、「チーズケーキ」のみが選択でき、「ケーキ」を選択すれば「チーズケーキ」を食べる → 「おゆうぎ」をする → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図26Aの実施例23Aは、おゆうぎケースパーツ2-cの選択肢として処理パーツ1であるおひるね処理パーツ1-eをレイアウトしたものである。おひるね処理パーツ1-eは、本来おゆうぎケースパーツ2-cの選択肢パーツには当たらないが、プログラムとしては成立する。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「きゅうしょく」を食べる → おゆうぎは「はないちもんめ」と「おひるね」がある → 「はないちもんめ」と「おひるね」のどちらかをする → 「きゅうしょく」を食べる → 「おうちにかえる」
の内容である。
図26Bの実施例26Bは、実施例23Aのおゆうぎケースパーツ2-cにかかるパラメータ無し選択付属パーツ4-2を、「Yes」の意味であるY判断付属パーツ4-5Yと「No」の意味であるN判断付属パーツ4-5Nとしたもので、おゆうぎケースパーツ2-cがYes、Noの判断を求めるものであることを示している。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「きゅうしょく」を食べる → おゆうぎをする場合は「はないちもんめ」をする / おゆうぎをしない場合は「おひるね」をする、YesかNoのどちらかを選択する → 「きゅうしょく」を食べる → 「おうちにかえる」
の内容である。
図27Aの実施例24Aは、おゆうぎケースパーツ2-cの選択肢として、おそとあそび処理パーツ1-hと、おひるね処理パーツ1-eをレイアウトしたものである。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おゆうぎは「はないちもんめ」と「おそとあそび」と「おひるね」があり、そのどれかをする → 「きゅうしょく」を食べる → 「おうちにかえる」
の内容である。
図27Bの実施例24Bは、実施例23Aのおゆうぎケースパーツ2-cの、パラメータ無し選択付属パーツ4-2を、Y判断付属パーツ4-5YとN判断付属パーツ4-5Nと、「Else」の意味であるE判断付属パーツ4-5Eに変えたもので、おゆうぎケースパーツ2-cがYes、No、かそれ以外かの判断を求めるものであることを示している。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おゆうぎをする場合は「はないちもんめ」をする/おゆうぎをしない場合は「おそとあそび」をする / 「おゆうぎ」も「おそとあそび」もしない場合は「おひるね」をする、YesかNoかElesのどれかを選択する → 「きゅうしょく」を食べる → 「おうちにかえる」
の内容である。
図28の実施例25は、図28Aに、おゆうぎケースパーツ2-cにかかる判断付属パーツ4-5Eの右にある、おひるね処理パーツ1-eの下に、「きゅうしょく」以下を繋げている。
また、28図Bには、28図Aとは別に、Y判断付属パーツ4-5Yとその右には、はないちもんめ選択肢パーツ3-aをレイアウトし、その下に「きゅうしょく」以下を繋げている。
さらに、28図Cには、28図Aとは別に、N判断付属パーツ4-5Nとその右には、とおりゃんせ選択肢パーツ3-bをレイアウトし、その下に「きゅうしょく」以下を繋げている。
これらのパーツのレイアウトが示すプログラムは、実施例23と同じであるが、プログラムの構成を説明する場合や、より複雑なプログラムを構築する場合に、有用である。
Y判断付属パーツ4-5YとN判断付属パーツ4-5Nは、接続パーツ6としても機能している。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → おゆうぎをする場合は「はないちもんめ」をする/おゆうぎをしない場合は「おそとあそび」をする / 「おゆうぎ」も「おそとあそび」もしない場合は「おひるね」をする、YesかNoかElesのどれかを選択する → 「きゅうしょく」を食べる → 「おうちにかえる」
の内容である。
図29Aの実施例26は、繰返しパーツ5を使ったもので、繰返しパーツ5と繰返しパーツ5を逆さにして配置したパーツとの2個で、おゆうぎ処理パーツ1cを上下から挟んでいる。
上の繰返しパーツ5の右側には、繰返し付属パーツ4-7がレイアウトされ、繰返し回数4-72が表示されており、繰返し回数の2回が示されている。
繰返し付属パーツ4-7の地模様は、繰返しパーツ5の地模様と同じであると繰り返しの回数であることがわかり易い。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」をする → 「おゆうぎ」を2回繰り返す → 「きゅうしょく」を食べる → 「おゆうぎ」をする → 「おうちにかえる」
の内容である。
ケースパーツ2の内容の繰返しを表現する場合は、ケースパーツ繰返し付属パーツ4-7が適しているが、処理パーツ1やケースパーツ2、選択肢パーツ3などが並んだ塊を繰返す場合は、繰返しパーツ5で表現するほうがやり易い。
図29Bの実施例27も、繰返しパーツ5を使ったもので、繰返しパーツ5と繰返しパーツを逆さにして配置した繰返しパーツ5との2個で、たいそう処理パーツ1-bと、おゆうぎ処理パーツ1-cを上下から挟んでいる。
これらのパーツのレイアウトが示すプログラムは、
「ようちえんにいく」 → 「たいそう」と「おゆうぎ」を2回繰り返す → 「きゅうしょく」を食べる → 「おゆうぎ」をする → 「おうちにかえる」
の内容である。
図30の実施例28は、繰返しパーツ5を2組の計4つ使ったもので、繰返しパーツ5と繰返しパーツ5を逆さにして配置したパーツとの2個でおゆうぎ処理パーツ1-cを挟み、さらに、上記おゆうぎ処理パーツ1-cを含む繰り返しのパーツセットと、たいそう処理パーツ1-bを加えたものを、繰返しパーツ5と繰り返しパーツ5を逆さにして配置したパーツとの2個で、上下から挟んでいる。
上の繰返しパーツ5の右側には、繰返し付属パーツ4-7がレイアウトされ、繰返し回数4-72が表示されており、繰返し回数の2回が示されている。また、中の繰返しパーツ5の右側にも、繰返し付属パーツ4-7がレイアウトされ、繰返し回数4-72が表示されており、繰返し回数の2回が示されている。
これらのパーツのレイアウトが示すプログラムは、
{「たいそう」をする → 「おゆうぎ」を2回繰り返す} これを2回繰り返す → 「きゅうしょく」を食べる → 「おゆうぎ」をする → 「おうちにかえる」
の内容である。「おゆうぎ」は合計5回することになる。
図31の実施例29は、実施例28では、きゅうしょく処理パーツ1-dが下の繰返しパーツ5を逆さにして配置したパーツの下にあったものを、繰返しパーツ5を逆さにして配置したパーツの右に移動させたものである。
これらのパーツのレイアウトが示すプログラムは、
{「たいそう」をする → 「おゆうぎ」を3回繰り返す} これを給食の時間になるまで繰り返す → 「きゅうしょく」を食べる → 「おゆうぎ」をする → 「おうちにかえる」
の内容である。
図32の実施例30は、判断パーツ8を使ってレイアウトしたものである。
図32Aは、縦の巾が2単位の判断パーツ8で、その左側に「はい」の記載が、右側には「いいえ」の記載がある。上にレイアウトされているおゆうぎ処理パーツ1-cに対して、どうするかの判断を求める処理で、「はい」と「いいえ」の判断により、下にレイアウトされたパーツの処理に続くようプログラムされる。
判断パーツ8は、図32B/Cに示すように、おゆうぎ処理パーツ1-cと一体となり逆三角形をした判断パーツ8と、直角三角形の「はい」の判断を示すY判断パーツ8-Yと、同じく直角三角形の「いいえ」の判断を示すN判断パーツ8-Nとの3つで構成しても良い。この場合、プログラム作成が多少理解し易くなる。
ただし、この場合、四角形のパーツに三角形のパーツが加わり、パーツの形状の種類が増え、製造コストのアップなどが考えられる。
また、図32Dに示すように、長方形で「はい」と「いいえ」が一体になった四角形判断パーツ8-2でもよい。この場合は、製造コストのアップは押さえられる。
なお、判断処理も、基本的には選択処理の1つである。
図33は、並べられたブロックパーツを組み合わせたもの9を、カメラである入力装置10-1とOCR機能を持った(OCRアプリケーションソフトをインストールした)スマートフォンなどの撮影機能付きのプログラム実行端末10で、撮影しているところを示す。
図34Aは、撮影機能付きのプログラム実行端末10のOCR機能で、図2Aのブロックパーツを組み合わせたもの9に記載された文字を認識したもので、( )書きに地模様も併せて認識したことを示す。
「(地模様A)おゆうぎ」は、地模様Aが全体に施されたおゆうぎケースパーツ2-cであることを示し、「(地模様a)はないちもんめ」は、左側に地模様Aが1単位の幅だけ付けられたはないちもんめ選択肢パーツ3-aであることを示す。
図35Bの表の左列は、読取りデータからOCRが認識した文字データである。この文字データとレイアウトデータから、プログラム実行端末10のデータベース10-45のデータをもとに、表の右列のプログラム要素データが解析され認識されたことを示す。
図35は、本願システムの基本ブロック図である。
入力装置10-1により取り入れた情報は、OCRなどの認識手段10-3などにより、文字は文字データに、レイアウトはレイアウトデータとなる。それらのデータはデータ解析手段10-4によりデータベース10-45のデータと対比させ参照しながら、プログラム要素データが作られる。それらを基にプログラム生成部10-6で、プログラムが生成される。プログラム生成に当たっては、データベース10-45の格納済みの基本プログラムなどのデータが使われる。
生成されたプログラムは、プログラム実行装置10-7に送られ、実行用データ10-75を使いながら実行される。
実行用データ10-75には、画像データや動画データ、ロボット制御データ、音声データなどの種類がある。
以下、プログラム生成部に送る処理内容と処理データを記載したプログラム例である。

// 画像から文字情報を読み取る
var captureImg = ' OCRなどでキャプチャーした画像' ;
Tesseract. recognize(captureImg, {lang: ' jpn' }) . then(function(result) {
checkText(result) ;
});
// 取得した文字情報をチェック、処理の内容を処理プログラムへ送る
function checkText(result) {
var textAll = [' ようちえんにいく' , ' たいそう' . . . ] ;
for (var i = 0; i < textAll.length; i++) {
if (result. match(textAll[i] ) ) {
send_program("処理内容", "文字情報") ;
}
}
}
// 順次処理
ようちえんにいく
send_program("sequentially", " ようちえんにいく") ;
// 順次処理
たいそう
send_program("sequentially", "たいそう") ;
// 分岐処理
おゆうぎ
はないちもんめ
とおりゃんせ
send_program("case", "おゆうぎ" ["はないちもんめ", " とおりゃんせ"] ) ;
// 順次処理
きゅうしょく
send_program("sequentially", "きゅうしょく") ;
// 順次処理
おひるね
send_program("sequentially", "おひるね") ;
// 順次処理
おうちにかえる
send_program("sequentially", "おうちにかえる") ;
// 終了/ /
プログラム中の、//に続く文の行は、プログラム自体ではなく、プログラムのコメント(説明文)であり、プログラムの処理には影響しない。プログラムの学習には役立つので、設定により表示できるようにしても良い。
図36は、実施例31の入力装置付きのプログラム実行端末10のブロック図である。 入力装置10-1はカメラで、ここで撮影した画像のデータは画像読取り手段10-31の、OCRで文字画像が文字コードデータに変換され、地模様や、レイアウト画像も、地模様データ、レイアウトデータ(文字の改行などの上下方向のレイアウト)などに変換される。
変換されたデータは、データ解析手段10-41により、データベース10-45のデータを基に解析され、テキストのプログラム要素データと地模様やレイアウトのプログラム要素データとなる。
テキストのプログラム要素データと地模様やレイアウトのプログラム要素データは、プログラム生成部10-6に送られ、その要素データを基にプログラムが生成される。プログラム生成においては、データベース10-45に格納済みの基本プログラムデータと対比参照するなどが行われる。
途中プログラムが実行できないなどのエラーがある場合は、エラー解析部にエラー情報が送られ、エラーデータ10-65を参照してエラー理由が検出され、エラー修正部がエラー解析部およびエラーデータフ10-65と連携し、エラーを修正する。
完成されたプログラムは、プログラム制御実行部10-7に送られ、利用者の実行ボタンの入力があれば、実行用データ10-75から、静止画やアニメ動画データや音声データなどを取り入れながら、プログラムが実行される。
実行した内容は、プログラム実行端末10のディスプレイ兼操作部10-2に表示される。
図37は、実施例31のプログラム実行端末10のディスプレイ兼操作部10-2である。おやつの選択シーンで、選択肢であるおやつの画像10-22と、ユーザーに操作を促すコメント10-23と、コメントに関連したイラストの画像10-24が表示されている。3つのおやつの内の一つをディスプレイ兼操作部10-2にタッチして選択すると次のシーンに変わる。
図38の実施例32は、通信能付きプログラム実行端末11と外部通信環境13とプログラム学習サーバー12を連携させたところのブロック図である。
端末で生成されたプログラムやプログラム生成履歴、エラーの発生状況などのプログラム学習の内容が、端末の通信装置11-2により、インターネットなどの外部通信環境13を使って、外部サーバーであるプログラム学習サーバー12に送られるシステムである。
プログラム学習サーバー12は、送られてきた通信能付きプログラム実行端末11の情報などをもとに、学習レベル分析機能やエラー情報分析機能、指導サポート機能などを使って、プログラム学習のための各種サービス提供機能12-2を発揮する。
学習レベル分析機能は、プログラムの制作難易度、目的達成率、プログラムのシンプルさ、作成スピード、エラー回数、エラー内容などにより学習レベルを判定する。
エラー情報分析機能は、エラー情報から、エラーが起こり易いプログラムを把握すると同時に、プログラム学習者の弱点を分析する。
学習サポートは、学習レベル分析機能、エラー情報分析機能と連動して、プログラム学習データベース12-1に格納されたプログラム学習サポートデータを参照しながら、学習者の学習をサポートする。サポート内容は、プログラム作成のヒントや、練習問題とその回答と解説や、学習プログラムの見直しなどである。
手書き文字認識機能12-3は、手書きされたプログラムの画像認識のためにあるが、プログラム学習者が低年齢であることも考慮すると、一般的な文字認識ソフトでは認識が難しいと考えられる。そこで撮影した画像を外部サーバーである教育サーバー12などに送り、より強力な手書き認識機能12-3で、手書き文字を認識させようというものである。
要求があれば、端末ごとの学習進度に応じプログラム学習データベース12-1に格納されているプログラム学習支援情報や、プログラム学習支援ノウハウを各端末に送付する。
また、プログラム学習サーバー12は、学習する団体やクラス、学校などを登録しておけば、団体やクラス、学校ごとの情報を送付し、さらに、地域や都道府県ごとの情報も蓄積する。団体やクラス、学校ごとの情報、地域や都道府県ごとの情報は、プログラム教育の普及や改善、発展に利用される。
図39は実施例33で、連携パーツ7を使った、プログラム作成の例である。
図39Aに、平日選択肢パーツ3-pの右に連携パーツ7-Aがレイアウトされている。図39Bに、別の平日選択肢パーツ3-pの左に別の連携パーツ7-Aがレイアウトされている。その下に曜日ケースパーツ2-hが、さらにその下に左側にパラメータ無し選択付属パーツ4-2を伴った、月曜日から土曜日まで6つの曜日選択肢パーツ3-pmが、それらの右にはそれぞれ、連携パーツ7-A2がレイアウトされている。
図39Cには、左側に別の連携パーツ7-Bとパラメータ無し選択付属パーツ4-2を伴った月曜日の曜日選択肢パーツ3-pmが、その下に登校処理パーツが1-k、その下に時間割ケースパーツ2-kが、その下に、平日選択肢パーツ3-pに付属していたパラメータ無し選択付属パーツ4-2とはの別のパラメータ無し選択付属パーツ4-2を伴った、時限選択肢パーツ3-tと給食選択肢パーツ3-sがレイアウトされ、さらにその下に下校処理パーツ1-mと、平日の終り処理パーツ1-nがレイアウトされている。
図39Dは、余りの処理パーツである。
これらのパーツのレイアウトが示すプログラムは、
「起床」 → 「トイレ」に行く → 「洗顔」する → 「朝食」を食べる 「歯磨き」をする → 今日が平日か休日か指定する:今日は平日 → 平日の曜日を指定するプログラムに飛ぶ → 曜日を指定する:月曜日 → 月曜日のプログラムに飛ぶ → 月曜日のプログラム:「登校」する → 「時間割」が続く → 「1時間目」から「給食」を挟んで「6時間目」に至る → 「下校」する → 「平日の終わり」 → 「夕食」を食べる → 「テレビ」を見る → 「宿題」をする → 「お風呂」に入る → 「寝る」
の内容である。
なお、時間割ケースパーツ2-kは、選択肢を選択させるケースではなく、順次処理を示すケースである。
図40は、選択肢パーツ3の側面3-4sに選択肢パーツ側面の孔3-4hが開けられた選択肢パーツ3を示す。選択肢パーツ上面3-4uには「祝日」が、選択肢パーツ前面3-4mには「平日」が記載されている。他のには、「日曜」「休日」が記載されており、上面にどの面を持ってくるかで4通りに使える。
選択肢パーツ側面の孔3-4hは、連続パーツをはめ込むための孔で、円柱状の孔である。選択肢パーツ側面の孔3-4hに、図39の連携パーツ7の連携突起7-3を差し込む。連携パーツ7の連携突起7-3が円柱形であれば、選択肢パーツ側面の孔3-4hに連携パーツ7を挿した状態で回すことができ、4種類の連携パーツの記載文字を、回すだけで簡単に変えることができる。
このことは、他の付属パーツ4でも同様の構造とすることで、回すだけでパラメーターを変えることができる。
なお、円柱状の孔、突起を四角柱とした場合は、抜き差しが必要となるが傾くことなく接続させることができる。
図41の実施例34は、実施例33をもとに、別のプログラムを作ったものである。
図41Bは、平日選択肢パーツ3-pに続く曜日ケースパーツ2-hに続けて、月曜日のプログラムをレイアウトしている。
これらのパーツの図43Bのレイアウトが示すプログラムは、
平日の曜日を指定するプログラム → 曜日を指定する:月曜日 → 月曜日のプログラム 「登校」する → 「1時間目」から「体育」を1時限を2回繰返す(体育を2時限する) → 「給食準備」をする → 「配膳」する → 「食事」する → 「理科」の授業 → 「算数」の授業 → 「下校」する → 「平日の終わり」
の内容である。
以下、OCRを解析し、プログラム生成部に送る処理内容と処理データを記載したプログラム例である。
// 写真から文字情報を読み取る
var captureImg = ' OCRなどでキャプチャーした画像' ;
Tesseract. recognize(captureImg, {lang: ' jpn' }) . then(function(result) {
checkText(result) ;
});
// 取得した文字情報をチェック、処理の内容を処理プログラムへ送る
function checkText(result) {
var textAll = [' 起床' , ' トイレ' , ' 洗顔 ' . . . ] ;
for (var i = 0; i < textAll.length; i++) {
if (result. match(textAll[i] ) ) {
send_program("処理内容", "文字情報") ;
}
}
}
// 順次処理
起床
send_program("sequentially", "起床") ;
// 順次処理
トイレ
send_program("sequentially", " トイレ") ; // 順次処理
洗顔
send_program("sequentially", "洗顔") ;
// 順次処理
朝食
send_program("sequentially", "朝食") ;
// 順次処理
歯磨き
send_program("sequentially", "歯磨き") ;
// 分岐処理
何の日
平日
休日
send_program("case", "何の日" ["平日", "休日"] ) ;
//平日を選択した場合
// 順次処理
平日
send_program("sequentially", "平日") ;
// 分岐処理
曜日
月曜日
send_program("case", "曜日" ["月曜日", "火曜日". . . ] ) ;
// 月曜日を選択した場合
// 順次処理
登校
send_program("sequentially", "登校") ; // 順次処理
時間割
send_program("sequentially", "時間割") ;
// 繰り返し処理
体育
send_program("repeat[回数] ", "体育") ;
// 順次処理
給食準備
send_program("sequentially", "給食準備") ; // 順次処理
配膳
send_program("sequentially", "配膳") ;
// 順次処理
食事
send_program("sequentially", "食事") ;
// 順次処理
理科
send_program("sequentially", "理科") ;
// 順次処理
算数
send_program("sequentially", "算数") ;
// 順次処理
下校
send_program("sequentially", "下校") ;
// 順次処理(分岐終わり)
平日の終わり
send_program("return", "平日の終わり") ;
// 順次処理
夕食
send_program("sequentially", "夕食") ;
// 順次処理
テレビ
send_program("sequentially", "テレビ") ;
// 順次処理
宿題
send_program("sequentially", "宿題") ;
// 順次処理
お風呂
send_program("sequentially", "お風呂") ;
// 順次処理
寝る
send_program("sequentially", "寝る") ;
// 終了
図42の実施例35は、ロボットの動きをプログラムしたものである。
これらのパーツのレイアウトが示すプログラムは、
ロボットの「パワーオン」 → 「歩く」 → 「方向転換」の選択肢が「後ろ」と「左右」があり、「左右」には「右」転換と「左」転換の選択肢がある → どれか1つを選択すると方向転換し歩き続ける → 「止まる」 → 「手を上げる」の選択肢として「右」手と「左」手と「両」手がある → どれか1つを選択すると選択した内容に沿って手を上げる → 「止まる」 → 「パワーオフ」
の内容である。
これらレイアウトされたブロックパーツをくみあわせたものを、カメラである入力装置10-1とOCR機能を持ち、プログラムを実行するアプリケーションソフトをインストールしたスマートフォンなどのプログラム実行端末10で、実行させるとそのディスプレイ上で、アニメーションのロボットがプログラム通りに動く。
なお、ディスプレイ上のアニメーションロボットではなく、小型のロボットが動くようにしても良い。
図43は、商品開発のテーマを決めるための使用例で、プログラムを検討するためにレイアウトしたパーツの一部を示している。
本願発明は、この例にも示すように、ビジネスの場でも使えるものである。
これらのパーツのレイアウトが示すプログラムは、
「商品開発」に当たって → その「是非」を最初に考える → 「理念」に合致するか考える → 理念からまず導かれる「基本方針」との「整合性」のチェック(※1) → 「企業目標」「従業員の幸福」「社会性」を全てチェック(※2) → 「調査」:「目的」「競争相手」「時期」「外部環境」「リソース」を全て「調査」する(※3) → 「テーマ開発推進」 → 「既存ライン」商品か、「新規ライン」商品か、「新規カテゴリー」かを決める → 「新規カテゴリー」の場合、「異業種」参入か、「異業態」(※4)か、従来の業態での新規商品かを選択する → 「新規商品」の場合は、どのような方法による新規商品か決める → 「リサイクル」「アップサイクル(※5)」「新規デザイン」かを決める。 → 新規デザインの場合、どのようなデザインを目指すか決める、「Basicdesign」「Redesign」「Otherdesign」「Ethcaldesign」のどのような手法を使うか、2回繰り返して考える(※6) → 社長に報告する → 商品開発テーマの可否について判断を求める → 「可」の判断が出るまで繰り返す
の内容である。
以下に(※1)〜(※6)について、補足する。
(※1)整合性ケースは、伴う個別要素パーツがチェック項目であることを示す。
(※2)接続パーツAA、AB、ACに具体的なチェック内容が続く。
(※3)調査ケースに伴われる個別要素パーツは必要に応じ、調査される。接続パーツB、C、D、E、Fに具体的な調査内容が続く。
(※4)「異業種」とは、扱う商品やサービスが異なる業種のこと。異業態とは、扱い方、例えば、小売り、卸、下請け、製造販売などの違いを指します。
(※5)「アップサイクル」とは、商品の製造課程で出てく端材や余りものなどを使って、別の新たな商品に仕上げることを言う。
(※6)接続パーツBA、BB、BC、BDに具体的なチェック内容が続く。
図44の実施例36は、直方体ではない変形ブロックである黒文字楊枝の、本願実施例である。説明ケースパーツ2-uは、文字の記載はないが、黒文字の樹皮によりケースパーツ2と読み取るよう、プログラム実行端末10のアプリケーションソフトで設定されている。レシピケースパーツ2-vはレシピの選択を指示するが、選択肢パーツ3が1つしかない場合は、操作者の操作を待たず、選択肢パーツ3の内容が処理実行され表示される。
図44Aでは、黒文字楊枝樹皮を認識すると、その下にレイアウトされている皐月草花羊羹選択肢パーツ3-uの記載内容を認識し、プログラム実行端末10上で、皐月草花羊羹の説明が成される。
図44Bは、Aのレイアウトの残りのパーツである。レシピケースパーツ2-vは、レシピ説明ためのケースパーツ2である。
図45Aは、複数の文字などの記載と、それらを罫線の枠線で囲ったものを紙に出力したものである。
ケースの文言記載の枠内には、地模様などケース仕上げ2-3が、その右の枠には繰返しを示す繰返し回数4-72であることを示す地模様が付けられている。また、選択肢である「はないちもんめ」の記載の左には、「はないちもんめ」が選択肢であることを示す、枠線で囲われた選択肢仕上げ2-3の四角い部分がある。
撮影機能付きのプログラム実行端末10は、他の本願パーツ同様、本出力紙を読み取った後、読み込んだ文字などのコードデータとレイアウトデータを認識する手段と認識したデータと格納済みのデータから、プログラム要素とプログラム構成データを解析する解析手段と、解析したデータからプログラムを生成し、実行することができる。
この出力した紙の記載が示すプログラムは、実施例5と同様
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」のお遊戯を2回する → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
図45Bは、図45Aから罫線と地模様である仕上げを取り去ったものを、紙に出力したものである。
「ようちえんにいく」の文言は、格納済みデータからケースであると認識され、そのケースの右にある数値はケースの繰り返し回数であると認識され、「はないちもんめ」は選択肢であることが認識されるよう設定されている。
「はないちもんめ」の左側には、「はないちもんめ」が選択肢であることを示すケース地模様は無いが、「はないちもんめ」は選択肢であることが認識されるよう設定されており、また「きゅうしょく」が選択肢ではなく処理を示すものと設定されているため、間違いなく記載内容を認識することができる。
この出力した紙の記載が示すプログラムも、実施例5と同様
「ようちえんにいく」 → 「たいそう」をする → 「はないちもんめ」のお遊戯を2回する → 「きゅうしょく」を食べる → 「おひるね」をする → 「おうちにかえる」
の内容である。
次に、別のプログラミング学習で用いられるプログラミング支援具の実施例を説明する。
このプログラミング学習での課題は、図46に示す通り、ロボットを使って車を自動運転し、目的地にたどり着くためのプログラミング構成を学習するというものである。
この学習であらかじめ用意されたパーツは、矩形状ないし正方形状をなす、例えば薄い板状のものであり、表裏面の一方が、処理内容を記載する内容表示面となっている。そして、その内容表示面を同じ方向に向けて、他のパーツと辺を接触しながら並べて配置することができるように構成されている。
パーツの種類としては、順次処理、選択処理、繰返し処理を示す3種類が少なくともあり、この実施例では、その他に開始/終了を示す開始/終了パーツや、サブルーチンやモジュールなどのひとまとまりの処理の表題を示す表題パーツなども用意されている。
次に、各種パーツについて説明する。
開始と終了を表す開始/終了パーツは、図47に示すようなものである。
順次処理を表す順次処理パーツは、図48に示すようなものである。表面に視認可能に記載された内容が、処理内容を表している。
選択処理を表す選択処理パーツは、ここでは2種類用意してある。その一つが、3以上の選択分岐処理を表すケース(case)パーツである。この実施例でのケースパーツは、図49に示すように、2種類のケースパーツ要素を組み合わせて構成できるようにしてある。第1ケースパーツ要素は例えばL字型の形状をなし、その内容として、現在地がどこかを問う記載が表されている。第2ケースパーツ要素は、第1ケースパーツ要素の縦部位の横に並べられるものであり、その内容として、具体的な場所が記載されている。
選択処理を表すもう1種類のパーツは、2分岐処理を表すイフ(if)パーツである。ここでは、図50に示すように、矩形状のパーツ表面に2本の斜め線が表記してあり、その斜め線と上辺で囲まれた逆二等辺三角形の中に、分岐条件の内容が記載してある。そして、下辺部両端にはYESとNOが表記してあって、この下に、さらに各種のパーツを接続配置できるようにしてある。
繰返し処理を表す繰返し処理パーツは、図51に示すように、2つの繰返し処理パーツ要素によって構成されており、この繰返し処理パーツ要素の間に挟まれて配置されたパーツの処理が繰り返されることを示すようにしてある。第1繰返し処理パーツ要素の表面には、上に凸の横長半楕円が記載してあるとともに、繰り返し条件の内容が記載されている。第2繰返し処理パーツ要素の表面には、下に凸の横長半楕円が記載してあるとともに、ここまでの処理を繰り返す旨が記載してある。また、この実施例では、正方形状の回数パーツ要素も設けてある。この回数パーツ要素は、第1繰返し処理パーツ要素の上に載せて、繰り返し回数を指定するために用いられる。
サブルーチンやモジュールなどのひとまとまりの処理の表題を示す表題パーツは、図52に示すようなものである。また、図53に、前記サブルーチンやモジュールの処理が行われることを示すパーツを示す。このパーツは、順次処理パーツの1種であるということもでき、ここでは、前記表題を行先とする旨の表示がなされている。
図54に、前記課題に回答すべく、学習者がパーツを並べて作成したパーツ配列を示す。この解答例では、プログラム構造が階層構造となっており、1ひとまとまりのパーツ配列が、最上位階層、中間階層、最下位階層の3階層に分けられて、複数設けられている。
なお、図54で学習者が作成したパーツの並びを読み取って実際のプログラムに生成するツールに関しては、先の各実施例で述べたとおりであるので、ここでの説明は省略する。
しかして、このようなものであれば、パスルのように各パーツを手に取って並べながら、構造化プログラミングを学習することができる。
なお、本発明は前記図示例等に限られるものではない。例えばパーツは、平面上に並べるだけではなく、下から積み上げるようにしてもよい。その場合は、鉛直な面が内容表示面となる。
また、各パーツを接触させるだけではなく、物理的に連結する連結構造を設けておいてもよい。その一例を図55に示す。この連結構造は、パーツの辺に設けられた凹部X1と、その凹部X1に嵌合する嵌合体X2とからなり、隣り合うパーツの凹部X1同士に嵌合体X2を嵌め込むことにより、該隣り合うパーツを物理的に連結できるようにしてある。このようにしておけば、作製したパーツ配列が容易にバラバラになることがなく、例えば持ち運んで、別の場所でこれをプログラムに変換することもできるようになる。
その他、本発明は前記各実施例に限られるものではなく、例えば、実施例の一部同士を組み合わせるなど、その趣旨を逸脱しない限りにおいて、種々変形が可能である。
本発明は、子供向けプログラム学習ツールとして利用できるだけでなく、様々なパーツを多数組み合わせることで、プログラマーやシステムエンジニアがチーム内で複雑なプログラムを検討する場合に、シンプルな構成にして全体をわかり易くしたりすることにも使える。
また、パーツの文言を適宜変えることで、事業や商品開発に当たって、事業戦略や商品構成を考える上で、考えを整理することにも使える。
また、パーツを使わず紙に記載したプログラムを読み取ることでそのまま実行することもでき、手軽にプログラムの学習や、新規のプログラムの開発ができる。
ハイフン(-)記号付きの符号は、ハイフンの左を主グループ名とし、ハイフンの左と合わせて個別名またはサブグループ名を表すものとする。例えば、1-aは、「処理パーツ1」に属する「ようちえんにいく処理パーツ」であることを示す。
1 処理パーツ
1-a ようちえんにいく処理パーツ
1-b たいそう処理パーツ
1-c おゆうぎ処理パーツ
1-d きゅうしょく処理パーツ
1-e おひるね処理パーツ
1-f もらわれていく処理パーツ
1-g おうちにかえる処理パーツ
1-h おそとあそび処理パーツ
1-i おえかき処理パーツ
1-k 登校処理パーツ
1-m 下校処理パーツ
1-p 平日の終り処理パーツ
1-q パワーオン処理パーツ
1-r 歩く処理パーツ
1-s 止まる処理パーツ
1-t パワーオフ処理パーツ
1-1m 処理パーツ前面
1-1U 処理パーツ上面
1-1s 処理パーツ側面
1-2 文字など
2 ケースパーツ
2-a おやつケースパーツ
2-b ケーキケースパーツ
2-c おゆうぎケースパーツ
2-d ばつケースパーツ
2-e あそびじのじかんケースパーツ
2-f おはなしケースパーツ
2-g 何の日ケースパーツ
2-h 曜日ケースパーツ
2-k 時間割ケースパーツ
2-q 方向転換ケースパーツ
2-r 左右ケースパーツ
2-s 手を上げるケースパーツ
2-u 説明ケースパーツ
2-v レシピケースパーツ
2-2 ケース記載文字など
2-3 ケース仕上げ
2-4 ケースマーク
3 選択肢パーツ
3-a はないちもんめ選択肢パーツ3-a2 はないちもんめ伴奏パーツ3-b とおりゃんせ選択肢パーツ
3-b2 とおりゃんせ伴奏パーツ
3-c ちゃんばら選択肢パーツ
3-d あんたがたどこさ選択肢パーツ3-e かごめかごめ選択肢パーツe3-f えほん選択肢パーツf
3-g かみしばい選択肢パーツg
3-h みかん選択肢パーツ
3-i いちごケーキ選択肢パーツ
3-j チーズケーキ選択肢パーツ
3-k クッキー選択肢パーツ
3-m おに選択肢パーツ
3-n ぬける選択肢パーツ
3-p 平日選択肢パーツ
3-pm 曜日選択肢パーツ
3-t 時限選択肢パーツ
3-s 給食選択肢パーツ
3-u 皐月草花羊羹選択肢パーツ 3-v 梅見観世選択肢パーツ
3-bk 後ろ選択肢パーツ
3-r 右選択肢パーツ
3-L 左選択肢パーツ
3-w 両手選択肢パーツ
3-1 選択肢仕上げ
3-2 選択肢記載文字など
3-4h 選択肢パーツ側面の孔
3-4m 選択肢パーツ前面
3-4u 選択肢パーツ上面
3-4s 選択肢パーツ側面
4 付属パーツ
4-1 選択付属パーツ
4-2 パラメータ無し選択付属パーツ4-3 選択付属仕上げ
4-5 判断付属パーツ
4-5Y Y判断付属パーツ
4-5N N判断付属パーツ
4-5E E判断付属パーツ
4-6 ケース付属パーツ
4-7 繰返し付属パーツ
4-70 繰返し付属パーツ記号
4-71 繰返しマーク
4-72 繰返し回数
4-73 繰返し仕上げ
5 繰返しパーツ
5-3 繰返しパーツマーク
6 接続パーツ
6-1R 右方向接続パーツ
6-1L 左方向接続パーツ
7 連携パーツ
7-A A連携パーツ
7-A2 A2連携パーツ
7-B B連携パーツ
7-C C連携パーツ
7-2 連携パーツの記載文字
7-3 連携突起
8 判断パーツ
8-2 四角形判断パーツ
8-Y Y判断パーツ
8-N N判断パーツ
9 ブロックパーツを組み合わせたもの
10 プログラム実行端末
10-1 入力装置
10-2 ディスプレイ兼操作部
10-22 おやつの画像
10-23 ユーザーに操作を促すコメント
10-24 コメントに関連したイラストの画像
10-3 認識手段
10-31 画像読取り手段
10-41 データ解析手段
10-45 データベース
10-6 プログラム生成部
10-65 エラーデータフォルダ
10-75 実行用データ
10-7 プログラム実行部
11 通信能付きプログラム実行端末
11-2 通信装置
12 プログラム学習サーバー
12-1 プログラム学習データベース
12-2 各種サービス提供機能
12-3 手書き文字認識機能
13 外部通信環境
20-1 組み合わせたブロックパーツの上からの順番
20-2 画像読取りデータ
20-3 OCRによる認識データ



Claims (11)

  1. コンピュータプログラミング又はコンピュータプログラミング学習のためのプログラミング支援具であって、
    処理の内容が記載される内容表示面を有したブロック状又はシート状をなす実体物であるパーツを複数備え、
    前記各パーツは、処理の種類毎に、形状、色、模様又はそれらの組み合わせである形態が異なるように構成してあり、かつ、
    各パーツは、前記内容表示面を同じ方向に向けた姿勢で、他のパーツと接触しながら並べて配置することができる接触面又は接触辺を有し、複数のパーツの並び順によって所望のプロセスを表現可能に構成してあることを特徴とするプログラミング支援具。
  2. 前記処理の種類として順次、選択、繰返しの3種類が少なくとも設定してあることを特徴とする請求項1記載のプログラミング支援具。
  3. 処理の種類ごとにパーツの色又は模様が異なるようにしてあることを特徴とする請求項1記載のプログラミング支援具。
  4. 前記パーツが、直方体のブロック状または、長方形のカード状をなし、
    各パーツは片手で持ち動かせる大きさであって、
    少なくともパーツの1つの面に前記内容表示面が設定されていることを特徴とする請求項1記載のプログラミング支援具。
  5. 前記内容表示面は、平面上に置いた場合にその平面と平行な面に現れることを特徴とする請求項1記載のプログラミング支援具。
  6. パーツが、立体の短辺の少なくとも3倍以上の長さを持つ正四角柱であり、その両端面を除く側周面に前記内容表示面が設定してあることを特徴とする、請求項1記載のプログラミング支援具。
  7. 請求項1記載のプログラミング支援具を利用して、プログラムを生成し実行するシステムであって、
    前記パーツの内容表示面に示された処理内容と、複数のパーツの配置から、文字などのコードデータとレイアウトデータを読み込む手段と、
    読み取ったコードデータおよびレイアウトデータを認識する手段と、
    認識したデータと格納済みのデータから、プログラム要素とプログラム構成データを解析する解析手段と、
    解析したデータからプログラムを生成するプログラム生成部と、
    できたプログラムと格納済みの実行用データを用いて制御実行するプログラム実行装置を備えることを特徴とする、プログラム生成実行システム。
  8. 請求項7に記載のプログラム生成実行システムが生成したプログラムの内容や作成状況を、通信回線を使って、所定のプログラム学習支援サーバーに送信する手段を持つことを特徴とする、プログラム学習支援システム。
  9. 請求項7に記載のプログラム生成実行システムのデータを受けて、プログラム学習進度を把握し、学習進度に応じ、格納されているプログラム学習支援情報を各端末などに送信する手段を持つサーバーがあることを特徴とするプログラム学習支援システム。
  10. 文字などの記載と、複数の記載のレイアウトから、読み込んだ文字などのコードデータとレイアウトデータを認識する手段と、
    認識したデータと格納済みのデータから、プログラム要素とプログラム構成データを解析する解析手段と、
    解析したデータからプログラムを生成するプログラム生成部とを備えることを特徴とする、プログラム生成プログラム。
  11. 文字などの記載と、複数の記載のレイアウトから、プログラムを生成する方法であって、
    読み込んだ文字などのコードデータとレイアウトデータを認識する手段と
    認識したデータと格納済みのデータから、プログラム要素とプログラム構成データを解析する解析手段と、
    解析したデータからプログラムを生成するプログラム生成部とを備えることを特徴とする、プログラム生成方法。
JP2019524475A 2017-12-29 2018-12-28 プログラミング支援具 Active JP6656689B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017255208 2017-12-29
JP2017255208 2017-12-29
PCT/JP2018/048590 WO2019132037A1 (ja) 2017-12-29 2018-12-28 プログラミング支援具

Publications (2)

Publication Number Publication Date
JPWO2019132037A1 true JPWO2019132037A1 (ja) 2019-12-26
JP6656689B2 JP6656689B2 (ja) 2020-03-04

Family

ID=67067690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019524475A Active JP6656689B2 (ja) 2017-12-29 2018-12-28 プログラミング支援具

Country Status (2)

Country Link
JP (1) JP6656689B2 (ja)
WO (1) WO2019132037A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022011442A (ja) 2020-06-30 2022-01-17 オムロン株式会社 ビジュアルプログラミングエディタのプログラム、コンピューターおよび方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104888469A (zh) * 2015-05-25 2015-09-09 卢军 基于图像识别的智能编程积木玩具及其实现方法
JP2017121283A (ja) * 2016-01-05 2017-07-13 株式会社セガ トイズ コーディング玩具、ブロック、ステージ、形象体玩具及びコーディング方法
US20170344127A1 (en) * 2016-05-24 2017-11-30 Tangible Play, Inc. Virtualized Tangible Programming
JP6253170B1 (ja) * 2017-02-22 2017-12-27 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104888469A (zh) * 2015-05-25 2015-09-09 卢军 基于图像识别的智能编程积木玩具及其实现方法
JP2017121283A (ja) * 2016-01-05 2017-07-13 株式会社セガ トイズ コーディング玩具、ブロック、ステージ、形象体玩具及びコーディング方法
US20170344127A1 (en) * 2016-05-24 2017-11-30 Tangible Play, Inc. Virtualized Tangible Programming
JP6253170B1 (ja) * 2017-02-22 2017-12-27 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
八城 朋仁 ほか: "「物質プログラミング −物質によるプログラムの可視化と開発環境の制作−」", 情報処理学会 インタラクション 2014 論文集 [ONLINE], JPN6019009416, 2014, pages 647 - 650, ISSN: 0004112867 *

Also Published As

Publication number Publication date
JP6656689B2 (ja) 2020-03-04
WO2019132037A1 (ja) 2019-07-04

Similar Documents

Publication Publication Date Title
Selander Designs for learning-A theoretical perspective
Lee et al. Classroom play and activities to support computational thinking development in early childhood
Roberts et al. Five design-sheets: creative design and sketching for computing and visualisation
Gomoll et al. Between the social and the technical: Negotiation of human-centered robotics design in a middle school classroom
US20210241650A1 (en) Collaborative system for teaching design and critical thinking skills
Jafri et al. A tangible interface-based application for teaching tactual shape perception and spatial awareness sub-concepts to visually impaired children
Paulauskas et al. Reconstruction of industrial and historical heritage for cultural enrichment using virtual and augmented reality
Presser et al. Data collection and analysis for preschoolers: An engaging context for integrating mathematics and computational thinking with digital tools
Papadakis et al. Handbook of research on using educational robotics to facilitate student learning
Weigend et al. Computational thinking education through creative unplugged activities
Bacigalupo et al. EntreComp Playbook. Entrepreneurial learning beyond the classroom
Martínez Ethnographic experiments with artists, designers and boundary objects: Exhibitions as a research method
Boaler et al. Mindset mathematics: Visualizing and investigating big ideas, Grade 1
Fegely et al. A Comprehensive Rubric for Evaluating EduVR.
Leonard et al. Embodying and programming a constellation of multimodal literacy practices: Computational thinking, creative movement, biology, & virtual environment interactions
Barba et al. Tangible media approaches to introductory computer science
Peppler et al. Script changers: digital storytelling with Scratch
JP6656689B2 (ja) プログラミング支援具
Kritzer et al. Playing With Code
Sintoris et al. TaggingCreaditor: A tool to create and share content for location-based games for learning
Lottero-Perdue Engineering design into science classrooms
Cafaro et al. Data through Movement: Designing Embodied Human-Data Interaction for Informal Learning
Patterson Programming in the primary grades: beyond the hour of code
Lane et al. Journeys in mathematical landscapes: genius or craft?
Rouillard et al. Rapid prototyping for mobile serious games

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190510

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190510

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190510

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190705

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200127

R150 Certificate of patent or registration of utility model

Ref document number: 6656689

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250