JP2017161770A - プログラミング学習用の装置、方法およびプログラム - Google Patents

プログラミング学習用の装置、方法およびプログラム Download PDF

Info

Publication number
JP2017161770A
JP2017161770A JP2016047138A JP2016047138A JP2017161770A JP 2017161770 A JP2017161770 A JP 2017161770A JP 2016047138 A JP2016047138 A JP 2016047138A JP 2016047138 A JP2016047138 A JP 2016047138A JP 2017161770 A JP2017161770 A JP 2017161770A
Authority
JP
Japan
Prior art keywords
block
blocks
block mounting
opening
mounting
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
JP2016047138A
Other languages
English (en)
Other versions
JP6321066B2 (ja
Inventor
長谷川 学
Manabu Hasegawa
学 長谷川
チン フィ リー,
Ching Hwi Li
チン フィ リー,
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.)
Thedesignium Inc
Original Assignee
Thedesignium Inc
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 Thedesignium Inc filed Critical Thedesignium Inc
Priority to JP2016047138A priority Critical patent/JP6321066B2/ja
Publication of JP2017161770A publication Critical patent/JP2017161770A/ja
Application granted granted Critical
Publication of JP6321066B2 publication Critical patent/JP6321066B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Toys (AREA)

Abstract

【課題】ユーザがプログラミングの概念を体験的に学習することを可能にするプログラミング学習用の装置等を提供すること。
【解決手段】移動可能なプログラミング学習用の装置10は、複数のブロックを装着することが可能なように構成されたブロック装着部60と、ブロック装着部60に装着されているブロックの種類および順序に応じて、装置10の移動を制御する制御部とを備えている。
【選択図】図2

Description

本発明は、プログラミング学習用の装置、方法およびプログラムに関する。
従来、プログラミング教育は、汎用計算機を用いて行われてきた。また、初心者にも習得が容易な言語を用いてプログラミング教育を容易にする対戦型コンピュータゲーム装置が知られている(特許文献1)。
特開平6−236137号公報
本発明は、ユーザがプログラミングの概念を体験的に学習することを可能にするプログラミング学習用の装置、方法およびプログラムを提供することを目的とする。
本発明の移動可能なプログラミング学習用の装置は、複数のブロックを装着することが可能なように構成されたブロック装着部と、前記ブロック装着部に装着されているブロックの種類および順序に応じて、前記装置の移動を制御する制御部とを備えている。
本発明の1つの実施形態では、前記ブロック装着部は、逐次処理を定義するための第1のブロック装着部と、ループ処理を定義するための第2のブロック装着部とを含み、前記第1のブロック装着部に装着されているブロックの種類および順序に応じて、前記逐次処理の種類および順序が定義され、前記第2のブロック装着部に装着されているブロックの種類および順序に応じて、前記ループ処理が定義され、前記制御部は、前記逐次処理または前記ループ処理に応じて前記装置の移動を制御してもよい。
本発明の1つの実施形態では、前記装置は、センサをさらに備え、前記制御部は、前記センサから出力される信号に応じて分岐処理を行うか否かを決定し、その決定に応じて前記装置の移動を制御してもよい。
本発明の1つの実施形態では、前記センサは、前記装置の底部に搭載されたカラーセンサであってもよい。
本発明の1つの実施形態では、前記複数のブロックおよび前記ブロック装着部は、前記複数のブロックのうちのどのブロックに対応するステップが実行中であるかを示すように構成されてもよい。
本発明の1つの実施形態では、前記ブロック装着部は、前記複数のブロックのうちの少なくとも1つが装着されたことを検知することが可能なようにさらに構成されてもよい。
本発明の1つの実施形態では、前記ブロック装着部は、前記複数のブロックを装着するためのブロック装着基板を含み、前記ブロック装着基板は、前記複数のブロックのうちの1つを装着するためのブロック装着領域を有し、前記ブロック装着領域には前記ブロックを固定するためのバネ部材が設けられており、前記ブロックは、前記バネ部材と係合するスリット部が形成された側面壁を有し、前記ブロックの側面壁には、前記バネ部材と前記ブロックとが接触した状態で前記ブロックが前記バネ部材に対して移動する距離が少なくなるように、前記側面壁の端部から前記スリット部の手前まで切り込まれた切欠きが形成されてもよい。
本発明の1つの実施形態では、前記ブロック装着部は、前記複数の開口部が形成されたブロックガイド基板を含み、前記ブロックガイド基板の開口部の形状は、前記開口部の縁が前記開口部に挿入された前記ブロックの側面壁と点接触することにより前記ブロックが前後左右に位置決めされるように構成されてもよい。
本発明の1つの実施形態では、前記ブロックは、その外観から前記ブロックの方向性が認識されるように構成されてもよい。
本発明の1つの実施形態では、前記開口部は、その外観から前記開口部の方向性が認識されるように構成されてもよい。
本発明の1つの実施形態では、前記ブロックおよび前記開口部は、前記ブロックが一方向においてのみ前記開口部に挿入されることが可能であるように構成されてもよい。
本発明の1つの実施形態では、前記複数のブロックは、少なくとも、「前に進む」、「後ろに進む」、「右に曲がる」、「左に曲がる」、「ループ」の5種類のブロックを含んでもよい。
本発明の方法は、移動可能なプログラミング学習用の装置を動作させる方法であって、前記装置は、複数のブロックを装着することが可能なように構成されたブロック装着部と、制御部とを備え、前記方法は、前記制御部が、前記ブロック装着部に装着されているブロックの種類および順序に応じて、前記装置の移動を制御することを含む。
本発明のプログラムは、移動可能なプログラミング学習用の装置を動作させるためのプログラムであって、前記装置は、複数のブロックを装着することが可能なように構成されたブロック装着部と、制御部とを含み、前記プログラムは、前記制御部によって実行されると、前記ブロック装着部に装着されているブロックの種類および順序に応じて、前記装置の移動を制御することを前記制御部に行わせる。
本発明によれば、ユーザがプログラミングの概念を体験的に学習することを可能にするプログラミング学習用の装置、方法およびプログラムを提供することが可能である。
図1Aは、本発明の1つの実施形態であるプログラミング学習用の装置(“PETS”)10の外観を示す斜視図である。 図1Bは、複数のブロック20の外観を示す斜視図である。 図1Cは、「前に進む」ブロック、「後ろに進む」ブロック、「右に曲がる」ブロック、「左に曲がる」ブロック、「ループ」ブロックの上面図である。 図2は、装置10の上面図である。 図3Aは、3個のブロック20が逐次処理用ブロック装着部70の3個の開口部30にそれぞれ装着された状態の装置10の外観を示す斜視図である。 図3Bは、図3Aに示される状態の装置10の上面図である。 図4Aは、装置10が前方に移動する様子を示す図である。 図4Bは、装置10が右に90°曲がるように移動する様子を示す図である。 図4Cは、装置10が前方に移動する様子を示す図である。 図4Dは、装置10が移動した後の状態を示す図である。 図5Aは、1個のブロック20が逐次処理用ブロック装着部70の1個の開口部30に装着され、2個のブロック20がループ処理用ブロック装着部80の2個の開口部30にそれぞれ装着された状態の装置10の外観を示す斜視図である。 図5Bは、図5Aに示される状態の装置10の上面図である。 図6Aは、装置10が前方に移動する様子を示す図である。 図6Bは、装置10が右に90°曲がるように移動する様子を示す図である。 図6Cは、装置10が前方に移動する様子を示す図である。 図6Dは、装置10が右に90°曲がるように移動する様子を示す図である。 図6Eは、装置10が移動した後の状態を示す図である。 図7は、装置10の底面90に搭載されたカラーセンサ100を示す図である。 図8Aは、装置10が前方に移動する様子を示す図である。 図8Bは、装置10が右に90°曲がるように移動する様子を示す図である。 図8Cは、装置10が前方に移動する様子を示す図である。 図8Dは、装置10が前方に移動する様子を示す図である。 図9は、制御部200の構成の一例を示すブロック図である。 図10Aは、プロセッサ部210によって実行される処理の手順の一例を示すフローチャートである。 図10Bは、プロセッサ部210によって実行される処理の手順の一例を示すフローチャートである。 図10Cは、プロセッサ部210によって実行される処理の手順の一例を示すフローチャートである。 図11は、装置10の内部構造の一例を示す分解斜視図である。 図12Aは、図1Bに示されるブロック20を斜め上方から見た斜視図である。 図12Bは、図1Bに示されるブロック20を斜め下方から見た斜視図である。 図13Aは、ブロックガイド基板62に形成された開口部30を示す上面図である。 図13Bは、図12Aに示すブロック20のB−B線部分の断面構造を示す上面図である。 図13Cは、ブロック20が開口部30に挿入された状態で、ブロック20のB−B線部分の断面構造と共に開口部30を示す上面図である。 図14は、図11に示されるA部分(1つのブロック装着領域120を含む部分)を拡大したものの斜視図である。 図15Aは、ブロック20がブロック装着領域120上に位置する状態を示す斜視図である。 図15Bは、ブロック20がブロック装着領域120に装着された状態を示す斜視図である。 図16Aは、ブロック20がブロック装着基板64に装着される直前の様子を示す図である。 図16Bは、ブロック20の切欠き部23bにブロック装着基板64の板バネ63が挿入される様子を示す図である。 図16Cは、ブロック20の切欠き部23bの上縁部にブロック装着基板64の板バネ63が当接する様子を示す図である。 図16Dは、ブロック装着基板64の板バネ63がブロック20の切欠き部23bとスリット部23aとの間の領域に当接した状態を示す図である。 図16Eは、ブロック20のスリット部23aにブロック装着基板64の板バネ63が係合した状態を示す図である。 図17Aは、ブロック20がブロック装着基板64から取り外される直前の様子を示す図である。 図17Bは、ブロック20のスリット部23aとブロック装着基板64の板バネ63との係合が解除された状態を示す図である。 図17Cは、ブロック装着基板64の板バネ63がブロック20の切欠き部23bの上縁部に当接した状態を示す図である。 図17Dは、ブロック装着基板64の板バネ63とブロック20の切欠き部23bの上縁部との当接が解除された状態を示す図である。 図17Eは、ブロック装着基板64からブロック20から取り外された状態を示す図である。 図18Aは、ブロック20がブロック装着基板64に装着されていない状態でのブロック装着基板64およびブロック装着検出回路220の電気的な回路構成の一例を示す図である。 図18Bは、種類の異なる2つのブロック20がブロック装着基板64に装着された状態でのブロック装着基板64およびブロック装着検出回路220の電気的な回路構成の一例を示す図である。 図18Cは、ブロック20がブロック装着基板64に装着されていない状態でのブロック装着基板64およびブロック装着検出回路220の電気的な回路構成の他の一例を示す図である。 図19Aは、2つブロック20のうちの一方がブロック装着基板64に装着される前の状態を示す図である。 図19Bは、2つのブロック20のうちの一方がブロック装着基板64に装着された後の状態を示す図である。 図19Cは、2つのブロック20のうちの他方がブロック装着基板64に装着された後の状態を示す図である。 図19Dは、図19Aに示される状態でのブロック装着領域120の電気的な回路構成の一例を示す図である。 図19Eは、図19Bに示される状態でのブロック装着領域120の電気的な回路構成の一例を示す図である。 図19Fは、図19Cに示される状態でのブロック装着領域120の電気的な回路構成を示す図である。
以下、図面を参照しながら、本発明の実施の形態を説明する。

1.「プログラミング脳を育てる」ための新しい試み
子ども達がプログラミングを学ぶのに初めの一歩は何が最適であろうか。この疑問からスタートしたのが発明者らの研究である。色々なツールを使って子ども達にプログラミングを教えることを試みたが、どのツールを使っても必ず1人は脱落する子どもが出てきてしまう。それをなくしたい。
そのような願いをかなえるために、プログラミング学習用の新しいツールとして発明者らが考案したものが“PETS”と命名された装置である。
PETSは、(例えば、車輪を用いて)移動可能であるように構成されている。また、PETSは、複数のブロックを装着することが可能なように構成されている。ブロックの種類は、例えば、「前に進む」、「後ろに進む」、「右に曲がる」、「左に曲がる」、「ループ」の5種類である。子ども達には、与えられたコースに対してPETSをスタート地点からゴール地点まで移動させなさいという課題が与えられる。子ども達は、どの種類のブロックをどのような順序でPETSに装着すればこの課題を達成することができるかを自分で考え、実際にブロックをPETSに装着してはPETSを走らせてみるという試行錯誤を繰り返す。このような試行錯誤を通して子ども達がプログラミングを学習することによって子ども達の「プログラミング脳を育てる」ことを試みている。
なお、本研究を通してPETSが子ども達(例えば、小学生または小学校未就学児童)の「プログラミング脳を育てる」ために有効であることが分かってきたが、「プログラム脳を育てる」対象は子ども達に限定されない。PETSは、老人を含むあらゆる年代の人達の「プログラミング脳を育てる」または「プログラミング脳を活性化する」ために有効であることが期待されている。

2.プログラミング学習用の装置(“PETS”)の基本的な構成
図1Aは、本発明の1つの実施形態であるプログラミング学習用の装置(“PETS”)10の外観を示す斜視図である。装置10は、複数のブロック20(図1Aには示されていない、図1Bを参照)を装着することが可能なように構成されたブロック装着部60を含む。具体的には、ブロック装着部60には、複数の開口部30が形成されている。それぞれのブロック20をそれぞれの開口部30に装着することによって複数のブロック20をブロック装着部60に装着することが可能である。装置10は、ブロック装着部60に装着されたブロック20の種類および順序に応じて移動可能であるように構成されている。
ここで、図1Aに示される例では、装置10の上面にブロック装着部60が形成されており、ブロック装着部60は、12個の開口部30に最大で12個のブロック20を装着することが可能なように構成されているが、ブロック装着部60の構成はこれに限定されない。装置10の上面以外の面にブロック装着部60を形成するようにしてもよいし、任意の数の開口部30に任意の数のブロック20を装着することが可能であるようにブロック装着部60を構成するようにしてもよい。さらに、図1Aに示される例では、装置10は、二輪の車輪を用いて移動可能であるように構成されているが、装置10の構成はこれに限定されない。例えば、二輪の車輪の代わりに、四輪の車輪、無限軌道、二足歩行用の脚、四足歩行用の脚などの任意の移動手段を用いて装置10を移動可能であるように構成するようにしてもよい。
図1Bは、複数のブロック20の外観を示す斜視図である。ブロックの種類は、例えば、「前に進む」、「後ろに進む」、「右に曲がる」、「左に曲がる」、「ループ」の5種類であるが、これに限定されない。複数のブロック20は、任意の種類のブロックを含むことが可能である。
図1Cは、「前に進む」ブロック、「後ろに進む」ブロック、「右に曲がる」ブロック、「左に曲がる」ブロック、「ループ」ブロックの上面図である。図1Cに示されるように、各ブロックの上面には、矢印が形成されている。これにより、どのブロックがどの種類のブロックであるかを視覚的に容易に認識することが可能である。具体的には、「前に進む」ブロックの上面には、前方を指す矢印が形成されており、「後ろに進む」ブロックの上面には、後方を指す矢印が形成されており、「右に曲がる」ブロックの上面には、右を指す矢印が形成されており、「左に曲がる」ブロックの上面には、左を指す矢印が形成されており、「ループ」ブロックの上面には、ループを指す矢印が形成されている。
ここで、図1Cに示される例では、各ブロックの上面の輪郭形状は、紙面の上方が「前方」を表し、紙面の下方が「後方」を表すように形成されているが、各ブロックの上面の輪郭形状はこれに限定されない。各ブロックの「前方」、「後方」を区別することが可能である限り、各ブロックは、任意の形状を有することが可能である。また、各ブロックは、一方向においてのみブロック装着部の開口部に装着されることが可能であるように構成されていることが好ましい。

3.プログラミング学習用の装置(”PETS”)の基本的な動作
図2は、装置10の上面図である。装置10は、複数のブロック20を装着することが可能なように構成されたブロック装着部60を含む。ブロック装着部60は、逐次処理を定義するための逐次処理用ブロック装着部(第1のブロック装着部)70と、ループ処理を定義するためのループ処理用ブロック装着部(第2のブロック装着部)80とを含む。図2に示される例では、12個の開口部30のうちの9個の開口部30が逐次処理用ブロック装着部(第1のブロック装着部)70の開口部30として用いられ、12個の開口部30のうちの残りの3個の開口部30がループ処理用ブロック装着部(第2のブロック装着部)80の開口部30として用いられるが、これに限定されない。逐次処理用ブロック装着部70は、任意の数の開口部30を有していてもよく、ループ処理用ブロック装着部80もまた、任意の数の開口部30を有していてもよい。また、装置10は、スタートボタン50を有している。スタートボタン50が押下されると、装置10に装着された複数のブロック20の種類および順序に応じて装置10が移動する動作が開始される。
図2に示される実線の矢印は、逐次処理用ブロック装着部70の開口部30に装着されたブロック20が実行される順序を示す。すなわち、逐次処理用ブロック装着部70に装着されたブロック20は、実線の矢印によって示される順序で実行される逐次処理を定義する。図2に示される破線の矢印は、ループ処理用ブロック装着部80の開口部30に装着されたブロック20が実行される順序を示す。すなわち、ループ処理用ブロック装着部80に装着されたブロック20は、破線の矢印によって示される順序で実行されるループ処理を定義する。

3.1 逐次処理に関連する動作
図3Aは、3個のブロック20が逐次処理用ブロック装着部70の3個の開口部30にそれぞれ装着された状態の装置10の外観を示す斜視図である。
図3Bは、図3Aに示される状態の装置10の上面図である。一番左のブロック20は、「前に進む」ブロックである。中央のブロック20は、「右に曲がる」ブロックである。一番右のブロック20は、「前に進む」ブロックである。
図3Aおよび図3Bに示されるように3個のブロック20が逐次処理用ブロック装着部70の3個の開口部30にそれぞれ装着された状態で、装置10のスタートボタン50が押下された場合に、装置10は、逐次処理用ブロック装着部70に装着されたブロック20の種類および順序に応じて移動する。具体的には、装置10は、逐次処理用ブロック装着部70の1番目の開口部30に装着されたブロック20が「前に進む」ブロックであると決定し、この決定に応答して前方に移動する(ステップ1)。次に、装置10は、逐次処理用ブロック装着部70の2番目の開口部30に装着されたブロック20が「右に曲がる」ブロックであると決定し、この決定に応答して右に曲がるように移動する(ステップ2)。次に、装置10は、逐次処理用ブロック装着部70の3番目の開口部30に装着されたブロック20が「前に進む」ブロックであると決定し、この決定に応答して前方に移動する(ステップ3)。
なお、逐次処理用ブロック装着部70の1番目、2番目、3番目の開口部30がどの位置にある開口部30であるかは予め決められている。図3Bに示される例では、図2に示される実線の矢印によって示される順序に沿って、1番目の開口部30が最下行の1番左の開口部30であり、2番目の開口部30が最下行の左から2番目の開口部30であり、3番目の開口部30が最下行の左から3番目の開口部30であるとして説明しているが、これに限定されない。また、装置10が前方に移動する際にどの距離だけ前方に移動するのかも予め決められている。その距離は、例えば、コースの1マス分の距離であるが、これに限定されない。さらに、装置10が右に曲がる際にどの角度で右に曲がるのかも予め決められている。その角度は、例えば、90°であるが、これに限定されない。
以下、図4A〜図4Dを参照して、図3Aおよび図3Bに示されるように3個のブロック20が逐次処理用ブロック装着部70の3個の開口部30にそれぞれ装着された状態で、装置10のスタートボタン50が押下された場合に、装置10が、与えられたコース400上をどのように移動するかを説明する。ここで、与えられたコース400は、3×3のマスからなり、スタート地点は与えられたコース400の左下のマスであると仮定する。
図4Aは、装置10が、1番目の開口部30に装着されたブロック20が「前に進む」ブロックであると決定したことに応答して、装置10が、スタート地点から1マス分、前方に移動する様子を示す(ステップ1)。
図4Bは、装置10が、2番目の開口部30に装着されたブロック20が「右に曲がる」ブロックであると決定したことに応答して、装置10が、ステップ1で移動した後のマスと同じマスにおいて、右に90°曲がるように移動する様子を示す(ステップ2)。
図4Cは、装置10が、3番目の開口部30に装着されたブロック20が「前に進む」ブロックであると決定したことに応答して、装置10が、ステップ2で移動した後のマスから、1マス分、前方に移動する様子を示す(ステップ3)。
図4Dは、装置10が、ステップ3で移動した後の状態を示す。
このようにして、3個のブロック20が逐次処理用ブロック装着部70の3個の開口部30にそれぞれ装着された状態でスタートボタン50が押下されることにより、3個のブロック20に対応する上述したステップ1、2、3が逐次実行される。ユーザは、図4A〜図4Dに示されるように装置10が移動する様子を観察することによって、3個のブロック20に対応する上述したステップ1、2、3が逐次実行される様子を体験的に学習することが可能である。
なお、実行中のステップと実行中でないステップとを区別して示すために、実行中のステップに対応するブロック20と実行中でないステップに対応するブロック20とを区別して示すことが好ましい。このことは、例えば、実行中のステップに対応するブロック20から光が出射されるのに対して、実行中でないステップに対応するブロック20から光が出射されないようにすることによって達成される。ブロック20自体が発光体であってもよいが、コストや消費電力を考慮すると、ブロック装着部60に内蔵された1つ以上の光源(例えば、1つ以上のLED光源)からの光(例えば、赤色光)がブロック20を介して外部に出射されるようにブロック装着部60およびブロック20を構成することが好ましい。例えば、ブロック20の上面の矢印部分を透過性材料で形成するようにしてもよい。
図4Aに示される装置10の上面図は、ステップ1に対応するブロック20から光を出射することによって、ブロック20が実行中である様子を示す。図4Bに示される装置10の上面図は、ステップ2に対応するブロック20から光を出射することによって、ブロック20が実行中である様子を示す。図4Cに示される装置10の上面図は、ステップ3に対応するブロック20から光を出射することによって、ブロック20が実行中である様子を示す。図4Dに示される装置10の上面図は、ブロック20のすべてから光を出射することによって、プログラムの実行が終了した様子を示す。図4A〜図4Dに示される上面図において、黒塗りの矢印によって示される部分は、光が出射されている部分を示す。
同様にして、ブロック20から出射される光の明滅によって、ブロック20の装着完了、プログラム実行の初期状態、エラー表示などの少なくとも1つを示すようにブロック装着部60およびブロック20を構成するようにしてもよい。

3.2 ループ処理に関連する動作
図5Aは、1個のブロック20が逐次処理用ブロック装着部70の1個の開口部30に装着され、2個のブロック20がループ処理用ブロック装着部80の2個の開口部30にそれぞれ装着された状態の装置10の外観を示す斜視図である。
図5Bは、図5Aに示される状態の装置10の上面図である。逐次処理用ブロック装着部70に装着されたブロック20は、「ループ」ブロックである。ループ処理用ブロック装着部80に装着された左のブロック20は、「前に進む」ブロックであり、右のブロック20は、「右に曲がる」ブロックである。
図5Aおよび図5Bに示されるように1個のブロック20が逐次処理用ブロック装着部70の1個の開口部30に装着され、2個のブロック20がループ処理用ブロック装着部80の2個の開口部30にそれぞれ装着された状態で、装置10のスタートボタン50が押下された場合に、装置10は、逐次処理用ブロック装着部70およびループ処理用ブロック装着部80に装着されたブロックの種類および順序に応じて移動する。具体的には、装置10は、逐次処理用ブロック装着部70の1番目の開口部30に装着されたブロック20が「ループ」ブロックであると決定し、この決定に応答してループ処理を繰り返す。このループ処理がどのようなものであるかは、ループ処理用ブロック装着部80に装着されたブロックの種類および順序に応じて定義されている。具体的には、「ループ処理」は、ループ処理用ブロック装着部80の1番目の開口部30に装着された「前に進む」ブロック20およびループ処理用ブロック装着部80の2番目の開口部30に装着された「右に曲がる」ブロック20によって定義されている。
また、ループ処理を繰り返す回数は予め決められている。図5Bに示される例では、ループを繰り返す回数は2回であるものとして説明するが、これに限定されない。ループ処理を繰り返す回数は任意の回数であってよい(例えば、3回ループ、5回ループなど)。特に、ループ処理を繰り返す回数は1回であってもよい。この場合は、ループ処理が繰り返されることがないため所謂サブルーチンと同等の処理である。あるいは、「1回ループ」ブロック、「2回ループ」ブロック、「3回ループ」ブロック、「5回ループ」ブロックなどループ回数がそれぞれ異なる複数の種類の「ループ」ブロックを設けるようにしてもよい。
以下、図6A〜図6Eを参照して、図5Aおよび図5Bに示されるように1個のブロック20が逐次処理用ブロック装着部70の1個の開口部30に装着され、2個のブロック20がループ処理用ブロック装着部80の2個の開口部30にそれぞれ装着された状態で、装置10のスタートボタン50が押下された場合に、装置10が、与えられたコース600上をどのように移動するかを説明する。ここで、与えられたコース600は、3×3のマスからなり、スタート地点は与えられたコース600の左下のマスであると仮定する。
装置10は、逐次処理用ブロック装着部70の1番目の開口部30に装着されたブロック20が「ループ」ブロックであると決定したことに応答して、装置10が、ループ処理を繰り返す。
図6Aは、装置10が、1回目のループ処理の1番目のブロックとして定義されているブロック20(すなわち、ループ処理用ブロック装着部80の1番目の開口部30に装着されたブロック20)が「前に進む」ブロックであることを決定し、この決定に応答して、スタート地点から1マス分、前方に移動する様子を示す(ステップ1)。
図6Bは、装置10が、1回目のループ処理の2番目のブロックとして定義されているブロック20(すなわち、ループ処理用ブロック装着部80の2番目の開口部30に装着されたブロック20)が「右に曲がる」ブロックであることを決定し、この決定に応答して、ステップ1で移動した後のマスと同じマスにおいて、右に90°曲がるように移動する様子を示す(ステップ2)。
図6Cは、装置10が、2回目のループ処理の1番目のブロックとして定義されているブロック20(すなわち、ループ処理用ブロック装着部80の1番目の開口部30に装着されたブロック20)が「前に進む」ブロックであることを決定し、この決定に応答して、ステップ2で移動した後のマスから1マス分、前方に移動する様子を示す(ステップ3)。
図6Dは、装置10が、2回目のループ処理の2番目のブロックとして定義されているブロック20(すなわち、ループ処理用ブロック装着部80の2番目の開口部30に装着されたブロック20)が「右に曲がる」ブロックであることを決定し、この決定に応答して、ステップ3で移動した後のマスと同じマスにおいて、右に90°曲がるように移動する様子を示す(ステップ4)。
図6Eは、装置10が、ステップ4で移動した後の状態を示す。
このようにして、1個のブロック20が逐次処理用ブロック装着部70の1個の開口部30に装着され、2個のブロック20がループ処理用ブロック装着部80の2個の開口部30に装着され状態でスタートボタン50が押下されることにより、1個のブロック20から呼び出されたループ処理(すなわち、2個のブロック20によって定義されたループ処理)が、所定の回数(例えば、2回)分、繰り返し実行される。ユーザは、図6A〜図6Eに示されるように装置10が移動する様子を観察することによって、1個のブロック20から呼び出されたループ処理が繰り返し実行される様子を体験的に学習することが可能である。
なお、ループ処理中においても、実行中のステップと実行中でないステップとを区別して示すために、実行中のステップに対応するブロック20と実行中でないステップに対応するブロック20とを区別して示すことが好ましい。このことは、例えば、実行中のステップに対応するブロック20から光が出射されるが、実行中でないステップに対応するブロック20から光が出射されないようにすることによって達成される。ブロック20自体が発光体であってもよいが、コストや消費電力を考慮すると、ブロック装着部60に内蔵された1つ以上の光源(例えば、1つ以上のLED光源)からの光(例えば、赤色光)がブロック20を介して外部に出射されるようにブロック装着部60およびブロック20を構成することが好ましい。例えば、ブロック20の上面の矢印部分を透過性材料で形成するようにしてもよい。
図6Aに示される装置10の上面図は、ステップ1に対応するブロック20から光を出射することによって、ステップ1に対応するブロック20が実行中である様子を示す。図6Bに示される装置10の上面図は、ステップ2に対応するブロック20から光を出射することによって、ステップ2に対応するブロック20が実行中である様子を示す。図6Cに示される装置10の上面図は、ステップ3に対応するブロック20から光を出射することによって、ステップ3に対応するブロック20が実行中である様子を示す。図6Dに示される装置10の上面図は、ステップ4に対応するブロック20から光を出射することによって、ステップ4に対応するブロック20が実行中である様子を示す。図6Eに示される装置10の上面図は、ブロック20のすべてから光を出射することによって、プログラムの実行が終了した様子を示す。図6A〜図6Eに示される上面図において、黒塗りの矢印によって示される部分は、光が出射されている部分を示す。
同様にして、ブロック20から出射される光の明滅によって、ブロック20の装着完了、プログラム実行の初期状態、エラー表示などのうちの少なくとも1つを示すようにブロック装着部60およびブロック20を構成するようにしてもよい。

3.3 分岐処理に関連する動作
図7は、装置10の底面90に搭載されたカラーセンサ100を示す。カラーセンサ100は、装置10の底面90に対向する面の色を検出し、検出された色を示す信号を出力する。装置10は、カラーセンサ100から出力される信号に応じて、分岐処理を実行する。ただし、カラーセンサ100は、装置10が「前に進む」ブロックまたは「後ろに進む」ブロックに応じて移動したときにのみ作動されるものとする。
以下、図8A〜図8Dを参照して、図3Aおよび図3Bに示されるように3個のブロック20が逐次処理用ブロック装着部70の3個の開口部30にそれぞれ装着された状態で、装置10のスタートボタン50が押下された場合に、装置10が、与えられたコース800上をどのように移動するかを説明する。ここで、与えられたコース800は、3×3のマスからなり、3×3のマスの中心のマスの色は赤色(図8A〜図8Dでは、斜線で示す)であるが、それ以外のマスの色は白色であり、スタート地点は与えられたコース800の左下のマスであると仮定する。
図8Aは、装置10が、1番目の開口部30に装着されたブロック20が「前に進む」ブロックであると決定したことに応答して、装置10が、スタート地点から1マス分、前方に移動する様子を示す(ステップ1)。装置10は、ステップ1で移動した後のマスにおいて、カラーセンサ100から出力される信号を判定する。この場合、カラーセンサ100から出力される信号は「白色」を示す信号であるから、装置10は、処理を続行する。
図8Bは、装置10が、2番目の開口部30に装着されたブロック20が「右に曲がる」ブロックであると決定したことに応答して、装置10が、ステップ1で移動した後のマスと同じマスにおいて、右に90°曲がるように移動する様子を示す(ステップ2)。
図8Cは、装置10が、3番目の開口部30に装着されたブロック20が「前に進む」ブロックであると決定したことに応答して、装置10が、ステップ2で移動した後のマスから、1マス分、前方に移動する様子を示す(ステップ3)。装置10は、ステップ2で移動した後のマスにおいて、カラーセンサ100から出力される信号を判定する。この場合、カラーセンサ100から出力される信号は「赤色」を示す信号であるから、装置10は、処理を最初の処理(すなわち、1番目の開口部30に装着されたブロック20に対応する処理)の直前に分岐させる。その結果、装置10は、ステップ3で移動した後のマスから、ステップ1〜3を再実行することになる。
図8Dは、ステップ1の再実行により、1番目の開口部30に装着されたブロック20が「前に進む」ブロックであると決定したことに応答して、装置10が、スタート地点から1マス分、前方に移動する様子を示す(ステップ4)。装置10は、ステップ4で移動した後のマスにおいて、カラーセンサ100から出力される信号を判定する。この場合、カラーセンサ100から出力される信号は「白色」を示す信号であるから、装置10は、処理を続行する。
このようにして、3個のブロック20が逐次処理用ブロック装着部70の3個の開口部30にそれぞれ装着された状態でスタートボタン50が押下されることにより、3個のブロック20に対応する上述したステップ1、2、3が逐次実行され、カラーセンサ100によって検出された色が所定の条件を満たすか否かに応じて、分岐処理を実行するか否かが決定される。ユーザは、図8A〜図8Dに示されるように装置10が移動する様子を観察することによって、分岐処理が実行される様子を体験的に学習することが可能である。
なお、分岐処理を実行するために満たすべき条件およびその条件が満たされた場合の処理の分岐先は、上述した例に限定されない。例えば、分岐処理を実行するために満たすべき条件は、「カラーセンサ100から出力される信号が「青色」を示す信号である場合」であってもよいし、「カラーセンサ100から出力される信号が「緑色」を示す信号である場合」であってもよい。さらに、その条件が満たされた場合の処理の分岐先は、処理の任意の地点であり得る。例えば、その条件が満たされた場合の処理の分岐先は、「1つ前の処理に戻る」であってもよいし、「3つ前の処理に戻る」であってもよい。
また、上述したカラーセンサ100に代えて、カラーセンサ以外のセンサを用いることも可能である。そのようなセンサは、装置10の外部の情報を検出しその検出された情報を示す信号を出力するセンサであれば任意のセンサであり得る。また、このようなセンサは、装置10の外部の情報を検出することができる限り、装置10の任意の場所に搭載されることが可能である。

4.プログラミング学習用の装置(”PETS”)の処理
図1Aを参照して説明したように、装置10は、ブロック装着部60に装着されているブロック20の種類および順序に応じて、装置10の移動を制御する。このような制御は、制御部200によって行われる。制御部200は、装置10の筐体(例えば、図11に示される筐体10a)内に収納されている。
図9は、制御部200の構成の一例を示すブロック図である。制御部200は、プロセッサ部210と、メモリ部212と、ブロック装着検出回路220と、センサ出力回路230と、光源駆動回路240と、モータ駆動回路250とを含む。
プロセッサ部210は、装置10の全体の動作を制御する。メモリ部212には、処理を実行するために必要とされるプログラムやそのプログラムの実行に必要とされるデータ等が格納されている。ここで、プログラムをどのようにしてメモリ部212に格納するかは問わない。例えば、プログラムは、メモリ部212にプリインストールされていてもよい。あるいは、プログラムは、インターネットなどのネットワークを介してダウンロードされることによってメモリ部212にインストールされるようにしてもよいし、光ディスクやUSBなどの記憶媒体を介してメモリ部212にインストールされるようにしてもよい。メモリ部212に格納されているプログラムは、例えば、上述した逐次処理、ループ処理、分岐処理を実行するプログラムである。プロセッサ部210は、メモリ部212に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、装置10は、ブロック装着部60に装着されたブロック20の種類および順序に応じて移動することが可能である。
ブロック装着検出回路220は、ブロック装着部60(図1Aを参照)に接続されている。ブロック装着検出回路220は、ブロック20がブロック装着部60に装着されていることを検出し、ブロック装着部60に装着されているブロック20の種類に対応する電圧を示す信号をプロセッサ部210に出力する。
センサ出力回路230は、カラーセンサ100の出力に接続されている。センサ出力回路230は、カラーセンサ100の出力を示す信号をプロセッサ部210に出力する。
光源駆動回路240は、プロセッサ部210からの命令に応じて、光源(例えば、LED)駆動することによって光源から出射される光の明滅を制御する。これにより、ブロック20から出射される光(例えば、赤色光)の明滅が制御される。
モータ駆動回路250は、モータ252に接続されている。モータ駆動回路250は、プロセッサ部210からの命令に応じて、モータ252を駆動する。モータ252が駆動されることにより、モータ252の回転力がギア機構254を介して車輪256に伝達される。車輪256が回転することにより、装置10が移動することが可能である。なお、場合には、モータ252の回転力を直接的に車輪256に伝達する場合には、ギア機構254を省略することも可能である。モータ252の電源としては、例えば、バッテリ(図示せず)を用いることが可能である。
なお、図9に示される制御部200に含まれる構成要素は、単一のハードウェア部品で構成されていてもよいし、複数のハードウェア部品で構成されていてもよい。制御部200の構成は、特定のハードウェア構成には限定されない。
図10A〜図10Cは、プロセッサ部210によって実行される処理の手順の一例を示すフローチャートである。この処理は、例えば、プログラムの形式でメモリ部212に格納されている。プロセッサ部210は、メモリ部212に格納されているプログラムを読み出し、そのプログラムを実行する。
プロセッサ部210によって実行される処理は、前処理ステップ(ステップ1001〜1004)と、逐次処理ステップ(ステップ1005〜1010)と、分岐処理ステップ(ステップ1011〜1015)と、ループ処理ステップ(ステップ1016〜1022)とを含む。

4.1 前処理ステップ(ステップ1001〜1004)
前処理ステップは、ステップ1001から開始される。ステップ1002において、プロセッサ部210は、スタートボタン50が押下されたか否かを決定する。スタートボタン50が押下されない限り、プロセッサ部210の処理は、ステップ1002から先に進まない。スタートボタンが押下されると、処理は、ステップ1003に進む。
ステップ1003において、プロセッサ部210は、ブロック装着部60に装着されているブロック20の種類および順序を検出し、検出された情報をブロックリストに保存する。具体的には、プロセッサ部210は、逐次処理用ブロック装着部70に装着されているブロック20の種類および順序を検出し、検出された情報を逐次処理用ブロックリストに保存するとともに、ループ処理用ブロック装着部80に装着されているブロック20の種類および順序を検出し、検出された情報をループ処理用ブロックリストに保存する。逐次処理用ブロックリストおよびループ処理用ブロックリストのそれぞれは、どの種類のブロックがどのような順序で装着されているかを示すリストである。
例えば、逐次処理用ブロック装着部70に9個の開口部30が形成されている場合には、逐次処理用ブロックリストは、9個のポケットを備えている。各ポケットは、逐次処理用ブロック装着部70に形成されている開口部30に装着されているブロック20に対応する。逐次処理用ブロックリストのそれぞれのポケットには、検出されたブロック20の順序に従って、検出されたブロック20の種類を示す値が格納される。
例えば、ループ処理用ブロック装着部80に3個の開口部30が形成されている場合には、ループ処理用ブロックリストは、3個のポケットを備えている。各ポケットは、ループ処理用ブロック装着部80に形成されている開口部30に装着されているブロック20に対応する。ループ処理用ブロックリストのそれぞれのポケットには、検出されたブロック20の順序に従って、検出されたブロック20の種類を示す値が格納される。
プロセッサ部210は、これらのブロックリストに従って処理を実行する。
ステップ1004において、プロセッサ部210は、変数を初期化する処理を実行する。具体的には、j=1、k=1、l=1、length A=逐次処理用ブロックリストの長さ、length B=ループ処理用ブロックリストの長さという演算が実行される。

4.2 逐次処理ステップ(ステップ1005〜1010)
ステップ1005において、プロセッサ部210は、jの値とlength Aの値とを比較することにより、j≦length Aという不等式が成立するか否かを判定する。ステップ1005における判定結果が「Yes」である場合には、処理は、ステップ1006に進む。ステップ1005における判定結果が「No」場合には、ステップ1010に進み、逐次処理ステップは終了する。
ステップ1006において、プロセッサ部210は、ループ処理用ブロックリストのj番目のブロックがどの種類のブロックであるかを判定する。逐次処理用ブロックリストのj番目のブロックが「ループ」ブロックであると判定された場合には、処理は、ループ処理ステップのためにステップ1016に進む。逐次処理用ブロックリストのj番目のブロックが「ループ」ブロックでないと判定された場合には、処理は、ステップ1007に進む。
ステップ1007において、プロセッサ部210は、逐次処理用ブロックリストのj番目のブロックに応じた動作を実行する。
ステップ1008において、プロセッサ部210は、ループ処理用ブロックリストのj番目のブロックがどの種類のブロックであるかを判定する。逐次処理用ブロックリストのj番目のブロックが「前に進む」ブロックまたは「後ろに進む」ブロックであると判定された場合には、処理は、分岐処理ステップのためにステップ1011に進む。逐次処理用ブロックリストのj番目のブロックが「前に進む」ブロック、「後ろに進む」ブロックのいずれでもないと判定された場合には、処理は、ステップ1009に進む。
ステップ1009において、プロセッサ部210は、変数jの値を1だけインクリメントする(j=j+1)。その後、処理は、ステップ1005に戻る。このようにして、ステップ1005における判定結果が「No」になるまで、処理は、ステップ1005〜1009を繰り返す。

4.3 分岐処理ステップ(ステップ1011〜1015)
ステップ1011において、プロセッサ部210は、ブロックに応じた動作を実行した後、カラーセンサ100から出力される信号が「赤色」を示す信号であるか「青色」を示す信号であるか「緑色」を示す信号であるか「白色」を示す信号であるかを判定する。
カラーセンサ100から出力される信号が「赤色」を示す信号であると判定された場合には、ステップ1012において、プロセッサ部210は、jの値を1に設定する。その後、処理は、ステップ1005に戻る。
カラーセンサ100から出力される信号が「青色」を示す信号であると判定された場合には、ステップ1013において、プロセッサ部210は、jの値を2だけデクリメントする(j=j−2)。その後、処理は、ステップ1005に戻る。
カラーセンサ100から出力される信号が「緑色」を示す信号であると判定された場合には、ステップ1014において、プロセッサ部210は、jの値を3だけデクリメントする(j=j−3)。その後、処理は、ステップ1005に戻る。
カラーセンサ100から出力される信号が「白色」を示す信号であると判定された場合には、ステップ1015において、プロセッサ部210は、jの値を1だけインクリメントする(j=j+1)。その後、処理は、ステップ1005に戻る。

4.4 ループ処理ステップ(ステップ1016〜1022)
ステップ1016において、プロセッサ部210は、「ループ」ブロックによって繰り返される処理の回数nを設定する。ここで、nは所定の値であってもよいし、「ループ」ブロックによって設定される値であってもよい。例えば、「2回ループ」する場合には、n=2に設定される。
ステップ1017において、プロセッサ部210は、lの値とnの値とを比較することにより、l≦nという不等式が成立するか否かを判定する。ステップ1017における判定結果が「Yes」である場合には、処理は、ステップ1018に進む。ステップ1017における判定結果が「No」である場合には、処理は、ステップ1005に進む。
ステップ1018において、プロセッサ部210は、kの値とlength Bの値とを比較することにより、k≦length Bという不等式が成立するか否かを判定する。ステップ1018における判定結果が「Yes」である場合には、処理は、ステップ1020に進む。ステップ1018における判定結果が「No」である場合には、ステップ1019において、プロセッサ部210は、lの値を1だけインクリメントする(l=l+1)。その後、処理は、ステップ1017に戻る。
ステップ1020において、プロセッサ部210は、ループ処理用ブロックリストのk番目のブロックに応じた動作を実行する。
ステップ1021において、プロセッサ部210は、ループ処理用ブロックリストのk番目のブロックがどの種類のブロックであるかを判定する。ループ処理用ブロックリストのk番目のブロックが「前に進む」ブロックまたは「後ろに進む」ブロックであると判定された場合には、処理は、ステップ1011に進む。ループ処理用ブロックリストのk番目のブロックが「前に進む」ブロック、「後ろに進む」ブロックのいずれでもないと判定された場合には、処理は、ステップ1022に進む。
ステップ1022において、プロセッサ部210は、kの値を1だけインクリメントする(k=k+1)。その後、処理は、ステップ1018に戻る。このようにして、ステップ1018における判定結果が「No」になるまで、処理は、ステップ1018〜1022を繰り返す。

5.プログラミング学習用の装置(”PETS”)の内部構造
図11は、装置10の内部構造の一例を示す分解斜視図である。
装置10は、複数のブロック20を装着することが可能なように構成されたブロック装着部60を含む。ブロック装着部60は、筐体10aに取り付けられている。ブロック装着部60は、ブロックガイド基板62とブロック装着基板64とを含む。
ブロックガイド基板62には、複数の開口部30が形成されている。ブロックガイド基板62は、ブロック装着基板64に対向するようにブロック装着基板64上に配置されている。ブロックガイド基板62の開口部30に対向するブロック装着基板64の部分には、ブロック装着領域120が形成されている。ここで、開口部30は、装置10が前に進む方向を基準としてブロック20がブロック装着領域120に装着されるように構成されている。

5.1 ブロック20の構造
装置10の内部構造の詳細を説明する前に、ブロック20の構造の詳細を説明する。
図12Aは、図1Bに示されるブロック20を斜め上方から見た斜視図である。
図12Bは、図1Bに示されるブロック20を斜め下方から見た斜視図である。
図12Aおよび図12Bに示されるように、ブロック20は、前面壁21と背面壁22と右側面壁23と左側面壁24と上面壁25とを有する。前面壁21は、ブロック20がブロック装着部60に装着されたときに、装置10が前に進む方向を向いている壁である。背面壁22は、ブロック20がブロック装着部60に装着されたときに、装置10が後ろに進む方向に向いている壁である。右側面壁23は、前面壁21側から前方を見たときに右側に位置する壁である。左側面壁24は、前面壁21側から前方を見たときに左側に位置する壁である。上面壁25は、前面壁21、背面壁22、右側面壁23、左側面壁24の上端側に位置する壁である。
ここで、右側面壁23の下端部には、スリット部23aが形成されている。さらに、右側面壁23の下端縁には、切欠き部23bが形成されている。上面壁25には、ブロック20の種類を示す表記部27が設けられている。表記部27には、個々のブロックによる命令の内容が示されている。さらに、前面壁21の下端には、ブロック20の種類を表す抵抗値を有する抵抗体26が取り付けられている。この抵抗体26に基づいて発生する電圧によってブロック20の種類を電気的に検出することが可能である。
さらに、ブロック20は、その外観からブロック20の方向性が認識されるように構成されていることが好ましい。例えば、図12Bに示されるように、ブロック20の前面壁21の幅がブロック20の背面壁22の幅より広くなっていてもよい。それに加えて、または、それに代えて、図12Aに示されるように、上面壁25の輪郭形状は、ブロック20の「前方」と「後方」とが区別することができるように形成されていてもよい。これにより、ブロック20の外観からブロック20の「前方」と「後方」とを区別することが可能である。従って、ブロック20の外観からブロック20の「右方」と「左方」とを区別することもまた可能である。

5.2 ブロックガイド基板62
図13Aは、ブロックガイド基板62に形成された開口部30を示す上面図である。
図13Bは、図12Aに示すブロック20のB−B線部分の断面構造を示す上面図である。
図13Cは、ブロック20が開口部30に挿入された状態で、ブロック20のB−B線部分の断面構造と共に開口部30を示す上面図である。
ブロックガイド基板62に形成された開口部30は、開口部30の中心に対して装置10の前側に位置する開口部前縁31aと、開口部30の中心に対して装置10の後側に位置する開口部後縁32aと、開口部30の左右に位置する開口部右縁33aおよび開口部左縁34aとを有する。開口部30は、開口部前縁31aを上底とし、開口部後縁32aを下底とするとほぼ等脚台形の形状を有する。
開口部前縁31aは、中央部分が前方側に凹んだ形状となっている。開口部後縁32aの中央部分には、開口部30の内側に迫り出した後縁迫出し部32a1が形成されている。また、開口部右縁33aの開口部前縁31aに隣接する部分には開口部30の内側に迫り出した右迫出し部33a1が形成され、開口部左縁33aの開口部前縁31aに隣接する部分には、開口部30の内側に迫り出した左迫出し部34a1が形成されている。
開口部30は、ブロック20と同様に、その外観から方向性が認識されるように構成されていることが好ましい。例えば、図13Aに示されるように、開口部30は、左右方向に対称であり、かつ、前後方向に非対称である形状を有していてもよい。これにより、開口部30の外観から開口部30の「前方」と「後方」とを区別することが可能である。従って、開口部30の外観から開口部30の「右方」と「左方」とを区別することもまた可能である。
さらに、ブロック20および開口部30は、ブロック20が一方向においてのみ開口部30に挿入されることが可能であるように構成されていることが好ましい。例えば、図13Cに示されるように、ブロック20および開口部30は、ブロック20の前面壁21が開口部30の開口部前縁31aに接触し、かつ、ブロック20の背面壁22が開口部30の開口部後縁32aに接触する態様で、ブロック20を開口部30に対して位置合わせをした場合にのみ、ブロック20が開口部30に挿入されることが可能であるように構成されてもよい。これにより、ブロック20が誤った方向で開口部30に挿入されることを防止することが可能である。
ブロック20が開口部30に挿入されたとき、ブロック20の右側面壁23が右迫出し部33a1に当接し、ブロック20の左側面壁23が左迫出し部34a1に当接することにより、ブロック20が開口部30内で左右方向に位置決めされる。また、ブロック20が開口部30に挿入されたとき、ブロック20の前面壁21の右側縁が開口部30の開口部前縁31aの右側端部に当接し、ブロック20の前面壁21の左側縁が開口部30の開口部前縁31aの左側端部に当接し、ブロック20の背面壁22が開口部30の開口部後縁32aの後縁迫出し部32a1に当接することにより、ブロック20が開口部30内で前後方向に位置決めされる。
このようにブロックガイド基板62の開口部30の形状は、開口部30の縁が開口部30に挿入されたブロック20の側面壁と点接触することによりブロック20が前後左右に位置決めされるように構成されている。
このようにブロックガイド基板62の開口部30内に挿入されたブロック20と開口部30の内側との接触面積を小さくすることにより、ブロック20を開口部30に挿入したときの抵抗を小さくすることができる。

5.3 ブロック装着基板64
ブロック装着基板64は、ブロック20を装着するための基板である。図11に示される例では、ブロック装着基板64は、12個のブロック装着領域120を有しているが、これに限定されない。ブロック装着基板64は、任意の数のブロック装着領域120を有することが可能である。ブロック装着基板64は、各ブロック装着領域120に1つのブロック20が装着されるように構成されている。

5.4 ブロック装着領域120
図14は、図11に示されるA部分(1つのブロック装着領域120を含む部分)を拡大したものの斜視図である。
ブロック装着領域120の周囲には、ブロック20の前面壁21が当接する前支持支柱65aと、ブロック20の背面壁22が当接する後支持支柱65bと、ブロック20の右側面壁23が当接する右支持支柱65cと、ブロック20の左側面壁24が当接する左支持支柱65dとが設けられている。ここで、右支持支柱65cには、ブロック20の右側面壁23に形成されたスリット部23aおよび切欠き部23bと係合するバネ部材として板バネ63が取り付けられている。ここで、切欠き部23bは、ブロック20の側面壁には、バネ部材とブロック20とが接触した状態でブロック20が板バネ63に対して移動する距離が少なくなるように、側面壁の端部からスリット部23aの手前まで切り込まれていることが望ましい。ブロック装着領域120には、ブロック20がブロック装着領域120に装着されたとき、ブロック20の前面壁21の下端部に取り付けられた抵抗体26と接触するように、一対の抵抗接続端子66a、66bが取り付けられている。さらに、ブロック装着領域120には、ブロック装着領域120にブロック20が装着されたときにブロック装着領域120を光らせるための発光素子が設けられている。発光素子241は、例えば、発光ダイオードである。ただし、発光素子241は、発光ダイオードに限定されない。発光素子241は、ブロック装着領域120にブロック20が装着されたときに、ブロック20が装着されたことを発光により知らせることができるものであればどのようなものでもよい。
図15Aは、ブロック20がブロック装着領域120上に位置する状態を示す斜視図である。
図15Bは、ブロック20がブロック装着領域120に装着された状態を示す斜視図である。
以下、図15Aおよび図15Bを参照して、ブロック20がブロック装着基板64に装着される様子を説明する。
図15Aに示されように、ブロック20をブロックガイド基板64の開口部30に挿入して下方に押し込むと、図15Bに示されるように、ブロック20は、対応するブロック装着領域120上に装着された状態となる。この状態では、ブロック20の前面壁21、背面壁22、左側面壁24は、ブロック装着領域120の周囲に位置する前支持支柱65a、後支持支柱65b、左支持支柱65dに当接している。ブロック20の右側面壁23は、右支持支柱65cに取り付けられた板バネ63により押し付けられるとともに、板バネ63の一部が右側面壁23のスリット部23aに係合した状態となっている。これにより、ブロック20がブロック装着領域120に保持されている。また、この状態では、ブロック20の前面壁21の裏側に取り付けられている抵抗体26に、ブロック装着領域120に設けられている一対の抵抗接続端子66a、66bが接触してこの一対の抵抗接続端子66a、66bの間に抵抗体26が接続された状態となっている。
以下、ブロック20をブロック装着領域120に対して着脱する際にブロック20のスリット部23aおよび切欠き部23bとブロック装着基板64の板バネ63との係合状態が変化する様子を具体的に説明する。

5.5 ブロック20の装着
図16A〜図16Eは、ブロック20がブロック装着基板64に装着されるときにブロック20のスリット部23aおよび切欠き部23bとブロック装着基板64の板バネ63との係合状態が変化する様子をブロック装着開始前の状態からブロック装着完了までに渡って示す。なお、図16A〜図16Eでは、ブロックガイド基板62は図示を省略している。
図16Aに示されるように、ブロック20をブロック装着領域120上に配置し、ブロック20をブロックガイド基板62の開口部30を通過させてブロック装着領域120に近づける。
ブロック20の右側面壁23の下端には切欠き部23bが形成されているので、図16Bに示されるように、切欠き部23bの上端が板バネ23bに接触するまで、右側面壁23が板バネ63に接触しない。
その後、図16Cに示されるように、ブロック20をブロック装着領域120にさらに近づけると、図16Dに示されるように、板バネ63が切欠き部23bとその上のスリット部23aとの間の右側面壁23bに乗り上げることにより初めて板バネ23bが右側面壁23bを押さえつけることとなる。
ブロック20をブロック装着領域120にさらに近づけると、図16Eに示されるように、板バネ63が切欠き部23bの上に位置するスリット部23aに係合することとなる。
このように、ブロック20の右側面壁23の下端には切欠き部23bが形成されているので、図16Bに示されるように、切欠き部23bの上端が板バネ23bに接触するまで、右側面壁23が板バネ63に接触しないことから、ブロック20をブロック装着領域120に装着するときに、ブロック20を板バネ63に抗して押し込む距離を短くすることができる。

5.6 ブロック20の取り外し
図17A〜図17Eは、ブロック20がブロック装着基板64から取り外されるときにブロック20のスリット部23aおよび切欠き部23bとブロック装着基板64の板バネ63との係合状態が変化する様子をブロック取り外し前の状態からブロック取り外し完了までに渡って示す。なお、図17A〜図17Eでは、ブロックガイド基板62は図示を省略している。
図17Aに示されるように、ブロック20をブロック装着領域120から引き抜くように持ち上げると、図17Bに示されるように、板バネ63が切欠き部23bとその上のスリット部23aとの間の右側面壁23bに乗り上げることにより、スリット部23aと板バネ23bとの係合がはずれたことの手ごたえが得られる。
その後、図17Cに示されるように、ブロック20をブロック装着領域120から引き抜くようにさらに持ち上げると、板バネ63は、ブロック20の右側面壁23の下端に形成されている切欠き部23bに入り込み、板バネ63が切欠き部23bの上縁部に当接した状態となる。この状態では、図17Cに示されるように、ブロック20には板バネ23bによって上方向の力が働き、ブロック20が浮き上がってくる感触が得られる。この状態ではブロック20を引き抜く力を与えなくてもブロック20は自然と上方に移動する。
その後、板バネ23bから切欠き部23bの上縁部への力が及ばなくなった状態で、図17Dおよび図17Eに示されるように、ブロック20を上方へ持ち上げることによりブロック20をブロックガイド基板62から引き抜くことができる。
このようにブロック20をブロック装着領域120から引き抜くように持ち上げると、板バネ63とスリット部23aとの係合が解除された後、板バネ63がブロック20の右側面壁23の下端に形成されている切欠き部23bに入り込むので、ブロック20には板バネ23bによって上方向の力が働き、ブロック20が浮き上がってくる感触が得られる。

5.7 ブロック装着基板64の電気的な回路構成
図18Aは、ブロック20がブロック装着基板64に装着されていない状態でのブロック装着基板64およびブロック装着検出回路220の電気的な回路構成の一例を示す。
図18Bは、種類の異なる2つのブロック20がブロック装着基板64に装着された状態でのブロック装着基板64およびブロック装着検出回路220の電気的な回路構成の一例を示す。
図19Aは、2つのブロック20のうちの一方がブロック装着基板64に装着される前の状態を示す。
図19Bは、2つのブロック20のうちの一方がブロック装着基板64に装着された後の状態を示す。
図19Cは、2つのブロック20のうちの他方がブロック装着基板64に装着された後の状態を示す。
図19D〜図19Fは、それぞれ、図19A〜図19Cに示される状態でのブロック装着領域120の電気的な回路構成の一例を示す。
各ブロック装着領域120には、発光素子241と固定抵抗R0とが設けられている。固定抵抗R0の一端は、電源に接続されている。固定抵抗R0の他端は、測定端子221に接続されている。この測定端子221は、一対の抵抗接続端子66a、66bの一方である。一対の抵抗接続端子66a、66bの他方は接地されている。ブロック20がブロック装着領域120に装着されると、一対の抵抗接続端子66a、66bがブロック20の抵抗体26に接続されることにより、一対の抵抗接続端子66a、66bの間に、各ブロック20の種類に応じた抵抗値の抵抗が接続されることとなる。
例えば、図18B、図19B、図19Cに示されように、第1のブロック装着領域120に第1のブロック20が装着され、第2のブロック装着領域120に第2のブロック20が装着された場合、図19Eおよび図19Fに示されるように、第1のブロック装着領域120では、一対の抵抗接続端子66a、66bの間には抵抗R1が接続され、第2のブロック装着領域120では、一対の抵抗接続端子66a、66bの間には抵抗R2が接続される。なお、図18Aおよび図19Aに示されるように、ブロック装着領域120にブロック20が装着されていない場合は、図18Aおよび図19Dに示されるように、一対の抵抗接続端子66a、66bの間は開放された状態となっている。
ブロック装着検出回路220は、各ブロック到着領域120の測定端子221に接続されたマルチプレクサ220aと、マルチプレクサ220aの出力端子221aに接続された電圧検出回路220bとを有する。
なお、固定抵抗R0は、各ブロック装着領域120に必ずしも1個設ける必要はない。例えば、固定抵抗R0は、図18Cに示されるように、ブロック装着検出回路220の内部に1個だけ設けるようにしてもよい。
図18Cは、図18Aに示されるブロック装着基板64およびブロック装着検出回路220の電気的な回路構成の他の一例を示す。図18Cに示される例では、ブロック装着検出回路220において、単一の固定抵抗R0がマルチプレクサ220aの出力端子221aと電源との間に接続されている。

6.プログラミング学習用の装置(”PETS”)の代替的な構成
上述した実施形態では、装置10は、(移動可能な)車型の装置であるとして説明したが、本発明は、これに限定されない。例えば、装置10は、車型以外の任意の型(例えば、車以外の乗り物型、動物型、人型など)の装置であってもよい。あるいは、装置10は、物理的に実際に移動可能な物体である代わりに、コンピュータ画面上で移動可能な物体であってもよい。例えば、複数のブロック20をコンピュータに接続されたコントローラに装着することによって、ブロック20の種類および順序に応じて、コンピュータ画面上で移動可能な物体が移動する実施形態もまた本発明の範囲内に含まれる。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。
本発明は、ユーザがプログラミングの概念を体験的に学習することを可能にするプログラミング学習用の装置、方法およびプログラム等を提供するものとして有用である。
10 プログラミング学習用の装置
20 ブロック
30 開口部
50 スタートボタン
60 ブロック装着部
70 逐次処理用ブロック装着部(第1のブロック装着部)
80 ループ処理用ブロック装着部(第2のブロック装着部)
90 底面
100 カラーセンサ
200 制御部
210 プロセッサ部
212 メモリ部

Claims (14)

  1. 移動可能なプログラミング学習用の装置であって、
    複数のブロックを装着することが可能なように構成されたブロック装着部と、
    前記ブロック装着部に装着されているブロックの種類および順序に応じて、前記装置の移動を制御する制御部と
    を備えた装置。
  2. 前記ブロック装着部は、逐次処理を定義するための第1のブロック装着部と、ループ処理を定義するための第2のブロック装着部とを含み、
    前記第1のブロック装着部に装着されているブロックの種類および順序に応じて、前記逐次処理の種類および順序が定義され、
    前記第2のブロック装着部に装着されているブロックの種類および順序に応じて、前記ループ処理が定義され、
    前記制御部は、前記逐次処理または前記ループ処理に応じて前記装置の移動を制御する、請求項1に記載の装置。
  3. 前記装置は、センサをさらに備え、
    前記制御部は、前記センサから出力される信号に応じて分岐処理を行うか否かを決定し、その決定に応じて前記装置の移動を制御する、請求項1〜2のいずれか一項に記載の装置。
  4. 前記センサは、前記装置の底部に搭載されたカラーセンサである、請求項3に記載の装置。
  5. 前記複数のブロックおよび前記ブロック装着部は、前記複数のブロックのうちのどのブロックに対応するステップが実行中であるかを示すように構成されている、請求項1〜4のいずれか一項に記載の装置。
  6. 前記ブロック装着部は、前記複数のブロックのうちの少なくとも1つが装着されたことを検知することが可能なようにさらに構成されている、請求項1〜5のいずれか一項に記載の装置。
  7. 前記ブロック装着部は、前記複数のブロックを装着するためのブロック装着基板を含み、前記ブロック装着基板は、前記複数のブロックのうちの1つを装着するためのブロック装着領域を有し、前記ブロック装着領域には前記ブロックを固定するためのバネ部材が設けられており、
    前記ブロックは、前記バネ部材と係合するスリット部が形成された側面壁を有し、
    前記ブロックの側面壁には、前記バネ部材と前記ブロックとが接触した状態で前記ブロックが前記バネ部材に対して移動する距離が少なくなるように、前記側面壁の端部から前記スリット部の手前まで切り込まれた切欠きが形成されている、請求項1〜6にいずれか一項に記載の装置。
  8. 前記ブロック装着部は、前記複数の開口部が形成されたブロックガイド基板を含み、
    前記ブロックガイド基板の開口部の形状は、前記開口部の縁が前記開口部に挿入された前記ブロックの側面壁と点接触することにより前記ブロックが前後左右に位置決めされるように構成されている、請求項7に記載の装置。
  9. 前記ブロックは、その外観から前記ブロックの方向性が認識されるように構成されている、請求項1〜8のいずれか一項に記載の装置。
  10. 前記開口部は、その外観から前記開口部の方向性が認識されるように構成されている、請求項1〜9のいずれか一項に記載の装置。
  11. 前記ブロックおよび前記開口部は、前記ブロックが一方向においてのみ前記開口部に挿入されることが可能であるように構成されている、請求項1〜10のいずれか一項に記載の装置。
  12. 前記複数のブロックは、少なくとも、「前に進む」、「後ろに進む」、「右に曲がる」、「左に曲がる」、「ループ」の5種類のブロックを含む、請求項1〜11のいずれか一項に記載の装置。
  13. 移動可能なプログラミング学習用の装置を動作させる方法であって、前記装置は、
    複数のブロックを装着することが可能なように構成されたブロック装着部と、制御部とを備え、
    前記方法は、
    前記制御部が、前記ブロック装着部に装着されているブロックの種類および順序に応じて、前記装置の移動を制御すること
    を含む、方法。
  14. 移動可能なプログラミング学習用の装置を動作させるためのプログラムであって、
    前記装置は、複数のブロックを装着することが可能なように構成されたブロック装着部と、制御部とを含み、
    前記プログラムは、前記制御部によって実行されると、
    前記ブロック装着部に装着されているブロックの種類および順序に応じて、前記装置の移動を制御すること
    を前記制御部に行わせる、プログラム。
JP2016047138A 2016-03-10 2016-03-10 プログラミング学習用の装置、方法およびプログラム Expired - Fee Related JP6321066B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016047138A JP6321066B2 (ja) 2016-03-10 2016-03-10 プログラミング学習用の装置、方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016047138A JP6321066B2 (ja) 2016-03-10 2016-03-10 プログラミング学習用の装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2017161770A true JP2017161770A (ja) 2017-09-14
JP6321066B2 JP6321066B2 (ja) 2018-05-09

Family

ID=59857034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016047138A Expired - Fee Related JP6321066B2 (ja) 2016-03-10 2016-03-10 プログラミング学習用の装置、方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6321066B2 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019074558A (ja) * 2017-10-12 2019-05-16 株式会社島津理化 プログラミング教育用教材
CN109887383A (zh) * 2019-04-18 2019-06-14 孔祥明 一种逻辑块、逻辑板、拼版式逻辑编程系统及方法
JP2019095587A (ja) * 2017-11-22 2019-06-20 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
JP2019122484A (ja) * 2018-01-12 2019-07-25 株式会社エルイーテック ブロックにコンテンツを関連付けする装置
WO2020017396A1 (ja) * 2018-07-19 2020-01-23 株式会社Icon 学習玩具、これに使用する学習玩具用移動体、及びこれに使用する学習玩具用パネル
JP2020079943A (ja) * 2020-01-08 2020-05-28 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
WO2020250809A1 (ja) * 2019-06-10 2020-12-17 株式会社ソニー・インタラクティブエンタテインメント 制御システム、制御方法、およびプログラム
JP2021060597A (ja) * 2020-12-14 2021-04-15 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
CN112764733A (zh) * 2020-06-12 2021-05-07 杭州优必学科技有限公司 一种采用电磁感应进行控制的编程装置及方法
CN112775977A (zh) * 2020-06-12 2021-05-11 杭州优必学科技有限公司 一种基于电阻进行控制的编程装置及方法
CN112785903A (zh) * 2020-06-14 2021-05-11 杭州优必学科技有限公司 一种基于颜色识别进行控制的编程装置及方法
CN112801250A (zh) * 2020-06-12 2021-05-14 杭州优必学科技有限公司 一种采用无线射频进行控制的编程装置及方法
CN113160662A (zh) * 2021-04-19 2021-07-23 杭州优必学科技有限公司 一种基于电容器的编程积木控制方法及系统
JP2021179633A (ja) * 2017-09-27 2021-11-18 カシオ計算機株式会社 電子機器、移動経路比較方法、およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6491169A (en) * 1987-10-02 1989-04-10 Mitsuhiko Yamada Learning apparatus for computer
JPH06236137A (ja) * 1993-02-12 1994-08-23 Nec Corp プログラミング教育用ビデオゲーム装置
JP2003340172A (ja) * 2002-05-24 2003-12-02 Yanoman:Kk 嵌め込み式音発生玩具
US20050026537A1 (en) * 2003-08-01 2005-02-03 Hsieh Jennifer Chia-Jen Physical programming toy
WO2015170873A1 (ko) * 2014-05-07 2015-11-12 김진욱 블록을 이용한 알고리즘 교육 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6491169A (en) * 1987-10-02 1989-04-10 Mitsuhiko Yamada Learning apparatus for computer
JPH06236137A (ja) * 1993-02-12 1994-08-23 Nec Corp プログラミング教育用ビデオゲーム装置
JP2003340172A (ja) * 2002-05-24 2003-12-02 Yanoman:Kk 嵌め込み式音発生玩具
US20050026537A1 (en) * 2003-08-01 2005-02-03 Hsieh Jennifer Chia-Jen Physical programming toy
WO2015170873A1 (ko) * 2014-05-07 2015-11-12 김진욱 블록을 이용한 알고리즘 교육 장치

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179633A (ja) * 2017-09-27 2021-11-18 カシオ計算機株式会社 電子機器、移動経路比較方法、およびプログラム
JP7226486B2 (ja) 2017-09-27 2023-02-21 カシオ計算機株式会社 電子機器、移動経路比較方法、およびプログラム
JP2019074558A (ja) * 2017-10-12 2019-05-16 株式会社島津理化 プログラミング教育用教材
JP7009705B2 (ja) 2017-10-12 2022-01-26 株式会社島津理化 プログラミング教育用教材
JP2019095587A (ja) * 2017-11-22 2019-06-20 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
JP2019122484A (ja) * 2018-01-12 2019-07-25 株式会社エルイーテック ブロックにコンテンツを関連付けする装置
US11645944B2 (en) 2018-07-19 2023-05-09 Icon Corp. Learning toy, mobile body for learning toy, and panel for learning toy
WO2020017396A1 (ja) * 2018-07-19 2020-01-23 株式会社Icon 学習玩具、これに使用する学習玩具用移動体、及びこれに使用する学習玩具用パネル
CN109887383A (zh) * 2019-04-18 2019-06-14 孔祥明 一种逻辑块、逻辑板、拼版式逻辑编程系统及方法
WO2020250809A1 (ja) * 2019-06-10 2020-12-17 株式会社ソニー・インタラクティブエンタテインメント 制御システム、制御方法、およびプログラム
US11957989B2 (en) 2019-06-10 2024-04-16 Sony Interactive Entertainment Inc. Control system, control method, and program
JP7223133B2 (ja) 2019-06-10 2023-02-15 株式会社ソニー・インタラクティブエンタテインメント 制御システム、制御方法、およびプログラム
JPWO2020250809A1 (ja) * 2019-06-10 2021-12-23 株式会社ソニー・インタラクティブエンタテインメント 制御システム、制御方法、およびプログラム
JP2020079943A (ja) * 2020-01-08 2020-05-28 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
CN112801250A (zh) * 2020-06-12 2021-05-14 杭州优必学科技有限公司 一种采用无线射频进行控制的编程装置及方法
CN112801250B (zh) * 2020-06-12 2022-08-05 杭州优必学科技有限公司 一种采用无线射频进行控制的编程装置及方法
CN112775977B (zh) * 2020-06-12 2022-08-05 杭州优必学科技有限公司 一种基于电阻进行控制的编程装置及方法
CN112775977A (zh) * 2020-06-12 2021-05-11 杭州优必学科技有限公司 一种基于电阻进行控制的编程装置及方法
CN112764733A (zh) * 2020-06-12 2021-05-07 杭州优必学科技有限公司 一种采用电磁感应进行控制的编程装置及方法
CN112785903A (zh) * 2020-06-14 2021-05-11 杭州优必学科技有限公司 一种基于颜色识别进行控制的编程装置及方法
JP7284516B2 (ja) 2020-12-14 2023-05-31 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
JP2021060597A (ja) * 2020-12-14 2021-04-15 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
CN113160662A (zh) * 2021-04-19 2021-07-23 杭州优必学科技有限公司 一种基于电容器的编程积木控制方法及系统

Also Published As

Publication number Publication date
JP6321066B2 (ja) 2018-05-09

Similar Documents

Publication Publication Date Title
JP6321066B2 (ja) プログラミング学習用の装置、方法およびプログラム
KR101546927B1 (ko) 블록을 이용한 알고리즘 교육 장치
Sapounidis et al. Educational robots driven by tangible programming languages: A review on the field
Baum Extreme MINDSTORMS: an advanced guide to LEGO MINDSTORMS
CA2944377C (en) Color- or grayscale-sensing, magnetic, mobile, marking robot
Rubenstein et al. AERobot: An affordable one-robot-per-student system for early robotics education
Cicolani et al. Beginning Robotics with Raspberry Pi and Arduino
PL194628B1 (pl) Zdalnie sterowany element zabawki
JP6877688B2 (ja) プログラミング装置及びその制御プログラム、プログラミング方法
CN110637336B (zh) 编程装置及记录介质、编程方法
KR200467213Y1 (ko) 로봇모델키트가 구비되는 교육용 로봇
KR101505853B1 (ko) 구동체의 동작 패턴 프로그래밍 학습 키트
Gopnik What’s wrong with the teenage mind
KR20160000841U (ko) 학생용 센서로봇
KR102083091B1 (ko) 코딩교육장치
KR101292318B1 (ko) 교육용 로봇 시스템 및 이에 적합한 로봇 컨트롤러
US7476140B1 (en) Device using removable templates to provide adjustable interactive output
CN209879840U (zh) 用于教导编程技巧的系统和套件
KR101113273B1 (ko) 다중센서 기반 교육용 모바일 로봇
Griffin The art of LEGO Mindstorms EV3 programming
KR20150107126A (ko) 완구의 동작 프로그래밍 학습 키트
US7148434B2 (en) Gearshift mechanism for electromotive toy car
KR101937246B1 (ko) 퍼즐 완구 및 이를 이용한 스마트 완구
Root et al. Grasping algorithms: exploring toys that teach computational thinking
Wyeth et al. Robot building for preschoolers

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180404

R150 Certificate of patent or registration of utility model

Ref document number: 6321066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees