(57)【要約】【課題】プログラミング学習の適用科目を増やすのに有効な学習支援装置を提供する。【解決手段】学習支援装置は、地図を表示させるプログラムに対応する地図表示ブロック及び地図にオブジェクトを表示させるプログラムに対応するオブジェクト表示ブロックを含む複数のプログラムブロックをリストウィンドウ３２０に表示する第１の表示部と、ユーザによって選択された複数のプログラムブロックをユーザによって指定された表示順序でプログラムウィンドウ３４０に表示する第２の表示部と、オブジェクト表示ブロックに対応するプログラムに従ったオブジェクトの表示位置をユーザの入力に基づいて設定する設定部と、地図表示ブロックに対応するプログラムに従って地図を表示することと、オブジェクト表示ブロックに対応するプログラムと、表示位置とに従って地図にオブジェクトを表示することとを表示順序に従って実行するプログラム実行部と、を備える。【選択図】図３
0003223785.tif 000002
【実用新案登録請求の範囲】
【請求項１】
記憶部に記憶されている地図を表示させるプログラムに対応する地図表示ブロック及び前記地図にオブジェクトを表示させるプログラムに対応するオブジェクト表示ブロックを含む複数のプログラムブロックを第１の表示領域に表示する第１の表示部と、
前記複数のプログラムブロックからユーザによって選択された複数のプログラムブロックを前記ユーザによって指定された表示順序で第２の表示領域に表示する第２の表示部と、
前記オブジェクト表示ブロックに対応するプログラムに従った前記オブジェクトの前記地図における表示位置を前記ユーザの入力に基づいて設定する設定部と、
前記地図表示ブロックに対応するプログラムに従って前記地図を表示することと、前記オブジェクト表示ブロックに対応するプログラムと、前記設定部により設定された前記表示位置とに従って前記地図に前記オブジェクトを表示することとを前記表示順序に従って実行するプログラム実行部と、を備える学習支援装置。
【請求項２】
前記設定部は、前記記憶部に記憶されている入力補助用地図を表示し、前記オブジェクトの地図における表示位置を、前記入力補助用地図において前記ユーザにより指定された位置に従って設定する、請求項１記載の学習支援装置。
【請求項３】
前記設定部は、前記オブジェクト表示ブロックに対応するプログラムに従って表示する前記オブジェクトを前記ユーザの入力に基づいて更に設定する、請求項１又は２記載の学習支援装置。
【請求項４】
複数の前記オブジェクトにそれぞれ関連付けられた複数のアイコンである複数のオブジェクトアイコンを表示するアイコン表示部を更に備え、
前記設定部は、前記オブジェクト表示ブロックに対応するプログラムに従って表示する前記オブジェクトを、前記複数のオブジェクトアイコンから前記ユーザにより選択された前記オブジェクトアイコンに従って設定する、請求項３記載の学習支援装置。
【請求項５】
前記アイコン表示部は、複数の位置にそれぞれ関連付けられた複数のアイコンである複数の位置アイコンを更に表示し、
前記設定部は、前記オブジェクトの前記地図における表示位置を、前記複数の位置アイコンから前記ユーザにより選択された前記位置アイコンに従って設定する、請求項４記載の学習支援装置。
【請求項６】
前記プログラム実行部は、前記地図に前記オブジェクトを表示できるように、当該オブジェクトの前記表示位置に基づいて前記地図の表示エリアを更新する、請求項１〜５のいずれか一項記載の学習支援装置。
【請求項７】
前記第１の表示部が表示する前記複数のプログラムブロックは、地図に表示される複数のオブジェクトの種類と表示位置とに基づいて、同一種類の複数のオブジェクトを１つに統合して表示させるプログラムに対応する表示統合ブロックを更に含み、
前記プログラム実行部は、前記同一種類の複数のオブジェクトを、前記表示統合ブロックに対応するプログラムに従って１つのオブジェクトに統合し、当該１つのオブジェクトに統合した前記オブジェクトの数に応じて当該１つのオブジェクトの表示状態を変更する、請求項１〜６のいずれか一項記載の学習支援装置。
【考案の詳細な説明】
【技術分野】
【０００１】
本開示は、学習支援装置に関する。
【背景技術】
【０００２】
特許文献１には、正解用プログラムを記憶する記憶手段と、正解用プログラムに基づく見本を表示手段に表示させる表示制御手段と、入力手段によるプログラムの入力を受け付ける受付手段と、受付手段が受け付けたプログラムの正誤判定を行う正誤判定手段と、を有するプログラミング学習装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２１９７１８号公報
【考案の概要】
【考案が解決しようとする課題】
【０００４】
本開示は、プログラミング学習の適用科目を増やすのに有効な学習支援装置を提供する。
【課題を解決するための手段】
【０００５】
本開示の一側面に係る学習支援装置は、記憶部に記憶されている地図を表示させるプログラムに対応する地図表示ブロック及び地図にオブジェクトを表示させるプログラムに対応するオブジェクト表示ブロックを含む複数のプログラムブロックを第１の表示領域に表示する第１の表示部と、複数のプログラムブロックからユーザによって選択された複数のプログラムブロックをユーザによって指定された表示順序で第２の表示領域に表示する第２の表示部と、オブジェクト表示ブロックに対応するプログラムに従ったオブジェクトの地図における表示位置をユーザの入力に基づいて設定する設定部と、地図表示ブロックに対応するプログラムに従って地図を表示することと、オブジェクト表示ブロックに対応するプログラムと、設定部により設定された表示位置とに従って地図にオブジェクトを表示することとを表示順序に従って実行するプログラム実行部と、を備える。
【０００６】
設定部は、記憶部に記憶されている入力補助用地図を表示し、オブジェクトの地図における表示位置を、入力補助用地図においてユーザにより指定された位置に従って設定してもよい。
【０００７】
設定部は、オブジェクト表示ブロックに対応するプログラムに従って表示するオブジェクトをユーザの入力に基づいて更に設定してもよい。
【０００８】
学習支援装置は、複数のオブジェクトにそれぞれ関連付けられた複数のアイコンである複数のオブジェクトアイコンを表示するアイコン表示部を更に備え、設定部は、オブジェクト表示ブロックに対応するプログラムに従って表示するオブジェクトを、複数のオブジェクトアイコンからユーザにより選択されたオブジェクトアイコンに従って設定してもよい。
【０００９】
アイコン表示部は、複数の位置にそれぞれ関連付けられた複数のアイコンである複数の位置アイコンを更に表示し、設定部は、オブジェクトの地図における表示位置を、複数の位置アイコンからユーザにより選択された位置アイコンに従って設定してもよい。
【００１０】
プログラム実行部は、地図にオブジェクトを表示できるように、オブジェクトの表示位置に基づいて地図の表示エリアを更新してもよい。
【００１１】
第１の表示部が表示する複数のプログラムブロックは、地図に表示される複数のオブジェクトの種類と表示位置とに基づいて、同一種類の複数のオブジェクトを１つに統合して表示させるプログラムに対応する表示統合ブロックを更に含み、プログラム実行部は、同一種類の複数のオブジェクトを、表示統合ブロックに対応するプログラムに従って１つのオブジェクトに統合し、当該１つのオブジェクトに統合したオブジェクトの数に応じて当該１つのオブジェクトの表示状態を変更してもよい。
【図面の簡単な説明】
【００１２】
【図１】学習支援システムの概略構造を示す模式図である。
【図２】学習支援装置の機能的な構成を示すブロック図である。
【図３】学習支援画面を例示する模式図である。
【図４】補助地図ウィンドウが表示された学習支援画面を例示する模式図である。
【図５】学習支援画面の変形例を示す模式図である。
【図６】オブジェクトの表示が統合された状態を例示する模式図である。
【図７】学習支援装置のハードウェア構成を例示するブロック図である。
【図８】プログラミング支援手順を例示するフローチャートである。
【図９】プログラムの実行手順を例示するフローチャートである。
【図１０】地図表示ブロックの実行手順を例示するフローチャートである。
【図１１】オブジェクト表示ブロックの実行手順を例示するフローチャートである。
【図１２】表示統合ブロックの実行手順を例示するフローチャートである。
【考案を実施するための形態】
【００１３】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【００１４】
〔学習支援システム〕
本実施形態に係る学習支援システム１は、地図上にオブジェクトを表示するコンピュータプログラムの作成を通して、コンピュータプログラミングの学習を支援するシステムである。コンピュータプログラミングの学習は、例えばコンピュータプログラミングに必要な論理的思考の学習を含む。このシステムは、地図上にオブジェクトを表示する作業が有益である学習科目にて用いられる。地図上にオブジェクトを表示する作業が有益である学習科目の具体例としては、学校教育における社会、理科、又は国語等が挙げられる。
【００１５】
図１に示すように、学習支援システム１は、学習支援装置１００と、地図サーバ２００とを有する。地図サーバ２００は、地図データベースを記憶するサーバコンピュータである。地図データベースは、様々な地物の所在地（例えば緯度・経度）、広さ、高さ等の情報を含む。地物の具体例としては、道路、建物等が挙げられる。
【００１６】
学習支援装置１００は、インターネット等のネットワークＮＷを介して地図サーバ２００に接続されており、地図サーバ２００が記憶する地図データに基づいて、上述したコンピュータプログラミングの学習を支援する。学習支援装置１００は、表示デバイス１９４と、入力デバイス１９５とを有するコンピュータである。
【００１７】
表示デバイス１９４は、例えば液晶、有機ＥＬ等のモニタであり、作成された上記コンピュータプログラムと、当該コンピュータプログラムに従った上記地図及びオブジェクトを表示する。入力デバイス１９５は、例えばキーボード、マウス等であり、上記コンピュータプログラムを作成するための操作入力を取得する。入力デバイス１９５は、所謂タッチパネルとして表示デバイス１９４に一体化されていてもよい。
【００１８】
学習支援装置１００は、記憶部に記憶されている地図を表示させるプログラムに対応する地図表示ブロック及び地図にオブジェクトを表示させるプログラムに対応するオブジェクト表示ブロックを含む複数のプログラムブロックを表示デバイス１９４のリストウィンドウ（第１の表示領域）に表示することと、複数のプログラムブロック（リストウィンドウが表示する複数のプログラムブロック）からユーザ（学習者）によって選択された複数のプログラムブロックをユーザによって指定された表示順序で表示デバイス１９４のプログラムウィンドウ（第２の表示領域）に表示することと、オブジェクト表示ブロックに対応するプログラムに従ったオブジェクトの地図における表示位置をユーザの入力に基づいて設定することと、プログラムウィンドウが表示する複数のプログラムブロックを表示順序に従って実行することと、を実行するように構成されている。複数のプログラムブロックを表示順序に従って実行することは、地図表示ブロックに対応するプログラムに従って地図を表示デバイス１９４に表示することと、オブジェクト表示ブロックに対応するプログラムと、設定部により設定された表示位置とに従って地図にオブジェクトを表示することとを表示順序に従って実行することを含む。
【００１９】
例えば学習支援装置１００は、図２に示すように、機能上の構成（以下、「機能ブロック」という。）として、メイン画面表示部１１１と、リスト表示部１１３（第１の表示部）と、ブロック記憶部１１２と、プログラム表示部１１４（第２の表示部）と、パラメータ設定部１１７（設定部）と、プログラム実行部１１８とを有する。
【００２０】
メイン画面表示部１１１は、上記リストウィンドウと、プログラムウィンドウとを含む学習支援画面を表示する。例えばメイン画面表示部１１１は、学習支援画面の画像データを生成して表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が学習支援画面を表示する。
【００２１】
リスト表示部１１３は、上記地図表示ブロックと、上記オブジェクト表示ブロックとを含む複数のプログラムブロックをリストウィンドウに表示する。例えばリスト表示部１１３は、リストウィンドウに複数のプログラムブロックを表示するための画像データを生成して表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が複数のプログラムブロックをリストウィンドウに表示する。ブロック記憶部１１２は、リスト表示部１１３が表示する複数のプログラムブロックを、複数のプログラムにそれぞれ対応付けて記憶する。
【００２２】
ブロック記憶部１１２において、地図表示ブロックは、記憶部に記憶されている地図を表示させるプログラム（以下、「地図表示プログラム」という。）に対応付けられている。地図表示プログラムは、地図を表示させるためのデータを地図サーバ２００（記憶部）の地図データベースから取得することと、取得したデータに基づいて地図を表示デバイス１９４に表示させることとを含む。地図表示プログラムは、予め設定された表示エリアの地図を表示させるためのデータを地図データベースから取得するように構成されていてもよい。例えば地図表示プログラムは、予め設定された場所を中心とする地図を予め設定された縮尺で表示させるためのデータを地図データベースから取得するように構成されていてもよい。地図表示ブロックは、地図の表示エリアの入力欄を有していてもよい。一例として、地図表示ブロックは、表示エリアの外縁を定める複数点の緯度・経度の入力欄を有していてもよい。地図表示ブロックが地図の表示エリアの入力欄を有する場合、地図表示プログラムは、当該入力欄に入力された表示エリアで地図を表示させるように構成されていてもよい。
【００２３】
オブジェクト表示ブロックは、地図にオブジェクトを表示させるプログラム（以下、「オブジェクト表示プログラム」という。）に対応付けられている。オブジェクト表示プログラムは、地図にオブジェクトを表示できるように、オブジェクトの表示位置に基づいて地図の表示エリアを更新することと、表示エリアが更新された地図の上記表示位置にオブジェクトを表示することとを含んでいてもよい。なお、表示エリアは、地図の中心位置及び地図の縮尺の少なくとも一方を変更することによって変更される。オブジェクト表示プログラムは、当該オブジェクト表示プログラムの実行前に既に地図に表示された全てのオブジェクト（以下、「既表示オブジェクト」という。）と、当該オブジェクト表示プログラムにおける表示対象のオブジェクト（以下、「新規表示オブジェクト」という。）とを表示できるように、地図の表示エリアを更新するように構成されていてもよい。オブジェクト表示プログラムは、全ての既表示オブジェクトと新規オブジェクトとが、地図内の所定エリア内に収まる範囲で、地図の表示を最大化するように地図の表示エリアを更新するように構成されていてもよい。オブジェクト表示プログラムは、既存表示オブジェクトがない場合、地図の中心位置と、新規表示オブジェクトとを表示できるように、地図の表示エリアを更新するように構成されていてもよい。
【００２４】
オブジェクト表示ブロックは、オブジェクトの表示位置の入力欄を有していてもよい。一例として、オブジェクト表示ブロックは、オブジェクトの表示位置を定める点の緯度・経度の入力欄を有していてもよい。オブジェクト表示ブロックが表示位置の入力欄を有する場合、オブジェクト表示プログラムは、当該入力欄に入力された表示位置にオブジェクトを表示させるように構成される。オブジェクト表示ブロックは、地図に表示するオブジェクトの入力欄を有していてもよい。この場合、オブジェクト表示プログラムは、当該入力欄に入力されたオブジェクトを地図に表示させるように構成される。オブジェクト表示ブロックは、地図におけるオブジェクトの表示サイズの入力欄を有していてもよい。この場合、オブジェクト表示プログラムは、当該入力欄に入力された表示サイズにてオブジェクトを地図に表示させるように構成される。
【００２５】
リスト表示部１１３が表示する複数のプログラムブロックは、表示統合ブロックを更に含んでいてもよい。ブロック記憶部１１２において、表示統合ブロックは、地図に表示される複数のオブジェクトの種類と表示位置とに基づいて、同一種類の複数のオブジェクトを１つに統合して表示させるプログラム（以下、「表示統合プログラム」という。）に対応付けられている。例えば表示統合プログラムは、地図に表示される複数のオブジェクトの種類と表示位置とに基づいて上記同一種類の複数のオブジェクトを選択することと、当該同一種類の複数のオブジェクトを１つのオブジェクトに統合することと、当該１つのオブジェクトに統合した前記オブジェクトの数に応じて当該１つのオブジェクトの表示状態を変更することと、を含む。一例として、表示統合プログラムは、重なって地図に表示される同一種類の複数のオブジェクトを選択することと、当該同一種類の複数のオブジェクトを１つのオブジェクトに統合することと、当該１つのオブジェクトに統合されたオブジェクトの数（以下、「統合数」という。）に応じて、当該１つのオブジェクトの表示状態を変更することとを含む。表示状態の変更の一例としては、表示を拡大することが挙げられる。表示を拡大することは、予め記憶された複数サイズの画像において、現在選択されている画像を、より大きいサイズの画像に変更することを含む。また、表示状態の変更の他の例としては、統合前のオブジェクトの画像を他の画像に置き換えることを含む。他の画像の具体例としては、統合前のオブジェクトの画像に統合数を付した画像等が挙げられる。
【００２６】
なお、同一種類の複数のオブジェクトを１つのオブジェクトに統合するとは、地図における複数のオブジェクトを、１つのオブジェクトに置換することを意味する。表示統合プログラムは、統合後のオブジェクトの表示位置を、統合前の複数のオブジェクトの表示位置に基づいて算出するように構成されていてもよい。例えば表示統合プログラムは、統合前の複数のオブジェクトの分布エリアにおいて最も中心寄りに位置するオブジェクトの表示位置を統合後のオブジェクトの表示位置とするように構成されていてもよい。また、表示統合プログラムは、統合前の複数のオブジェクトの平均位置を統合後のオブジェクトの表示位置として算出するように構成されていてもよい。
【００２７】
プログラム表示部１１４は、リストウィンドウが表示する複数のプログラムブロックからユーザが選択した複数のプログラムブロック（以下、「実行対象ブロック」という。）をユーザが指定した表示順序で並べてプログラムウィンドウに表示する。例えばプログラム表示部１１４は、複数の実行対象ブロックを選択し、表示順序を指定する操作入力を入力デバイス１９５から取得する。プログラム表示部１１４は、上記操作入力に従って複数の実行対象ブロックをプログラムウィンドウに表示するための画像データを生成し、当該画像データを表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が、複数の実行対象ブロックを上記操作入力に従ってプログラムウィンドウに表示する。
【００２８】
上記操作入力の具体例としては、リストウィンドウのいずれかのプログラムブロックをプログラムウィンドウにコピーするドラッグアンドドロップ操作が挙げられる。ドラッグアンドドロップ操作によれば、実行対象ブロックの選択と、表示順序の指定とを一連の操作で行うことができる。表示順序は、プログラムウィンドウにおける既存のプログラムブロックの位置と、新たにドラッグされたプログラムブロックのドロップ位置との関係に基づいて指定される。
【００２９】
パラメータ設定部１１７は、実行対象ブロックごとに、ユーザが設定したパラメータを設定する。例えばパラメータ設定部１１７は、実行対象ブロックごとにパラメータを指定する操作入力を入力デバイス１９５から取得し、上記操作入力に従ったパラメータを実行対象ブロックごとにプログラム表示部１１４に表示させる。パラメータの具体例としては、上述した地図の表示エリア、オブジェクトの表示位置、及び地図に表示するオブジェクト等が挙げられる。
【００３０】
パラメータ設定部１１７は、プログラムウィンドウにオブジェクト表示ブロックが追加された場合に、当該オブジェクト表示ブロックに従ったオブジェクトの表示位置をユーザの入力に基づいて設定する。例えばパラメータ設定部１１７は、プログラムウィンドウにオブジェクト表示ブロックが追加された場合に、地図データベースに基づいて地図を表示し、当該オブジェクト表示ブロックに従ったオブジェクトの表示位置を、当該地図においてユーザが指定した位置に従って設定する。プログラムの実行により表示される地図と区別するために、オブジェクト表示ブロックが追加されたタイミングで表示される地図を以下では「入力補助用地図」という。パラメータ設定部１１７は、プログラムウィンドウにオブジェクト表示ブロックが追加された場合に、地図データベースに基づいて入力補助用地図の画像データを生成し、当該画像データを表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が、入力補助用地図を表示する。なお、パラメータ設定部１１７が入力補助用地図を表示するタイミングは、オブジェクト表示ブロックがプログラムウィンドウに追加されたタイミングに限られない。例えばパラメータ設定部１１７は、地図表示ブロックがプログラムウィンドウに追加されたタイミングで入力補助用地図を表示してもよい。
【００３１】
パラメータ設定部１１７は、入力補助用地図においてオブジェクトの表示位置を指定する操作入力を入力デバイス１９５から取得し、当該操作入力により指定された表示位置（以下、「指定位置」という。）を、プログラム表示部１１４によりオブジェクト表示ブロックの表示位置の入力欄に表示させる。プログラム表示部１１４は、上記入力欄に上記指定位置を表示させるための画像データを生成し、表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が、上記入力欄に上記指定位置を表示させる。上記操作入力の具体例としては、入力補助用地図の任意の点から、オブジェクト表示ブロックの表示位置の入力欄へのドラッグアンドドロップ操作が挙げられる。
【００３２】
パラメータ設定部１１７は、プログラムウィンドウにオブジェクト表示ブロックが追加された場合に、当該オブジェクト表示ブロックに従って表示するオブジェクト（以下、「表示対象オブジェクト」という。）をユーザの入力に基づいて設定する。パラメータ設定部１１７は、表示対象オブジェクトを指定する操作入力を入力デバイス１９５から取得し、当該操作入力により指定された表示対象オブジェクトを、プログラム表示部１１４によりオブジェクト表示ブロックのオブジェクトの入力欄に表示させる。プログラム表示部１１４は、上記入力欄に上記表示対象オブジェクトのアイコンを表示させるための画像データを生成し、表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が、上記入力欄に上記表示対象オブジェクトのアイコンを表示させる。
【００３３】
プログラム実行部１１８は、プログラムウィンドウが表示する複数のプログラムブロックを表示順序に従って実行する。この際に、プログラム実行部１１８は、地図表示ブロックに対応するプログラム（上記地図表示プログラム）に従って地図を表示することと、オブジェクト表示ブロックに対応するプログラム（上記オブジェクト表示プログラム）に従って地図にオブジェクトを表示させることとを表示順序に従って実行する。プログラムウィンドウにおいてプログラムブロックのパラメータが表示されている場合、プログラム実行部１１８は、当該プログラムブロックに対応するプログラムを当該パラメータに従って実行する。
【００３４】
プログラム実行部１１８は、地図表示プログラムに従って地図データベースに基づき地図の画像データを生成し、当該画像データを表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が地図を表示する。また、プログラム実行部１１８は、オブジェクト表示プログラムに従って地図における上記表示位置にオブジェクトを表示するための画像データを生成し、当該画像データを表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が、地図における上記表示位置にオブジェクトを表示する。
【００３５】
上述したように、オブジェクト表示プログラムは、表示対象のオブジェクトを表示できるように、オブジェクトの表示位置に基づいて地図の表示エリアを更新することと、表示エリアが更新された地図の上記表示位置にオブジェクトを表示することとを含んでいてもよい。この場合、プログラム実行部１１８は、オブジェクト表示プログラムに従って、地図にオブジェクトを表示できるように、当該オブジェクトの表示位置に基づいて地図の表示エリアを更新する。
【００３６】
プログラム実行部１１８は、上記表示統合プログラムに従って、地図に表示される複数のオブジェクトの種類と表示位置とに基づいて上記同一種類の複数のオブジェクト（以下、「統合対象オブジェクト」という。）を選択することと、当該複数の統合対象オブジェクトを１つのオブジェクトに統合することと、当該複数の統合対象オブジェクトの数に応じて当該１つのオブジェクトの表示状態を変更することと、を実行する。例えばプログラム実行部１１８は、複数の統合対象オブジェクトを１つの統合オブジェクトに統合し、当該複数の統合対象オブジェクトの数に応じて統合オブジェクトの表示サイズを大きくするように画像データを更新し、更新後の画像データを表示デバイス１９４に出力する。これに応じ、表示デバイス１９４が、複数の統合対象オブジェクトを１つの統合オブジェクトに統合し、統合対象オブジェクトの数に応じて統合オブジェクトを拡大表示する。
【００３７】
学習支援装置１００は、少なくともいずれか１つの上記パラメータを設定するための複数のアイコンを表示し、複数のアイコンからユーザが選択したアイコンに従って当該パラメータを設定するように構成されていてもよい。例えば学習支援装置１００は、アイコン表示部１２１と、アイコン記憶部１２４とを更に有してもよい。
【００３８】
例えばアイコン表示部１２１は、複数のオブジェクトにそれぞれ関連付けられた複数のアイコンである複数のオブジェクトアイコンを表示する。オブジェクトアイコンは、地図に表示されるオブジェクトの画像と同じ画像であってもよいし、当該画像データを圧縮して表示サイズを小さくした画像であってもよい。
【００３９】
アイコン記憶部１２４は、アイコン表示部１２１が表示する複数のアイコンを、複数のパラメータにそれぞれ対応付けて記憶する。アイコン記憶部１２４において、オブジェクトアイコンは、オブジェクト（画像又はテキスト等）に対応付けられている。位置アイコンは、位置（例えば当該位置アイコンが含む地名の代表地点の緯度・経度）に対応付けられている。
【００４０】
アイコン表示部１２１が複数のオブジェクトアイコンを表示する構成において、パラメータ設定部１１７は、プログラムウィンドウにオブジェクト表示ブロックが追加された場合に、当該オブジェクト表示ブロックに従って表示するオブジェクト（上記表示対象オブジェクト）を、複数のオブジェクトアイコンからユーザが選択したアイコン（以下、「選択オブジェクトアイコン」という。）に従って設定してもよい。例えばパラメータ設定部１１７は、複数のオブジェクトアイコンからいずれか１つのオブジェクトアイコンを選択する操作入力を入力デバイス１９５から取得し、当該操作入力により選択されたオブジェクトアイコン（以下、「選択オブジェクトアイコン」という。）に対応する画像を、プログラム表示部１１４によりオブジェクト表示ブロックのオブジェクトの入力欄に表示させる。オブジェクトアイコンに対応する画像は、オブジェクトアイコンと同じ画像であってもよいし、オブジェクトアイコンを縮小した画像であってもよい。プログラム実行部１１８は、アイコン記憶部１２４において選択オブジェクトアイコンに対応付けられたオブジェクトを、上記表示対象オブジェクトとする。
【００４１】
アイコン表示部１２１が複数の位置アイコンを表示する構成において、パラメータ設定部１１７は、プログラムウィンドウにオブジェクト表示ブロックが追加された場合に、当該オブジェクト表示ブロックに従ったオブジェクトの表示位置を、複数の位置のアイコンからユーザが選択したアイコンに従って設定してもよい。例えばパラメータ設定部１１７は、複数の位置アイコンからいずれか１つの位置アイコンを選択する操作入力を入力デバイス１９５から取得し、当該操作入力により選択された位置アイコン（以下、「選択位置アイコン」という。）に対応する画像又は文字列等を、プログラム表示部１１４によりオブジェクト表示ブロックの表示位置の入力欄に表示させる。プログラム実行部１１８は、アイコン記憶部１２４において選択位置アイコンに対応付けられた位置を、上記表示位置とし、地図における当該表示位置にオブジェクトを表示させる。以下、学習支援画面の具体例を参照しながら、学習支援装置１００の機能をより具体的に例示する。
【００４２】
図３は、学習支援画面を例示する模式図である。図３の例において、メイン画面表示部１１１は、メニューバー３１１と、ツールバー３１２と、リストウィンドウ３２０と、プログラムウィンドウ３４０と、地図ウィンドウ３５０と、アイコンウィンドウ３６０とを有する学習支援画面３００を表示する。メニューバー３１１は、「ファイル」、「編集」等のメニューを表示する。ツールバー３１２は、ブログラムの実行を指示する実行開始ツール３１２ａ等を表示する。リストウィンドウ３２０には、リスト表示部１１３が上記複数のプログラムブロックを表示する。
【００４３】
例えばリスト表示部１１３は、上記複数のプログラムブロックとして、地図表示ブロック３２１と、オブジェクト表示ブロック３２２，３２３と、始点指示ブロック３２４と、終点指示ブロック３２５と、防災データ表示ブロック３２６と、実行開始ブロック３２７と、イベントブロック３２８とをリストウィンドウ３２０に表示する。また、アイコン表示部１２１は、複数のイベントアイコン３３１をリストウィンドウ３２０に表示する。
【００４４】
ブロック記憶部１１２において、地図表示ブロック３２１は、上記地図表示プログラムに対応付けられている。この地図表示プログラムは、予め設定された表示エリアの地図を表示させるためのデータを地図データベースから取得するように構成されている。オブジェクト表示ブロック３２２，３２３は、上記オブジェクト表示プログラムに対応付けられている。オブジェクト表示ブロック３２２は、オブジェクトの入力欄３２２ａと、表示位置の入力欄３２２ｂとを有している。オブジェクト表示ブロック３２２に対応するオブジェクト表示プログラムは、入力欄３２２ａに入力されたオブジェクトを、入力欄３２２ｂに入力された表示位置に表示させるように構成される。
【００４５】
オブジェクト表示ブロック３２３は、オブジェクトのデータ形式の入力欄３２３ａと、オブジェクトの入力欄３２３ｂと、表示位置の入力欄３２３ｃとを有している。オブジェクト表示ブロック３２３に対応するオブジェクト表示プログラムは、入力欄３２３ａに入力されたデータ形式にて、入力欄３２３ｂに入力されたオブジェクトを、入力欄３２３ｃに入力された表示位置に表示させるように構成される。なお、オブジェクト表示ブロック３２３は、入力欄３２３ａを有するのに代えて、複数のデータ形式ごとにオブジェクトの入力欄３２３ｂを有してもよい。この場合、入力欄３２３ｂごとに、入力可能なデータ形式がテキスト等で表示されていてもよい。また、リスト表示部１１３は、複数のデータ形式ごとにオブジェクト表示ブロック３２２を有していてもよい。この場合、オブジェクト表示ブロック３２２ごとに、入力可能なデータ形式がテキスト等で表示されていてもよい。
【００４６】
始点指示ブロック３２４は、地図内にラインを記入するために、当該ラインの始点を指定するプログラム（以下、「始点指示プログラム」という。）に対応付けられている。始点指示ブロック３２４は、地図における始点位置（例えば緯度・経度）の入力欄３２４ａを有している。終点指示ブロック３２５は、上記ラインの終点を指定して当該終点までのラインを表示させるプログラム（以下、「終点指示プログラム」という。）に対応付けられている。終点指示ブロック３２５は、地図における終点位置（例えば緯度・経度）の入力欄３２５ａを有している。なお、始点指示ブロック３２４及び終点指示ブロック３２５は、地図に線状のオブジェクトを表示することを指示しているので、オブジェクト表示ブロックの一種である。
【００４７】
防災データ表示ブロック３２６は、ハザードマップ等の防災データを地図に重ねて表示させるプログラム（以下、「防災データ表示プログラム」という。）に対応付けられている。ハザードマップは、例えば地図サーバ２００に記憶される。実行開始ブロック３２７は、実行開始ツール３１２ａに対する操作（例えばクリック）を待機するプログラム（以下、「開始待機プログラム」という。）に対応付けられている。
【００４８】
イベントブロック３２８は、ユーザにより設定されたイベントを待機するプログラム（以下、「イベント待機プログラム」という。）に対応付けられている。例えばイベントブロック３２８は、イベントの入力欄３２８ａを有している。
【００４９】
リストウィンドウ３２０には、アイコン表示部１２１が、複数のイベントにそれぞれ対応付けられた複数のイベントアイコン３３１を表示する。イベントの具体例としては、所定時間の経過、入力デバイス１９５への所定入力等が挙げられる。所定入力の具体例としては、キーボードの所定のキーを押すこと、マウスをクリックすること等が挙げられる。イベントアイコン３３１は、上記入力欄３２８ａに入力すべきイベントの指定に用いられる。
【００５０】
プログラムウィンドウ３４０には、プログラム表示部１１４が上記複数の実行対象ブロックを上記表示順序で表示する。プログラムウィンドウ３４０においては、上から下に向かう方向が実行順序に対応している。このため、プログラム実行部１１８は、プログラムウィンドウ３４０が表示する複数のプログラムブロックを、上から下への表示順序に従って実行する。
【００５１】
地図ウィンドウ３５０には、プログラム実行部１１８が、地図表示ブロック３２１に対応する地図表示プログラムに従って地図を表示する。アイコンウィンドウ３６０には、アイコン表示部１２１が複数のオブジェクトアイコンを表示する。例えばアイコン表示部１２１は、複数の危険アイコン３６４と、複数の避難アイコン３６５とをアイコンウィンドウ３６０に表示する。複数の危険アイコン３６４は、複数種類の災害の危険性をそれぞれ示す複数のオブジェクト（例えば災害の種類を示す画像）にそれぞれ対応付けられている。複数の避難アイコン３６５は、複数種類の避難場所をそれぞれ示す複数のオブジェクト（例えば避難場所の種類を示す画像）のアイコンである。
【００５２】
アイコン表示部１２１は、複数のオブジェクトアイコンの一種として、追加データアイコン３６６をアイコンウィンドウ３６０に更に表示してもよい。追加データアイコン３６６は、ユーザが追加した写真（例えば現地調査で撮影された写真）等のオブジェクトに対応付けられている。
【００５３】
図３の例において、ユーザは、リストウィンドウ３２０から任意でプログラムブロックを選択し、ドラッグアンドドロップ操作等によりプログラムウィンドウ３４０に配置する。上述のように、プログラムウィンドウ３４０においては、上から下に向かう方向が実行順序に対応している。このため、ユーザは、複数の実行対象ブロックが、実行させるべき順序に従って上から下に並ぶように、各実行対象ブロックを配置する。
【００５４】
ユーザが、オブジェクト表示ブロック３２２，３２３をプログラムウィンドウ３４０に追加すると、パラメータ設定部１１７は、プログラムウィンドウ３４０内に補助地図ウィンドウ３７０を表示し、補助地図ウィンドウ３７０内に上記入力補助用地図を表示する（図４参照）。なお、パラメータ設定部１１７は、プログラム実行部１１８が地図ウィンドウ３５０に表示する地図と同じ表示エリアの入力補助用地図を補助地図ウィンドウ３７０内に表示してもよい。また、パラメータ設定部１１７は、補助地図ウィンドウ３７０に代えて、地図ウィンドウ３５０に入力補助用地図を表示してもよい。
【００５５】
ユーザが、入力補助用地図の任意の点から、入力欄３２２ｂ，３２３ｃ（プログラムウィンドウ３４０に配置されたオブジェクト表示ブロック３２２，３２３の入力欄３２２ｂ，３２３ｃ）へのドラッグアンドドロップを行うと、パラメータ設定部１１７が、当該点に対応する緯度・経度を当該入力欄３２２ｂ，３２３ｃに表示させる。ユーザが、アイコンウィンドウ３６０の任意のオブジェクトアイコンを入力欄３２２ａ，３２３ｂ（プログラムウィンドウ３４０に配置されたオブジェクト表示ブロック３２２，３２３の入力欄３２２ａ，３２３ｂ）にドラッグアンドドロップすると、パラメータ設定部１１７が、当該オブジェクトアイコンに対応する画像を当該入力欄３２２ａ，３２３ｂに表示させる。
【００５６】
ユーザが、オブジェクト表示ブロック３２３の入力欄３２３ａにおいて、オブジェクトのデータ形式を指定すると、パラメータ設定部１１７は、入力欄３２３ｂに入力可能なオブジェクトのデータ形式を変更する。例えば、入力欄３２３ａにおいて画像データが指定されると、パラメータ設定部１１７は、入力欄３２３ｂに入力可能なオブジェクトのデータ形式を画像データに制限する。
【００５７】
また、入力欄３２３ａにおいてテキストデータが指定されると、パラメータ設定部１１７は、入力欄３２３ｂに入力可能なオブジェクトのデータ形式をテキストデータに制限する。この場合、パラメータ設定部１１７は、入力欄３２３ｂへのテキストの直接入力を可能にし、ユーザが入力欄３２３ｂに入力したテキストデータをそのまま入力欄３２３ｂに表示させてもよい。入力欄３２３ｂにテキストデータが入力された場合、当該テキストデータに対応する文字列を含むオブジェクト（例えば当該文字列を含む吹き出し画像）が表示対象のオブジェクトとなる。
【００５８】
ユーザが、イベントブロック３２８をプログラムウィンドウ３４０に追加し、任意のイベントアイコン３３１を入力欄３２８ａにドラッグアンドドロップすると、パラメータ設定部１１７が、当該任意のイベントアイコン３３１に対応するイベントを入力欄３２８ａに表示させる。
【００５９】
ユーザが、始点指示ブロック３２４をプログラムウィンドウ３４０に追加し、入力欄３２４ａに上記始点位置を入力すると、パラメータ設定部１１７が当該始点位置を入力欄３２４ａに表示させる。ユーザが、終点指示ブロック３２５をプログラムウィンドウ３４０に追加し、入力欄３２５ａに上記終点位置を入力すると、パラメータ設定部１１７が当該終点位置を入力欄３２５ａに表示させる。
【００６０】
なお、始点位置及び終点位置の入力に上記入力補助用地図を利用することも可能である。例えば、ユーザが、入力補助用地図の任意の点から、入力欄３２４ａ，３２５ａへのドラッグアンドドロップを行うと、パラメータ設定部１１７が、当該任意の点に対応する緯度・経度を入力欄３２４ａ，３２５ａに表示させる。
【００６１】
プログラム実行部１１８は、プログラムウィンドウ３４０が表示する複数のプログラムブロックにそれぞれ対応付けられた複数のプログラムをプログラムウィンドウ３４０における表示順序（上から下に向かう表示順序）で実行する。プログラム実行部１１８は、実行開始ブロック３２７に対応する開始待機プログラムに従って、実行開始ツール３１２ａが操作されるまで次のプログラムブロックの実行を待機する。プログラム実行部１１８は、イベントブロック３２８に対応するイベント待機プログラムに従って、入力欄３２８ａのイベントが生じるまで次のプログラムブロックの実行を待機する。なお、イベントブロック３２８は、ユーザによる学習成果の発表等において、プログラムの実行タイミングを発表の進捗に合わせる際等に用いられる。学習支援装置１００は、イベントブロック３２８をプログラムウィンドウ３４０から一括して消去する機能を有していてもよい。
【００６２】
プログラム実行部１１８は、地図表示ブロック３２１に対応する地図表示プログラムに従って地図を地図ウィンドウ３５０に表示する。プログラム実行部１１８は、オブジェクト表示ブロック３２２，３２３に対応するオブジェクト表示プログラムに従って、地図ウィンドウ３５０の地図にオブジェクトを表示する。なお、プログラム実行部１１８は、ユーザの指定に応じて地図ウィンドウ３５０の表示サイズを変更するように構成されていてもよい。例えばプログラム実行部１１８は、ユーザの指定に応じて、地図ウィンドウ３５０を表示デバイス１９４に全画面表示させてもよい。必要に応じ、プログラム実行部１１８は、オブジェクト表示プログラムに従って、地図にオブジェクトを表示できるように、当該オブジェクトの表示位置に基づいて地図ウィンドウ３５０における地図の表示エリアを更新し、表示エリアが更新された地図の当該表示位置に当該オブジェクトを表示する。
【００６３】
プログラムウィンドウ３４０において、始点指示ブロック３２４と終点指示ブロック３２５とが上下に並ぶ場合、プログラム実行部１１８は、始点指示ブロック３２４の入力欄３２４ａで定められた始点と、終点指示ブロック３２５の入力欄３２５ａで定められた終点とを結ぶ直線を、終点指示プログラムに従って地図ウィンドウ３５０の地図に表示する。また、終点指示ブロック３２５と終点指示ブロック３２５とが上下に並ぶ場合、プログラム実行部１１８は、先行する終点指示ブロック３２５の入力欄３２５ａで定められた終点と、後続する終点指示ブロック３２５の入力欄３２５ａで定められた終点とを結ぶ直線を、後続する終点指示ブロック３２５に対応する終点指示プログラムに従って、地図ウィンドウ３５０の地図に表示する。このため、始点指示ブロック３２４の下に、複数の終点指示ブロック３２５が順に並んでいる場合には、地図ウィンドウ３５０の地図に折れ線が表示される。なお、始点指示ブロック３２４及び終点指示ブロック３２５による直線の表示は、避難経路の表示等に利用可能である。
【００６４】
プログラム実行部１１８は、防災データ表示ブロック３２６に対応する防災データ表示プログラムに従って、ハザードマップを地図ウィンドウ３５０の地図に重ねて表示する。これにより、災害の危険性を示すオブジェクト、及び避難場所を示すオブジェクトの配置と、ハザードマップとを対比し、各オブジェクトの配置の妥当性を検証することができる。
【００６５】
図５は、学習支援画面の変形例を示す模式図である。図５の例においても、メイン画面表示部１１１は、メニューバー３１１と、ツールバー３１２と、リストウィンドウ３２０と、プログラムウィンドウ３４０と、地図ウィンドウ３５０と、アイコンウィンドウ３６０とを有する学習支援画面３００を表示する。
【００６６】
リスト表示部１１３は、上記複数のプログラムブロックとして、地図表示ブロック４２１と、オブジェクト表示ブロック４２２と、発表順表示ブロック４２３と、発表内容追加ブロック４２４と、表示統合ブロック４２５と、表示エリア指定ブロック４２６と、表示商品指定ブロック４２７と、実行開始ブロック４２８と、イベントブロック４２９とをリストウィンドウ３２０に表示する。また、アイコン表示部１２１は、複数のイベントアイコン４３１をリストウィンドウ３２０に表示する。
【００６７】
ブロック記憶部１１２において、地図表示ブロック４２１及びオブジェクト表示ブロック４２２は、上述した地図表示ブロック３２１及びオブジェクト表示ブロック３２２と同様に、地図表示プログラム及びオブジェクト表示プログラムにそれぞれ対応付けられている。オブジェクト表示ブロック４２２は、入力欄３２２ａ，３２２ｂと同じ入力欄４２２ａ，４２２ｂを有する。
【００６８】
発表順表示ブロック４２３は、発表順序を表示させるプログラム（以下、「発表順表示プログラム」という。）に対応付けられている。発表順序の表示は、例えばユーザによる発表の補助に用いられる。発表順表示プログラムは、複数の発表内容をユーザによって指定された発表順序で並べて表示させるように構成されている。発表内容追加ブロック４２４は、上記発表順序に、発表内容を追加させるプログラム（以下、「発表内容追加プログラム」という。）に対応付けられている。発表内容追加ブロック４２４は、発表内容の入力欄４２４ａを有している。発表内容追加プログラムは、入力欄４２４ａに入力された発表内容を、上記発表順序における複数の発表内容に追加するように構成されている。
【００６９】
表示統合ブロック４２５は、上記表示統合プログラムに対応付けられている。表示エリア指定ブロック４２６は、プログラム実行部１１８による地図の表示エリアを指定するプログラム（以下、「表示エリア指定プログラム」という。）に対応付けられている。表示エリア指定ブロック４２６は、表示エリアの入力欄４２６ａを有している。表示エリア指定プログラムは、地図の表示エリアを、入力欄４２６ａに入力された表示エリアに変更するように構成されている。表示商品指定ブロック４２７は、プログラム実行部１１８が地図に表示するオブジェクトの種類を指定するプログラム（以下、「表示商品指定プログラム」という。）に対応付けられている。表示商品指定ブロック４２７は、オブジェクトの入力欄４２７ａを有している。表示商品指定プログラムは、地図に表示するオブジェクトの種類を入力欄４２７ａに入力された商品に限定するように構成されている。実行開始ブロック４２８及びイベントブロック４２９は、実行開始ブロック３２７及びイベントブロック３２８と同様に、開始待機プログラム及びイベント待機プログラムにそれぞれ対応付けられている。イベントブロック４２９は、入力欄３２８ａと同じ入力欄４２９ａを有している。イベントアイコン４３１は、イベントアイコン３３１と同じである。
【００７０】
アイコンウィンドウ３６０には、アイコン表示部１２１が複数のオブジェクトアイコンと、複数の位置アイコンと、複数のエリアアイコンとを表示する。複数のエリアアイコンは、地図における複数のエリアにそれぞれ対応付けられている。
【００７１】
例えばアイコン表示部１２１は、複数のオブジェクトアイコンとして、複数の商品アイコン４６４をアイコンウィンドウ３６０に表示する。複数の商品アイコン４６４は、複数種類の商品をそれぞれ示す。なお、図示されているのは、複数種類の野菜をそれぞれ示す複数のオブジェクトのアイコンである。
【００７２】
アイコン表示部１２１は、複数の位置アイコンとして、複数の産地アイコン４６５をアイコンウィンドウ３６０に表示する。複数の産地アイコン４６５には、複数の県を示すテキストがそれぞれ記入されている。各産地アイコン４６５は、アイコン記憶部１２４において、県（産地アイコン４６５内に記載された県）の代表地点の緯度・経度に対応付けられている。
【００７３】
アイコン表示部１２１は、複数のエリアアイコンとして、複数の地方データアイコン４６６をアイコンウィンドウ３６０に表示する。複数の地方データアイコン４６６には、複数の地方を示すテキストがそれぞれ記入されている。各地方データアイコン４６６は、アイコン記憶部１２４において、地方（地方データアイコン４６６内に記載された地方）を含む表示エリアに対応付けられている。例えば表示エリアは、当該エリアを囲む多角形の複数の頂点の緯度・経度等により示されている。なお、以上においては、位置アイコンが１点に対応付けられ、エリアアイコンが広さを有する１エリアに対応付けられているが、これに限られない。位置アイコンが１エリアに対応付けられ、エリアアイコンが１点に対応付けられていてもよい。エリアアイコンが１点に対応付けられている場合、アイコン表示部１２１は、当該１点を含む地図を所定の縮尺で表示する。
【００７４】
図５の例においても、ユーザは、リストウィンドウ３２０から任意でプログラムブロックを選択し、ドラッグアンドドロップ操作等によりプログラムウィンドウ３４０に配置する。ユーザが、オブジェクト表示ブロック４２２をプログラムウィンドウ３４０に追加し、任意の商品アイコン４６４をオブジェクト表示ブロック４２２の入力欄４２２ａにドラッグアンドドロップすると、パラメータ設定部１１７が、上記任意の商品アイコン４６４を入力欄４２２ａに表示させる。
【００７５】
ユーザが、任意の産地アイコン４６５をオブジェクト表示ブロック４２２の入力欄４２２ｂにドラッグアンドドロップすると、パラメータ設定部１１７が、上記任意の産地アイコン４６５に対応付けられた位置を入力欄４２２ｂに表示させる。このように、産地アイコン４６５による表示位置の指定が可能であるため、パラメータ設定部１１７は上述した入力補助用地図の表示を行わない。
【００７６】
ユーザが、発表内容追加ブロック４２４をプログラムウィンドウ３４０に追加し、アイコンウィンドウ３６０の任意のアイコンを入力欄４２４ａにドラッグアンドドロップすると、パラメータ設定部１１７が、上記任意のアイコンを発表内容のアイコンとして入力欄４２４ａに表示させる。
【００７７】
ユーザが、表示エリア指定ブロック４２６をプログラムウィンドウ３４０に追加し、任意の地方データアイコン４６６を入力欄４２６ａにドラッグアンドドロップすると、パラメータ設定部１１７が、上記任意の地方データアイコン４６６に対応する表示エリアを入力欄４２６ａに表示させる。
【００７８】
ユーザが、表示商品指定ブロック４２７をプログラムウィンドウ３４０に追加し、アイコンウィンドウ３６０の任意の商品アイコン４６４を入力欄４２７ａにドラッグアンドドロップすると、パラメータ設定部１１７が、上記任意の商品アイコン４６４に対応する画像を入力欄４２７ａに表示させる。
【００７９】
プログラム実行部１１８は、プログラムウィンドウ３４０が表示する複数のプログラムブロックにそれぞれ対応付けられた複数のプログラムをプログラムウィンドウ３４０における表示順序（上から下に向かう表示順序）に従って実行する。プログラム実行部１１８は、実行開始ブロック４２８に対応する開始待機プログラムに従って、実行開始ツール３１２ａが操作されるまで次のプログラムブロックの実行を待機する。プログラム実行部１１８は、イベントブロック４２９に対応するイベント待機プログラムに従って、入力欄４２９ａのイベントが生じるまで次のプログラムブロックの実行を待機する。
【００８０】
プログラム実行部１１８は、発表順表示ブロック４２３に対応する発表順表示プログラムに従って、発表順序４７０を地図ウィンドウ３５０内等に表示する。プログラム実行部１１８は、発表内容追加ブロック４２４に対応する発表内容追加プログラムに従って、発表内容追加ブロック４２４の入力欄４２４ａに入力された発表内容を、発表順序における複数の発表内容に追加する。プログラムウィンドウ３４０に複数の発表内容追加ブロック４２４が配置されている場合、複数の発表内容追加ブロック４２４にそれぞれ対応する複数の発表内容が、複数の発表内容追加ブロック４２４の実行順序に応じて発表順序に順次追加される。
【００８１】
プログラム実行部１１８は、地図表示ブロック４２１に対応する地図表示プログラムに従って地図を地図ウィンドウ３５０に表示する。プログラム実行部１１８は、オブジェクト表示ブロック４２２に対応するオブジェクト表示プログラムに従って、地図ウィンドウ３５０の地図にオブジェクトを表示する。必要に応じ、プログラム実行部１１８は、オブジェクト表示プログラムに従って、地図にオブジェクトを表示できるように、当該オブジェクトの表示位置に基づいて地図ウィンドウ３５０における地図の表示エリアを更新し、表示エリアが更新された地図の当該表示位置に当該オブジェクトを表示する。プログラム実行部１１８は、表示エリア指定ブロック４２６に対応する表示エリア指定プログラムに従って、地図ウィンドウ３５０における地図の表示エリアを変更する。
【００８２】
プログラム実行部１１８は、表示商品指定ブロック４２７に対応する表示商品指定プログラムに従って、表示商品指定ブロック４２７の入力欄４２７ａに入力されたオブジェクトを残し、その他のオブジェクトを地図ウィンドウ３５０の地図から消去する。これにより、地図ウィンドウ３５０の地図に表示されるオブジェクトが、表示商品指定ブロック４２７の入力欄４２７ａに入力されたオブジェクトに絞られる。
【００８３】
図６に示すように、複数のオブジェクト表示ブロック４２２の後に表示統合ブロック４２５が配置される場合、プログラム実行部１１８は、表示統合ブロック４２５に対応する表示統合プログラムに従って、重なって地図に表示される同一種類の複数のオブジェクトを１つのオブジェクトに統合し、当該１つのオブジェクトに統合されたオブジェクトの数に応じて、当該１つのオブジェクトの表示サイズを拡大する。図６においては、複数のオブジェクトが統合された１つのオブジェクト４６４ａが、他のオブジェクト４６４ｂ，４６４ｃに比較して拡大されている。
【００８４】
図７は、学習支援装置１００のハードウェア構成を例示するブロック図である。図７に示すように、学習支援装置１００は、回路１９０を有する。回路１９０は、少なくとも一つのプロセッサ１９１と、メモリ１９２と、ストレージ１９３と、上述の表示デバイス１９４と、上述の入力デバイス１９５と、ネットワークアダプタ１９６とを有する。ストレージ１９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばフラッシュメモリ）である。ストレージ１９３は、記憶部に記憶されている地図を表示させるプログラムに対応する地図表示ブロック及び地図にオブジェクトを表示させるプログラムに対応するオブジェクト表示ブロックを含む複数のプログラムブロックを表示デバイス１９４のリストウィンドウ（第１の表示領域）に表示することと、複数のプログラムブロック（リストウィンドウが表示する複数のプログラムブロック）からユーザ（学習者）によって選択された複数のプログラムブロックをユーザによって指定された表示順序で表示デバイス１９４のプログラムウィンドウ（第２の表示領域）に表示することと、オブジェクト表示ブロックに対応するプログラムに従ったオブジェクトの地図における表示位置をユーザの入力に基づいて設定することと、プログラムウィンドウが表示する複数のプログラムブロックを表示順序に従って実行することと、を学習支援装置１００に実行させるプログラムを記憶している。複数のプログラムブロックを表示順序に従って実行することは、地図表示ブロックに対応するプログラムに従って地図を表示デバイス１９４に表示することと、オブジェクト表示ブロックに対応するプログラムと、前記設定部により設定された表示位置とに従って地図にオブジェクトを表示することとを表示順序に従って実行することを含む。
【００８５】
メモリ１９２は、ストレージ１９３からロードしたプログラム及びプロセッサ１９１による演算結果等を一時的に記憶する。プロセッサ１９１は、メモリ１９２と協働して上記プログラムを実行することで、学習支援装置１００の各機能ブロックを構成する。表示デバイス１９４は、プロセッサ１９１からの指令に応じて、コンピュータプログラム、地図及びオブジェクトを表示する。入力デバイス１９５は、プロセッサ１９１からの指令に応じて、ユーザによる操作入力を取得する。ネットワークアダプタ１９６は、インターネット等のネットワークＮＷを介して地図サーバ２００に接続されており、プロセッサ１９１からの指令に応じて地図サーバ２００との間でデータの送受信を行う。
【００８６】
〔学習支援手順〕
続いて、学習支援方法の一例として、学習支援装置１００が実行する学習支援手順を例示する。この手順は、記憶部に記憶されている地図を表示させるプログラムに対応する地図表示ブロック及び地図にオブジェクトを表示させるプログラムに対応するオブジェクト表示ブロックを含む複数のプログラムブロックを表示デバイス１９４のリストウィンドウ（第１の表示領域）に表示することと、複数のプログラムブロック（リストウィンドウが表示する複数のプログラムブロック）からユーザ（学習者）によって選択された複数のプログラムブロックをユーザによって指定された表示順序で表示デバイス１９４のプログラムウィンドウ（第２の表示領域）に表示することと、オブジェクト表示ブロックに対応するプログラムに従ったオブジェクトの地図における表示位置をユーザの入力に基づいて設定することと、プログラムウィンドウが表示する複数のプログラムブロックを表示順序に従って実行することと、を含む。複数のプログラムブロックを表示順序に従って実行することは、地図表示ブロックに対応するプログラムに従って地図を表示デバイス１９４に表示することと、オブジェクト表示ブロックに対応するプログラムと、前記設定部により設定された表示位置とに従って地図にオブジェクトを表示することとを表示順序に従って実行することと、を含む。以下、学習支援手順を、ユーザによるコンピュータプログラムの構築を支援するプログラミング手順と、プログラムの実行手順とに分けて詳細に例示する。
【００８７】
（プログラミング支援手順）
図８に示すように、学習支援装置１００は、まずステップＳ０１，Ｓ０２，Ｓ０３，Ｓ０４を実行する。ステップＳ０１では、メイン画面表示部１１１が、上記学習支援画面３００を表示デバイス１９４に表示させる。リスト表示部１１３が、上記地図表示ブロック３２１と、上記オブジェクト表示ブロック３２２，３２３とを含む複数のプログラムブロックをリストウィンドウ３２０に表示する。アイコン表示部１２１が、少なくともいずれか１つの上記パラメータを設定するための複数のアイコンをアイコンウィンドウ３６０に表示させる。ステップＳ０２では、リストウィンドウ３２０の複数のプログラムブロックのいずれかを選択し、プログラムウィンドウ３４０の任意の位置に配置する操作入力をプログラム表示部１１４が待機する。
【００８８】
ステップＳ０３では、プログラム表示部１１４が、上記操作入力により選択されたプログラムブロックをプログラムウィンドウ３４０に追加する。当該プログラムブロック（以下、「新規ブロック」という。）の追加前に、他のプログラムブロック（以下、「既存ブロック」という。）がプログラムウィンドウ３４０に存在する場合、プログラム表示部１１４は、既存ブロックの配置位置と新規ブロックが配置（ドロップ）された位置との関係に基づいて、プログラムウィンドウ３４０における新規ブロックと既存ブロックとの表示順序を設定し、当該表示順序に従って新規ブロックと既存ブロックとをプログラムウィンドウ３４０に表示する。ステップＳ０４では、上記新規ブロックがオブジェクト表示ブロック３２２，３２３であるか否かをパラメータ設定部１１７が確認する。
【００８９】
ステップＳ０４において新規ブロックがオブジェクト表示ブロックであると判定した場合、学習支援装置１００はステップＳ０５を実行する。ステップＳ０５では、パラメータ設定部１１７が、地図データベースに基づいて上記入力補助用地図を表示させる。
【００９０】
次に、学習支援装置１００は、ステップＳ０６を実行する。ステップＳ０４において新規ブロックがオブジェクト表示ブロックでないと判定した場合、学習支援装置１００は、ステップＳ０５を実行することなくステップＳ０６を実行する。ステップＳ０６では、ユーザにより上記パラメータを指定する操作入力がなされたか否かをパラメータ設定部１１７が確認する。
【００９１】
ステップＳ０６においてパラメータを指定する操作入力がなされたと判定した場合、学習支援装置１００はステップＳ０７を実行する。ステップＳ０７では、パラメータ設定部１１７が、上記操作入力に従ったパラメータを、当該パラメータの設定対象であるプログラムブロックに表示させる。その後、学習支援装置１００は処理をステップＳ０２に戻す。ステップＳ０６においてパラメータを指定する操作入力がなされていないと判定した場合、学習支援装置１００は、ステップＳ０７を実行することなく処理をステップＳ０２に戻す。以後、ユーザの入力に応じたコンピュータウィンドウの更新が繰り返される。
【００９２】
（プログラムの実行手順）
図９に示すように、学習支援装置１００は、まずステップＳ１１，Ｓ１２，Ｓ１３を実行する。ステップＳ１１では、プログラム実行部１１８が、プログラムウィンドウ３４０において先頭に表示されているプログラムブロックを実行対象とする。ステップＳ１２では、プログラム実行部１１８が、ブロック記憶部１１２において実行対象のプログラムブロックに対応付けられたプログラム（上記対応プログラム）を、プログラムブロックに表示されたパラメータに従って実行する。ステップＳ１３では、プログラム実行部１１８が、プログラムウィンドウ３４０に表示された全てのプログラムブロックの実行が完了したか否かを確認する。
【００９３】
ステップＳ１３において、未実行のプログラムブロックが残っていると判定した場合、学習支援装置１００はステップＳ１４を実行する。ステップＳ１４では、プログラム実行部１１８が、プログラムウィンドウ３４０において次に表示されているプログラムブロックを実行対象とする。その後、学習支援装置１００は処理をステップＳ１２に戻す。以後、プログラムウィンドウにおける全てのプログラムブロックの実行が完了するまで、プログラムブロックの対応プログラムが順次実行される。ステップＳ１３において、全てのプログラムブロックの実行が完了したと判定した場合、学習支援装置１００はプログラムの実行を完了する。
【００９４】
以下、ステップＳ１２における対応プログラムの実行の具体例を示す。図１０は、地図表示ブロックの実行手順を例示するフローチャートである。図１０に示すように、学習支援装置１００は、ステップＳ２１，Ｓ２２を順に実行する。ステップＳ２１では、プログラム実行部１１８が、地図表示ブロックに対応する地図表示プログラムに従って地図を表示するためのデータを地図サーバ２００の地図データベースから取得する。ステップＳ２２では、プログラム実行部１１８が、ステップＳ２１で取得したデータに基づく地図を表示デバイス１９４に表示させる。以上で地図表示ブロックの実行が完了する。
【００９５】
図１１は、オブジェクト表示ブロック３２２，３２３の実行手順を例示するフローチャートである。図１１に示すように、学習支援装置１００は、ステップＳ３１，Ｓ３２，Ｓ３３，Ｓ３４を順に実行する。ステップＳ３１では、プログラム実行部１１８が、地図にオブジェクトを表示できるように、当該オブジェクトの表示位置に基づいて地図の表示エリアを更新する。ステップＳ３２では、プログラム実行部１１８が、更新後の表示エリアの地図を表示するためのデータを地図サーバ２００の地図データベースから取得する。ステップＳ３３では、プログラム実行部１１８が、ステップＳ３２で取得したデータに基づいて、更新後の表示エリアの地図を表示する。ステップＳ３４では、プログラム実行部１１８が、オブジェクト表示ブロック３２２，３２３に対応するオブジェクト表示プログラムに従って、ステップＳ３３で表示した地図にオブジェクトを表示する。以上でオブジェクト表示ブロック３２２，３２３の実行が完了する。
【００９６】
図１２は、表示統合ブロック４２５の実行手順を例示するフローチャートである。図１２に示すように、学習支援装置１００は、まずステップＳ４１，Ｓ４２，Ｓ４３を実行する。ステップＳ４１では、プログラム実行部１１８が、表示統合ブロック４２５に対応する表示統合プログラムに従って、地図に表示されたオブジェクトのいずれかを選択し、選択したオブジェクト（以下、「基準オブジェクト」という。）をメンバーとするグループを生成する。基準オブジェクトをメンバーとするグループが生成される段階において、当該グループに含まれるのは基準オブジェクトのみである。ステップＳ４２では、プログラム実行部１１８が、地図に表示されたオブジェクトから、基準オブジェクトの他のオブジェクト（以下、「判定対象オブジェクト」という。）を選択する。ステップＳ４３では、地図において、判定対象オブジェクトと基準オブジェクトとが重複しているか否かをプログラム実行部１１８が確認する。
【００９７】
ステップＳ４３において判定対象オブジェクトと基準オブジェクトとが重複していると判定した場合、学習支援装置１００は、ステップＳ４４を実行する。ステップＳ４４では、プログラム実行部１１８が、判定対象オブジェクトを基準オブジェクトと同じグループに追加する。
【００９８】
次に、学習支援装置１００は、ステップＳ４５を実行する。ステップＳ４３において判定対象オブジェクトと基準オブジェクトとが重複していないと判定した場合、学習支援装置１００は、ステップＳ４４を実行することなくステップＳ４５を実行する。ステップＳ４５では、基準オブジェクトと重複しているか否かを確認していないオブジェクト（以下、「未確認オブジェクト」という。）が地図に残っていないかをプログラム実行部１１８が確認する。
【００９９】
ステップＳ４５において、未確認オブジェクトが地図に残っていると判定した場合、学習支援装置１００は、ステップＳ４６を実行する。ステップＳ４６では、プログラム実行部１１８が、未確認オブジェクトから次の判定対象オブジェクトを選択する。その後、学習支援装置１００は処理をステップＳ４３に戻す。以後、未確認オブジェクトが地図に残っていないと判定されるまで、基準オブジェクトと判定対象オブジェクトとが重複する場合に当該判定対象オブジェクトを基準オブジェクトと同じグループに追加することが繰り返される。
【０１００】
ステップＳ４５において未確認オブジェクトが地図に残っていないと判定した場合、学習支援装置１００はステップＳ４７を実行する。ステップＳ４７では、いずれのグループにも所属していないオブジェクト（以下、「未所属オブジェクト」という。）が地図に残っていないかをプログラム実行部１１８が確認する。
【０１０１】
ステップＳ４７において、未所属オブジェクトが地図に残っていると判定した場合、学習支援装置１００はステップＳ４８を実行する。ステップＳ４８では、プログラム実行部１１８が、未所属オブジェクトから次の基準オブジェクトを選択し、当該基準オブジェクトとするグループを生成する。その後、学習支援装置１００は処理をステップＳ４２に戻す。以後、未所属オブジェクトが地図に残っていないと判定されるまで、オブジェクトのグループ化が継続される。
【０１０２】
ステップＳ４７において未所属オブジェクトが地図に残っていないと判定した場合、学習支援装置１００はステップＳ４９，Ｓ５１を実行する。ステップＳ４９では、プログラム実行部１１８が、グループごとに、所属するオブジェクトの数に応じて拡大率を設定する。例えば、所属するオブジェクトの数が１つである場合、プログラム実行部１１８は拡大率を１にし、オブジェクトの数が多くなるのに応じて拡大率を大きくする。ステップＳ５１では、プログラム実行部１１８が、各グループのオブジェクトを１つに統合し、統合後のオブジェクトをステップＳ４９で設定した拡大率で表示する。以上で表示統合ブロックの実行手順が完了する。
【０１０３】
〔本実施形態の効果〕
以上に説明したように、学習支援装置１００は、記憶部に記憶されている地図を表示させるプログラムに対応する地図表示ブロック３２１及び地図にオブジェクトを表示させるプログラムに対応するオブジェクト表示ブロック３２２を含む複数のプログラムブロックをリストウィンドウ３２０に表示するリスト表示部１１３と、複数のプログラムブロックからユーザによって選択された複数のプログラムブロックをユーザによって指定された表示順序でプログラムウィンドウ３４０に表示するプログラム表示部１１４と、オブジェクト表示ブロック３２２，３２３に対応するプログラムに従ったオブジェクトの地図における表示位置をユーザの入力に基づいて設定するパラメータ設定部１１７と、地図表示ブロック３２１に対応するプログラムに従って地図を表示することと、オブジェクト表示ブロック３２２，３２３に対応するプログラムと、パラメータ設定部１１７により設定された表示位置とに従って地図にオブジェクトを表示することとを表示順序に従って実行するプログラム実行部１１８と、を備える。
【０１０４】
この学習支援装置１００によれば、地図上の任意の位置にオブジェクトを配置する作業において、プログラムブロックの選択及び配置と、プログラムの動作確認とをユーザに実行させることができる。このため、オブジェクトを地図上に表示する作業が有益である科目にプログラミング学習を適用することが可能となる。従って、プログラミング学習の適用科目を増やすのに有効である。
【０１０５】
パラメータ設定部１１７は、記憶部に記憶されている入力補助用地図を表示し、オブジェクトの地図における表示位置を、入力補助用地図においてユーザにより指定された位置に従って設定してもよい。この場合、オブジェクトの表示位置の指定をユーザに容易に行わせることができる。例えば、キーボード入力に習熟していないユーザにも、表示位置の指定を容易に行わせることができる。
【０１０６】
パラメータ設定部１１７は、オブジェクト表示ブロック３２２に対応するプログラムに従って表示するオブジェクトをユーザの入力に基づいて更に設定してもよい。この場合、表示すべきオブジェクトの指定も可能にすることで、より高度な学習が可能となる。
【０１０７】
学習支援装置１００は、複数のオブジェクトにそれぞれ関連付けられた複数のアイコンである複数のオブジェクトアイコンを表示するアイコン表示部１２１を更に備え、パラメータ設定部１１７は、オブジェクト表示ブロック３２２に対応するプログラムに従って表示するオブジェクトを、複数のオブジェクトアイコンからユーザにより選択されたオブジェクトアイコンに従って設定してもよい。この場合、オブジェクトの指定が容易であるため、入力操作の習熟度が低いユーザ（例えば低学年のユーザ）用の科目にもプログラミング学習を適用し易くなる。
【０１０８】
アイコン表示部１２１は、複数の位置にそれぞれ関連付けられた複数のアイコンである複数の位置アイコンを更に表示し、パラメータ設定部１１７は、オブジェクトの地図における表示位置を、複数の位置アイコンからユーザにより選択された位置アイコンに従って設定してもよい。この場合、オブジェクトの表示位置の指定が容易であるため、入力操作の習熟度が低いユーザ（例えば低学年のユーザ）用の科目にもプログラミング学習を適用し易くなる。
【０１０９】
プログラム実行部１１８は、地図にオブジェクトを表示できるように、当該オブジェクトの表示位置に基づいて地図の表示エリアを更新してもよい。この場合、オブジェクトの追加の度に表示エリアを変更する作業が不要となるため、より効率的な学習が可能となる。
【０１１０】
リスト表示部１１３が表示する複数のプログラムブロックは、地図に表示される複数のオブジェクトの種類と表示位置とに基づいて、同一種類の複数のオブジェクトを１つに統合して表示させるプログラムに対応する表示統合ブロック４２５を更に含み、プログラム実行部１１８は、同一種類の複数のオブジェクトを、表示統合ブロック４２５に対応するプログラムに従って１つのオブジェクトに統合し、当該１つのオブジェクトに統合したオブジェクトの数に応じて当該１つのオブジェクトの表示状態を変更してもよい。この場合、密集したオブジェクトの統合作業が不要となるため、より効率的な学習が可能となる。
【０１１１】
以上、実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。
【０１１２】
以上の実施形態の全部又は一部に記載された態様は、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上又は適切な機能の提供その他の機能向上又は適切な機能の提供、データ及び／又はプログラムの容量の削減、装置及び／又はシステムの小型化等の適切なデータ、プログラム、記録媒体、装置及び／又はシステムの提供、並びにデータ、プログラム、装置又はシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置及び／又はシステムの制作・製造の適切化のいずれか一つの課題を解決する。
【符号の説明】
【０１１３】
１００…学習支援装置、１１３…リスト表示部（第１の表示部）、１１４…プログラム表示部（第２の表示部）、１１７…パラメータ設定部（設定部）、１１８…プログラム実行部、１２１…アイコン表示部、３２０…リストウィンドウ、３２１，４２１…地図表示ブロック、３２２，３２３，４２２…オブジェクト表示ブロック、３４０…プログラムウィンドウ、４２５…表示統合ブロック。
【図１】
0003223785.tif 000003
【図２】
0003223785.tif 000004
【図３】
0003223785.tif 000005
【図４】
0003223785.tif 000006
【図５】
0003223785.tif 000007
【図６】
0003223785.tif 000008
【図７】
0003223785.tif 000009
【図８】
0003223785.tif 000010
【図９】
0003223785.tif 000011
【図１０】
0003223785.tif 000012
【図１１】
0003223785.tif 000013
【図１２】
0003223785.tif 000014