特許第6202493号(P6202493)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ デジタルセンセーション株式会社の特許一覧

<>
  • 特許6202493-情報処理装置、情報処理方法 図000002
  • 特許6202493-情報処理装置、情報処理方法 図000003
  • 特許6202493-情報処理装置、情報処理方法 図000004
  • 特許6202493-情報処理装置、情報処理方法 図000005
  • 特許6202493-情報処理装置、情報処理方法 図000006
  • 特許6202493-情報処理装置、情報処理方法 図000007
  • 特許6202493-情報処理装置、情報処理方法 図000008
  • 特許6202493-情報処理装置、情報処理方法 図000009
  • 特許6202493-情報処理装置、情報処理方法 図000010
  • 特許6202493-情報処理装置、情報処理方法 図000011
  • 特許6202493-情報処理装置、情報処理方法 図000012
  • 特許6202493-情報処理装置、情報処理方法 図000013
  • 特許6202493-情報処理装置、情報処理方法 図000014
  • 特許6202493-情報処理装置、情報処理方法 図000015
  • 特許6202493-情報処理装置、情報処理方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6202493
(24)【登録日】2017年9月8日
(45)【発行日】2017年9月27日
(54)【発明の名称】情報処理装置、情報処理方法
(51)【国際特許分類】
   G06F 9/44 20060101AFI20170914BHJP
   G06F 3/048 20130101ALI20170914BHJP
【FI】
   G06F9/06 620A
   G06F3/048
【請求項の数】12
【全頁数】22
(21)【出願番号】特願2013-146101(P2013-146101)
(22)【出願日】2013年7月12日
(65)【公開番号】特開2015-18467(P2015-18467A)
(43)【公開日】2015年1月29日
【審査請求日】2016年7月1日
(73)【特許権者】
【識別番号】507083294
【氏名又は名称】デジタルセンセーション株式会社
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(72)【発明者】
【氏名】坂根 裕
(72)【発明者】
【氏名】竹林 洋一
(72)【発明者】
【氏名】南 正名
【審査官】 坂庭 剛史
(56)【参考文献】
【文献】 特開昭62−054338(JP,A)
【文献】 特開2010−278889(JP,A)
【文献】 特開2008−203912(JP,A)
【文献】 特開平10−154070(JP,A)
【文献】 特開2000−322700(JP,A)
【文献】 特開2010−117660(JP,A)
【文献】 特開2001−337837(JP,A)
【文献】 特開平01−290044(JP,A)
【文献】 特開平02−096864(JP,A)
【文献】 特開2000−315166(JP,A)
【文献】 特開2007−133815(JP,A)
【文献】 米国特許出願公開第2009/0100405(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/44
G06F 3/048
(57)【特許請求の範囲】
【請求項1】
1画面内に、
システム状態を表示する第1の領域と、
モデル状態を表示する第2の領域と
処理内容を表示する第3の領域と
を備え、
前記第1の領域または前記第2の領域の一方の領域内に変更があった場合、他方の領域内の前記変更に対応する箇所を変更し、
前記第3の領域内に表示されている処理内容を実行することで、前記第2の領域で変更した箇所があった場合、前記第3の領域と前記第2の領域内で変更した箇所を結ぶ矢印を表示し、前記第2の領域で変更があったことにより、前記第1の領域で変更した箇所があった場合、前記第2の領域内で変更した箇所と前記第1の領域内で変更した箇所を結ぶ矢印を表示する
情報処理装置。
【請求項2】
前記第3の領域に表示されている処理内容が実行されることにより、前記第2の領域の該当する箇所に変更があった場合、前記第2の領域の該当する箇所を変更し、前記第2の領域の変更があった箇所に該当する前記第1の領域の箇所を変更する
請求項1に記載の情報処理装置。
【請求項3】
前記第1の領域には、システム化対象の世界が表示され、前記第2の領域には、前記システム化対象の世界を表示するためのデータまたはデータ構造が表示され、前記第3の領域には、前記システム化対象の世界に対する制御を行うためのプログラムが表示される
請求項に記載の情報処理装置。
【請求項4】
前記第1の領域または前記第2の領域に対して所定の操作が行われ、変更が指示された場合、前記所定の操作が行われた領域内においては指示された変更を実行し、前記所定の操作が行われた領域とは異なる領域においては、前記変更に該当する箇所を変更する
請求項1に記載の情報処理装置。
【請求項5】
前記第1の領域に対して所定の操作が行われたとき、前記所定の操作が行われた箇所の近傍に、複数の変更内容を表示し、
ユーザにより前記複数の変更内容のうちの1つの変更内容が選択された場合、その選択された変更内容で、前記第1の領域内の前記所定の操作が行われた箇所を変更し、
前記第2の領域内の、前記変更が実行されることにより変更される箇所を変更する
請求項1に記載の情報処理装置。
【請求項6】
前記第3の領域は、複数の処理内容を別々に登録できる構成であり、登録した処理内容を、それぞれ任意のタイミングで実行する
請求項に記載の情報処理装置。
【請求項7】
前記第3の領域内に表示されている処理内容を、一定の間隔で継続して実行する
請求項に記載の情報処理装置。
【請求項8】
前記第3の領域内に表示されている処理内容を、前記第2の領域内の前記モデル状態が変更されたとき、実行する
請求項に記載の情報処理装置。
【請求項9】
前記第2の領域内において変更された箇所は、他の箇所と異なる背景色で表示する
請求項1に記載の情報処理装置。
【請求項10】
前記第2の領域内において変更された箇所は、変更前後の値を併記して表示する
請求項1に記載の情報処理装置。
【請求項11】
前記第1の領域または前記第2の領域の一方の領域内に変更があり、他方の領域内の前記変更に対応する箇所も変更した場合、変更した箇所同士を結ぶ矢印を表示する
請求項1に記載の情報処理装置。
【請求項12】
表示部を備える情報処理装置の情報処理方法において、
前記表示部の1画面内に、
システム状態を表示する第1の領域と、
モデル状態を表示する第2の領域と
処理内容を表示する第3の領域と
を含む画面の表示を制御し、
前記第1の領域または前記第2の領域の一方の領域内に変更があった場合、他方の領域内の前記変更に対応する箇所を変更し、
前記第3の領域内に表示されている処理内容を実行することで、前記第2の領域で変更した箇所があった場合、前記第3の領域と前記第2の領域内で変更した箇所を結ぶ矢印を表示し、前記第2の領域で変更があったことにより、前記第1の領域で変更した箇所があった場合、前記第2の領域内で変更した箇所と前記第1の領域内で変更した箇所を結ぶ矢印を表示する
ステップを含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、情報処理装置、情報処理方法に関する。詳しくは、プログラミングの技術などを教えるときに用いて好適な情報処理装置、情報処理方法に関する。
【背景技術】
【0002】
さまざまな装置がコンピュータで制御されるようになり、プログラムを最適化したり、新たなプログラムを制作したりする処理が増えつつある。また、ゲーム機の普及により、ゲーム機用のソフトウェアの需要も増えつつある。
【0003】
特許文献1では、プログラムを効率よく作成するために、プログラムを所定のブロックに分け、ブロック毎に命令文字列群であるブロック別文字列と、所定の命令文字列である開始文字列と、終了文字列とを有するブロック別検索範囲を記憶部に格納するロボット動作プログラム作成装置が、処理の対象となっているブロック別文字列において、ブロック別検索範囲の開始文字列と、終了文字列に挟まれた検索文字列を検出し、この検索文字列を強調表示して表示部に表示させることが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−157155公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
プログラムを作成したり、最適化したりするためには、プログラムについて学ぶ必要がある。特許文献1では、プログラムを効率良く作成するための一手段を提案しているが、プログラミングを学ぶ手段は提案されておらず、プログラミングを理解していなければ、結果として効率良く作成することはできない。
【0006】
ところで、大学などのプログラミングを学ぶことができる場所において、その情報システムの教育は、プログラミング言語やネットワーク、OS(オペレーティングシステム)、データベースなど、細分化された専門技術(要素技術)の習得を目的とした教育プログラムが多い。そして、このような教育には、既存システムの内部を予想したり、見たり、変更したりする試行錯誤を通じ、システム全体を想像しデザインする能力を養うプロセスが含まれていない。
【0007】
システムの仕組みを理解するには、対象となるシステムの状態と、コンピュータ内部でのデータ構造とそのデータ、データ処理のためのアルゴリズムを理解することが必要である。これは、例えば、子どもが「玩具を分解し、内部がどのような仕掛けになっているかを確認する」プロセスに似ている。ソフトウェアでもこのような「学び」が体験できる教材などがあると、プログラミングの本質とコンピュータの働きや内部状態を理解し、基礎的なプログラミングの概念と実践的なプログラミングの学習が可能となる。
【0008】
本技術は、このような状況に鑑みてなされたものであり、事前の知識が少ない子どもでも、プログラミングの意味や概念を理解し、コンピュータの内部状態を考えながらプログラミングを実践できる対話型プログラミング環境を提供する。
【課題を解決するための手段】
【0009】
本技術の一側面の情報処理装置は、1画面内に、システム状態を表示する第1の領域と、モデル状態を表示する第2の領域と、処理内容を表示する第3の領域とを備え、前記第1の領域または前記第2の領域の一方の領域内に変更があった場合、他方の領域内の前記変更に対応する箇所を変更し、前記第3の領域内に表示されている処理内容を実行することで、前記第2の領域で変更した箇所があった場合、前記第3の領域と前記第2の領域内で変更した箇所を結ぶ矢印を表示し、前記第2の領域で変更があったことにより、前記第1の領域で変更した箇所があった場合、前記第2の領域内で変更した箇所と前記第1の領域内で変更した箇所を結ぶ矢印を表示する
【0010】
前記第3の領域に表示されている処理内容が実行されることにより、前記第2の領域の該当する箇所に変更があった場合、前記第2の領域の該当する箇所を変更し、前記第2の領域の変更があった箇所に該当する前記第1の領域の箇所を変更するようにすることができる。
【0011】
前記第1の領域には、システム化対象の世界が表示され、前記第2の領域には、前記システム化対象の世界を表示するためのデータまたはデータ構造が表示され、前記第3の領域には、前記システム化対象の世界に対する制御を行うためのプログラムが表示されるようにすることができる。
【0012】
前記第1の領域または前記第2の領域に対して所定の操作が行われ、変更が指示された場合、前記所定の操作が行われた領域内においては指示された変更を実行し、前記所定の操作が行われた領域とは異なる領域においては、前記変更に該当する箇所を変更するようにすることができる。
【0013】
前記第1の領域に対して所定の操作が行われたとき、前記所定の操作が行われた箇所の近傍に、複数の変更内容を表示し、ユーザにより前記複数の変更内容のうちの1つの変更内容が選択された場合、その選択された変更内容で、前記第1の領域内の前記所定の操作が行われた箇所を変更し、前記第2の領域内の、前記変更が実行されることにより変更される箇所を変更するようにすることができる。
【0014】
前記第3の領域は、複数の処理内容を別々に登録できる構成であり、登録した処理内容を、それぞれ任意のタイミングで実行するようにすることができる。
【0015】
前記第3の領域内に表示されている処理内容を、一定の間隔で継続して実行するようにすることができる。
【0016】
前記第3の領域内に表示されている処理内容を、前記第2の領域内の前記モデル状態が変更されたとき、実行するようにすることができる。
【0017】
前記第2の領域内において変更された箇所は、他の箇所と異なる背景色で表示するようにすることができる。
【0018】
前記第2の領域内において変更された箇所は、変更前後の値を併記して表示するようにすることができる。
【0019】
前記第1の領域または前記第2の領域の一方の領域内に変更があり、他方の領域内の前記変更に対応する箇所も変更した場合、変更した箇所同士を結ぶ矢印を表示するようにすることができる。
【0021】
本技術の一側面の情報処理方法は、表示部を備える情報処理装置の情報処理方法において、前記表示部の1画面内に、システム状態を表示する第1の領域と、モデル状態を表示する第2の領域と、処理内容を表示する第3の領域とを含む画面の表示を制御し、前記第1の領域または前記第2の領域の一方の領域内に変更があった場合、他方の領域内の前記変更に対応する箇所を変更し、前記第3の領域内に表示されている処理内容を実行することで、前記第2の領域で変更した箇所があった場合、前記第3の領域と前記第2の領域内で変更した箇所を結ぶ矢印を表示し、前記第2の領域で変更があったことにより、前記第1の領域で変更した箇所があった場合、前記第2の領域内で変更した箇所と前記第1の領域内で変更した箇所を結ぶ矢印を表示するステップを含む。
【0022】
本技術の一側面の情報処理装置、情報処理方法においては、表示部の1画面内に、システム状態を表示する第1の領域と、モデル状態を表示する第2の領域と、処理内容を表示する第3の領域とを含む画面の表示がされ、第1の領域または第2の領域の一方の領域内に変更があった場合、他方の領域内の変更に対応する箇所が変更される。また第3の領域内に表示されている処理内容が実行されることで、第2の領域で変更した箇所があった場合、第3の領域と第2の領域内で変更した箇所を結ぶ矢印が表示され、第2の領域で変更があったことにより、第1の領域で変更した箇所があった場合、第2の領域内で変更した箇所と第1の領域内で変更した箇所を結ぶ矢印が表示される
【発明の効果】
【0023】
本技術の一側面によれば、事前の知識が少ない子どもでも、プログラミングの意味や概念を理解し、コンピュータの内部状態を考えながらプログラミングを実践できる対話型プログラミング環境を提供することができる。
【図面の簡単な説明】
【0024】
図1】本技術が適用されるシステムの一実施の形態の構成を示す図である。
図2】端末の構成例を示す図である。
図3】ディスプレイ上に表示される画面の領域に関する説明をするための図である。
図4】ディスプレイ上に表示される画面例である。
図5】各領域の関係について説明するための図である。
図6】各領域の関係について説明するための図である。
図7】ディスプレイ上に表示される画面例である。
図8】システム領域内の表示について説明するための図である。
図9】ダイアログボックスについて説明するための図である。
図10】ダイアログボックスについて説明するための図である。
図11】処理領域内の表示について説明するための図である。
図12】背景色の変更について説明するための図である。
図13】変更に係わる部分をつなぐ矢印について説明するための図である。
図14】変更に係わる部分をつなぐ矢印について説明するための図である。
図15】変更に係わる部分をつなぐ矢印について説明するための図である。
【発明を実施するための形態】
【0025】
以下に、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は、以下の順序で行う。
1.システムの概要
2.端末の構成
3.第1の表示画面
4.第2の表示画面
5.変更されたデータの表示について
6.記録媒体について
【0026】
まず、以下に説明する本技術を適用することで解決できる課題や、本技術を適用することで期待できる効果について、簡便に説明する。
【0027】
教育には、既存の知識を生徒に正しく伝えて理解させる「トップダウン教育」と、生徒に気づきのキッカケとなる情報を提供し、生徒の興味とインセンティブを刺激して、生徒が自主的に教えられた情報を咀嚼し、その先の課題解決力を身につけることを促す「ボトムアップ型の教育」とがある。本技術を適用することで、「ボトムアップ型の教育」が行えるようにする。
【0028】
ボトムアップ教育の基本は、生徒自らが「対象システムをよく観察(See)」し、その「背景事情や内部の構造に思い(Think)」を巡らし、対象に実際に触れたり、動かしてみたりして興味を刺激される事により、その結果を現実の社会生活の中での課題に応用するために、自らの工夫を加味してより良く改良する「方法を考え(Plan)」、これを「自前のシステムとして実現(Do)」してみて、その結果のシステムの動きを更に興味を持って「観察(See)」するという次のループ過程に繋げることにある。
【0029】
このようにして、予備知識のない生徒にも対象の本質に触れて、システム構築のセンスを身につけさせるような情報処理装置、情報処理方法を提供することが、本技術のより具体的な目的である。
【0030】
本技術は、このような目的を達成するために、上述の観察を容易にするための「システム領域」、生徒自らが内部構造に踏み込み、その仕組みを考えることを可能にするための、システムの本質を抽象化して表現した「モデル領域」、およびこのモデルを動かす仕組みを機械に分かる言葉で記述する「処理領域」とからなる表示画面を生徒に提示する。
【0031】
さらにその画面にはシステム内部の仕組みを考えるための気づきのヒントを複数提供するような工夫を加えている。また、この気づきが生徒に自信を与え、更に教育内容に踏み込んで行くインセンティブを与えることになる。また「システム領域」「モデル領域」「処理領域」の各領域相互を関連付けて動かす仕組みをつくることにより、内部構造の気づきに加えて、自らの工夫の結果の確認を容易にすることで、ボトムアップ教育の円滑化を図ることも目的としている。
【0032】
以下に、具体的に本技術について説明する。
【0033】
<システムの概要>
図1は、本技術が適用されるシステムの一実施の形態の構成を示す図である。
【0034】
図1に示したシステムは、ネットワーク11、サーバ12、端末13を含む構成とされている。ネットワーク11は、有線、無線のどちらでも良く、また有線と無線が混在していても良い。サーバ12は、後述するソフトウェアを端末13側に提供する。このソフトウェアは、プログラミングの学習などを行えるソフトウェアであり、ここでは、適宜、教材と記述する。
【0035】
端末13は、ユーザ側の装置であり、パーソナルコンピュータや携帯電話機などの装置である。図1に示したシステムにおいては、サーバ12から教材がネットワーク11を介して端末13に供給される。端末13では、供給された教材をユーザに提供することで、ユーザは、教材を用いた学習を行える構成とされている。
【0036】
なおここでは、サーバ12から教材がネットワーク11を介して端末13に供給されるとして説明を続けるが、端末13に教材(ソフトウェア)が記憶されているような構成でも良い。
【0037】
<端末の構成>
図2は、端末13の構成例を示すブロック図である。
【0038】
端末13において、CPU(Central Processing Unit)31、ROM(Read Only Memory)32、RAM(Random Access Memory)33は、バス34により相互に接続されている。バス34には、さらに、入出力インタフェース35が接続されている。入出力インタフェース35には、入力部36、出力部37、記憶部38、通信部39、及びドライブ40が接続されている。
【0039】
入力部36は、キーボード、マウス、マイクロフォンなどよりなる。出力部37は、ディスプレイ、スピーカなどよりなる。記憶部38は、ハードディスクや不揮発性のメモリなどよりなる。通信部39は、ネットワークインタフェースなどよりなる。ドライブ40は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア41を駆動する。
【0040】
以上のように構成される端末13では、CPU31が、例えば、記憶部38に記憶されているソフトウェア(教材)または通信部39を介してサーバ12から供給されたソフトウェアを、入出力インタフェース35及びバス34を介して、RAM33にロードして実行する。
【0041】
図3は、端末13の出力部37を構成するディスプレイ51上に表示される画面の構成を示す図である。
【0042】
ディスプレイ51に表示される画面は、システム領域61、モデル領域62、および処理領域63の3つの領域を有する。システム領域61は、システム化対象の世界を表示する領域であり、モデル領域62は、データ、データ構造を表示する領域であり、処理領域63は、データ処理手続きを表示する領域である。
【0043】
なお、本実施の形態において、プログラムとは、“データ構造の定義”と“データの処理手続”を含むものであるとする。また“データの処理手続”とは、例えば、データの読み込みや代入といった処理である。また処理領域63には、データ構造を定義するプログラムや、データの処理手続を規定するプログラムなどが書き込まれる領域であるとして説明を続ける。
【0044】
<第1の表示画面>
具体例を、図4に示す。図4に示した画面は、ゲームシステムを教材としたときの画面である。システム領域61には、ゲームの一場面が表示されている。図4に示したゲームの一場面は、陸と川から構成され、陸には、砂地の道、緑化された場所、小高い山、木といった部分がある。また橋や、ユーザの分身として、ゲーム画面内を移動するキャラクターも表示されている。またこのような一番面の下側には、キャラクターを動かすための方向キーも表示されている。
【0045】
モデル領域62には、数字が表示されている。モデル領域62には、データやデータ構造が表示される。以下、モデル領域62のX軸方向(図中水平方向)の数字とY軸方向(図中垂直方向)の数字を座標として用い、所定の座標をデータ(X、Y)と表す。例えば、データ(0、00)は、“5”であり、データ(1、00)は“3”である。
【0046】
図4では、システム領域61のゲームの一場面は、10×10のマスから構成され、各マスのデータが、モデル領域62内に記載されている。また、ここでは、システム領域61内の各マスが位置する座標と、モデル領域62内のデータが位置する座標には対応関係がある場合を示している。システム領域61は、10×10のマスから構成され、モデル領域62には、その10×10の各マス内の画像データが、10×10のマス目のそれぞれに記載されている。
【0047】
なお、モデル領域62の最下行は、システム領域61内の10×10のマス以外の制御に用いられているデータである。この最下行には、例えば、システム領域61内の方向キーの有向フラグなどが表示される。
【0048】
システム領域61には、座標の値は示していないが、モデル領域62に図示してある座標の値と同様の値が割り振られているとして説明を続け、所定の座標を、座標(X、Y)と表す。例えば、座標(0、00)は、“川”であり、座標(1、00)は、“木”である。
【0049】
モデル領域62内のデータとの関係を示すと、座標(0、00)の“川”は、データ(0、00)の“5”と対応しており、座標(1、00)の“木”は、データ(1、00)の“3”と対応している。
【0050】
図4に示したような画面が教材として与えられたユーザは、システム領域61とモデル領域62との対応関係を推測する。例えば、上記したように、座標(0、00)の“川”は、データ(0、00)の“5”と対応しており、“川”という絵は、“5”というデータで表されることを推測する。また同様に、座標(1、00)の“木”は、データ(1、00)の“3”と対応しており、“木”という絵は、“3”で表されることを推測する。
【0051】
ユーザは、このような推測が正しいか否かを、実施に、モデル領域62内のデータを変更することで確認することができる。変更するときの画面例は、別の画面を参照して説明するとし、ここでは図示は省略するが、変更したいデータに対してクリックなどの所定の操作が行われると、そのデータが表示される付近に、データ入力用のダイアログボックスが開かれ、そのダイアログボックスを用いてデータの入力(変更)ができるように構成されている。
【0052】
または、変更したいデータに対してクリックなどの所定の操作が行われると、そのデータ上にカーソルが位置し、直接的にデータの入力(変更)ができるように構成されているようにしても良い。データの入力方法、入力画面などは、どのようなものでも良い。
【0053】
モデル領域62内のデータが変更されると、その変更に対応して、システム領域61内の対応するマス内の絵も変更される。例えば、ユーザが、データ(0、00)の“5”を、“3”に変更したとする。データの“5”は、川を表し、データの“3”は、木を表すため、“5”から“3”に変更された場合、“川”から“木”にマス内の絵が変更される。ユーザは、このようなデータの変更を行い、マス内の絵の変更を確認することで、この場合、“3”は“木”を表すデータであることを確認できる。
【0054】
このようにして、ユーザは、モデル領域62内の各データは、システム領域61内のどのマスのどのような絵を表すデータであるのかを、予測し確かめることができる。
【0055】
なお、モデル領域62内の表示は、図4に示したような形式に限定されるものではなく、他の表示形式で表示されても良い。すなわち、システム領域61内に表示されているシステムと、モデル領域62内に表示されているデータ(データ構造)に関連性があるということを、ユーザ(学習者)が学習しやすい表示であれば良い。
【0056】
システム領域61内の方向キーが操作された場合、その操作に応じて、キャラクターも移動する。キャラクターが移動した場合、その移動に対応するモデル領域62内のデータが変更される。すなわち、システム領域61に変更があった場合、その変更に応じてモデル領域62の対応するデータも変更される。
【0057】
ところで、システム領域61内に表示されているキャラクターが、方向キーが操作されることにより移動する際、川の上を歩いたり、木の上を歩いたりするのは、好ましい動きではなく、そのようなことがおきないような制御が行われるようにすることが必要である。
【0058】
ユーザは、このような教材が与えられたとき、どのようにキャラクターの動きを制御すべきかを考える。すなわち、上記したように、川の上や木の上を歩くことがないように制御すべきであると考える。そして、そのような制御をするためには、どのようなデータ処理手続きをプログラムとして記述すべきかを考える。その考えたプログラムを、処理領域63に記載し、実行させることができるように構成されている。
【0059】
すなわち、処理領域63には、システム領域61内の画面の表示や、キャラクターの動きなどを制御するためのプログラムが書き込まれる。処理領域63に書き込まれたプログラムの処理手続に基づき、モデル領域62内のデータが変更され、その変更に対応し、システム領域61内の画面の表示やキャラクターの動きなどは、制御される。ユーザは、処理領域63にプログラムを記載し、その記載したプログラムに基づくと、ユーザが意図した通りに制御が行われるか否かを、システム領域61内の表示やキャラクターの動きなどを見て、確認することができる。
【0060】
このように、ユーザは、どのようなデータ処理が必要かを考え、処理領域63にプログラムとして記載し、そのプログラムでの動作を確認し、所望の動作でなければプログラムを訂正するといった一連の処理を行うことができる。そして、このような一連の処理が行えることで、プログラミングを学習することができる。
【0061】
さらに、処理領域63に記載されたプログラムにより、モデル領域62内のデータに変更が加えられると、その変更に対応して、システム領域61内の画像などの対応する部分も変更される。ユーザは、このような一連の変更を追うことができ、一連の変更を追うことで、データとデータ処理手続きの関係や、実際に表示される画面との関係などを認識し、学習することができる。
【0062】
このようなことを、再度、図5図6を参照して説明する。図5を参照するに、システム領域61内に対して、タッチなどの所定の操作がされると、例えば、タッチがされたところに,そのような操作を示すアイコン(図5、6では、指形状のアイコン)が表示され、その操作に対応するモデル領域62内のデータが変更される。ユーザは、システム領域61内で自己が行った操作に対応して、モデル領域62内のどのデータ(データ構造)が変更されるのかを学ぶことができる。
【0063】
また、モデル領域62内のデータがユーザにより変更されると、その変更に対応するシステム領域61内の画像やキャラクターの動作などが変更される。ユーザは、モデル領域62内で、自己が変更したデータに対応して、システム領域61内のどのシステムが変更されるのかを学ぶことができる。
【0064】
また、図6を参照するに、処理領域63内にプログラムが記載され、例えば、実行というボタンが操作されると、記載されているプログラムに基づく処理が開始される。その結果、モデル領域62内のデータが変更され、そのモデル領域62のデータの変更に対応してシステム領域61内の画像やキャラクターの動作などが変更される。ユーザは、自己が記載したプログラムに基づいて、どのデータ(データ構造)が変更され、どのシステムが変更されるのかを学ぶことができる。
【0065】
このように、1画面内に、システム領域61、モデル領域62、処理領域63を設けることで、システム、データ(データ構造)、データの処理手続(プログラム)のそれぞれの関係を学ぶことができるようになる。
【0066】
図4に示したゲーム画面の教材を再度参照する。図4に示した画面を有する教材から、例えば、以下のようなことが検討課題としてユーザ(例えば、学生)に与えられる。そしてユーザは、その検討課題を解決するための手段を考えることでプログラミングなどを学習する。
【0067】
例えば、検討課題1として、キャラクターが立っているマスの種類を取り出すには、どのようにすべきか。
検討課題2として、キャラクターは、上下左右への移動が可能であるか否かをどのように判定するのか。
検討課題3として、100マス以上のマップを表現するには、どのような改良が必要であるか。
検討課題4として、キャラクターを中心に、3×3のマスを取り出すにはどのようにすべきか。
【0068】
これらの検討課題を解決するためには、どのデータを参照し、どのようなプログラムを作成すれば良いかなどを、ユーザが考えることで学習を進める。
【0069】
例えば、キャラクターが川や木の上を歩かないように制御するには、検討課題2と検討課題4を検討し、キャラクターを中心にした3×3のマスのうち、川や木がどの方向にあるかを判断し、進める方向を判断するためのプログラムを作成する必要があることを学ぶ。
【0070】
このように、本技術を適用することで、ユーザにプログラミングを学ぶことができる教材を提供することができる。
【0071】
<第2の表示画面>
第2の表示画面を参照し、さらに上記したことに対して説明を加える。第2の表示画面は、住環境のセンシングシステムをシミュレーションする教材である。以下に順を追って説明するが、ユーザは、このような教材が与えられたとき、例えば、子供の夜更かしを防止するために、22時になったらテレビジョン受像機の電源をオフにするためには、どのようなプログラムを作成すれば良いかという課題を与えられ、その課題を解決するために試行錯誤しながら学習を進める。
【0072】
図7に第2の表示画面の一例を示す。第2の表示画面も、図4に示した第1の表示画面と同じく、システム領域61、モデル領域62、処理領域63の3つの領域が1画面に表示されている画面である。
【0073】
住環境センシングシステムのため、システム領域61には、住環境を表す画面が表示されている。説明のため、システム領域61に表示されている画面を抽出し、図8に示す。図8に示したように、システム領域61の左上には、時刻101が表示されている。住環境として、部屋102、部屋103、部屋104、および部屋105の4部屋がある環境であり、各部屋には、例えば、人感センサなどのセンサが設置されており、部屋内に人がいるか否かを検知することができる環境を想定している。
【0074】
部屋102には、人106が存在し、部屋103には、人107が存在し、部屋105には、人108が存在する。以下の説明において、人106と人107は大人であり、人108は、子供であるという設定で説明を続ける。
【0075】
部屋102は、キッチンであり、部屋103は、リビングであり、リビングには、テレビジョン受像機109が設置されている。また部屋104は、玄関ホールであり、扉110が設置されている。また部屋105は、子供部屋であり、テレビジョン受像機111が設置されている。
【0076】
なお符号は付していないが、電化製品や窓なども設置されている。システム領域61の住環境は、実世界を想定した住空間であり、その住空間に配置したセンサと作動装置(アクチュエータ)からなるシステムを想定した教材となっている。
【0077】
センサとしては、上記したように、人感センサなどがある。また、電化製品にもセンサが付けられており、電化製品の状態、例えば、電源のオン、オフの状態などが検知できるシステムとされている。また、システム領域61内に表示されている、例えば、テレビジョン受像機109やテレビジョン受像機111に対して、タップやクリックなどの所定の操作が行われると、電源のオンやオフの状態を切り換えられるように構成されている。
【0078】
また、扉110や窓などの開閉も、タップやクリックなどの所定の操作が行われることで行えるように構成されている。さらに、人106、人107、人108のそれぞれは、タップやクリックなどの所定の操作がされると、部屋の移動、ソファーに座る、寝るなどの所定の行動をとらせることができるように構成されている。
【0079】
例えば、玄関の扉110に対して、ユーザがタップやクリックなどの所定の操作を行った場合、図9に示すように、扉110付近に、ダイアログボックス131が表示される。ダイアログボックス131には、“扉を開く”、“鍵をかける”、“キャンセル”という3つの選択肢が表示されている。“扉を開く”という選択肢は、扉110が閉められているときに表示される選択肢であり、扉110を開けるときに操作される選択肢である。なお、扉110が開けられているときにダイアログボックス131が表示されたときには、“扉を閉める”という選択肢となっている。
【0080】
“鍵をかける”という選択肢は、扉110に鍵がかかっていないときに表示される選択肢であり、鍵をかけるときに選択される選択肢である。“キャンセル”という選択肢は、他の選択肢を選択せずに、表示されたダイアログボックス131を閉じるときに選択される選択肢である。
【0081】
図示はしないが、例えば、人106に対して所定の操作がされた場合、人106の付近にダイアログボックスが表示される。その表示されるダイアログボックスには、例えば、“リビングに移動”、“玄関に移動”といったような選択肢や、“火を付ける”、冷蔵庫を開ける“といった選択肢が表示される。
【0082】
また例えば、テレビジョン受像機109に対して所定の操作がされた場合、テレビジョン受像機109の付近にダイアログボックスが表示されるようにしても良い。テレビジョン受像機109に対しては、電源のオン、オフのみが指示できると設定されていた場合、ダイアログボックスの選択肢として“、オン”または“オフ”という選択肢が表示されるようにしても良い。またはテレビジョン受像機109の電源がオンされているときに、テレビジョン受像機109に対して所定の操作がされた場合、ダイアログボックスなどが表示されることなく、電源がオフにされるように構成することも可能である。
【0083】
このように、システム領域61内に描画されている実世界を想定し、模写された住空間に対して、所定の操作が行われると、その所定の操作に対応する処理、例えば、上記したダイアログボックス131などが表示され、ユーザが所望な変更を行えるように構成されている。
【0084】
システム領域61内に変更が加えられると、その変更に対応して、モデル領域62内のデータも変更される。ここで、図7に示した画面に説明を戻し、モデル領域62について説明を加える。
【0085】
モデル領域62には、上記したゲームの一場面が表示される第1の表示画面と同じく、システム領域61に描画されている画面や、その画面内に表示されている分身などの動作に関するデータが表示されている。
【0086】
図7に示したモデル領域62は、システム領域61に表示されている住空間に関するデータであり、描画するためのデータや、テレビジョン受像機の電源の状態や、人がいる部屋などのデータが表示されている。
【0087】
図7に示したモデル領域62には、マス内の背景色が灰色で表示されているデータがある。例えば、データ(2、00)は、背景色が灰色であり、その数字は“0”とされている。この灰色の背景で表示されているデータは、ユーザ側で変更することができないデータとされている。
【0088】
例えば、システム領域61に表示されている住空間の壁に関するデータは、ユーザ側で変更することができないデータとされている。壁は通常、実空間では移動することはできず、その配置などに変更が加えられるものではない。よって、描画するためのデータとしても、ユーザが変更するデータには設定されず、変更できないことを表す表示がされている。
【0089】
なお、本教材が、住環境のセンシングシステムに関する教材ではなく、住環境のインテリアに関する教材であり、壁の色などのデザインを変更でき、そのようなシミュレーションを行うことから、何かを学び取るような教材である場合、壁に関するデータは、ユーザ側で変更できるデータとされ、そのような変更が可能な他のデータと同じ表示がされる。
【0090】
モデル領域62内のデータが変更される際、ダイアログボックスが表示され、そのダイアログボックスを用いて変更が指示できるようにしても良い。そのような一例を、図10に示す。図10に示したモデル領域62には、ダイアログボックス151が表示されている。
【0091】
モデル領域62内のデータ(0、00)に対して、タップやクリックなどの所定の操作がされた場合、データ(0、00)の付近に、ダイアログボックス151が表示される。ダイアログボックス151の上部には、入力された数字が表示される欄161が設けられている。この欄161の右側、図10では、“11”という数字が表示されているところには、入力された数字が表示される。欄161の左側、図10では、“0−23”という数字が表示されているところには、入力可能な数字の範囲が表示される。
【0092】
データ(0、00)は、システム領域61内の時刻101(図8)のうちの時間を表すデータである。24時間表示とした場合、0:00から23:59まで表示されるため、時間として表示される数字は、0から23までの数字となる。よって、データ(0、00)のところに入力できる数字は、0から23までの数字となるため、欄161の左側には、“0−23”との表示がされ、ユーザに入力可能な数字の範囲が示されている。
【0093】
ダイアログボックス151(図10)の欄161の下側には、欄161に数字を入力するための数字キー162が表示されている。ユーザは、数字キー162を操作することで、欄161に所望の数字を入力することができる。数字キー162の下側には、データの変更を中止するときに操作される“Cancel”というボタン163と、欄161に入力した数字でデータを変更するときに操作される“OK”というボタンが表示されている。
【0094】
ユーザは、このようなダイアログボックス151を用いて、モデル領域62内のデータを変更することができる。なお、ダイアログボックス151が表示されずに、モデル領域62内のデータが変更される仕組みが設けられても良い。例えば、図10を参照するに、ユーザにより変更対象とされたデータ(0、00)のマスは、他のマスとは異なる背景色で表示されている。このように、他のマスとは異なる背景色で表示されているマスのデータ(数値)が、直接変更できるように構成されていても良い。
【0095】
モデル領域62内のデータが変更されると、その変更に応じた描画が、システム領域61内の画像に対して行われる。例えば、図10に示したように、データ(0、00)の時間に関するデータが変更された場合、その変更に応じて、システム領域61内の時刻101の時間の部分の表示が変更される。
【0096】
ユーザは、モデル領域62内のデータを変更すると、システム領域61内に表示されている住空間の一部が変更されることを認識することで、モデル領域62内のデータとシステム領域61内の描画との関係性を認識(学習)する。また、モデル領域62内のデータを、どのように変更すると、システム領域61内の住環境において、どのような変更があるのかを認識(学習)する。
【0097】
このように、ユーザは、システム領域61内のシステムと、モデル領域62内のデータとの関係性を学ぶことができる。
【0098】
さらに、例えば、システム領域61内の時間101を、1時間ずつ、自動的に進めるというような処理をさせたい場合、処理領域63に所定のプログラムを記載することで、実行することができるように構成されている。この場合、ユーザは、システム領域61内の時間101を、1時間ずつ進めるためには、モデル領域62内のどのデータを変更し、どのようにデータを処理すべきかの手順を示すプログラムを作成すれば良いかを考えることで、プログラミングの学習を行うことができる。
【0099】
図11に、処理領域63の表示例を示す。処理領域63の上部には、タブが表示される。図11に示した例では、タブ181−1乃至181−4の4個のタブが表示され、タブ181−4は、タブを追加したいときに操作されるタブとされている。
【0100】
図11に示した例ではタブ181−1が開かれた状態である。タブ181の下側には、データ構造の定義やデータの処理手続を示すプログラムが記載される欄182が設けられている。タブ181毎に、欄182が設けられており、タブ毎にプログラムを記載できる構成とされている。また、欄182の下側には、プログラムをどのように実行するかを設定するボタン183―1乃至183−3が表示されている。
【0101】
ボタン183−1は、“モデル更新時に実行”というボタンであり、モデル領域62内のデータが更新(変更)されたときに、欄182に記載されているプログラムを実行するという設定を行うときに操作されるボタンである。
【0102】
ボタン183−2は、例えば“1秒ごとに実行”というボタンであり、1秒経過毎に、欄182に記載されているプログラムを実行するという設定を行うときに操作されるボタンである。なお、1秒ではなく、ユーザにより指定された時間が経過する毎にプログラムが実行されるように設定するためのボタンとすることもできる。
【0103】
ボタン183−3は、“実行”というボタンであり、即座に欄182に記載されているプログラムを実行するという設定を行うときに操作されるボタンである。すなわち、ボタン183−3が操作された場合、操作された時点で、欄182に記載されているプログラムが実行される。
【0104】
このように、処理領域63は、例えば、JavaScript(登録商標)で記載された処理を、指定の条件でeval関数(文字列として与えられたJavaScript(登録商標)コードを、その場で実行する命令)で実行させるための領域として設けられている。また、処理領域63には、複数のコード(プログラム)を登録でき、コード毎に実行方法を設定できるように構成されている。
【0105】
ユーザは、欄182にプログラムを記載し、そのプログラムを実際に実行させることで、システム領域61内の変更を確認することができる。システム領域61内の変更が、所望の変更であれば、記載したプログラムは正しいことを確認でき、所望の変更でなければ、記載したプログラムを訂正することができる。このようなことを繰り返すことで学習することができる。
【0106】
このように、1画面内に、システム領域61、モデル領域62、処理領域63を設けることで、システム、データ(データ構造)、データの処理手続(プログラム)のそれぞれの関係を学ぶことができるようになる。
【0107】
図7に示した住環境のセンシングシステムの画面の教材を再度参照する。図7に示した画面を有する教材から、例えば、以下のようなことが検討課題として与えられ、ユーザは、その検討課題を解決するための手段を考えることで学習が行われる。
【0108】
例えば、検討課題1として、子供の夜更かしを判定するにはどうするか。
検討課題2として、子供の夜更かしを防止するにはどのような改良が良いか。
検討課題3として、家の防犯システムを実現するにはどうするか。
【0109】
これらの検討課題を解決するためには、どのデータを参照し、どのようなプログラムを作成すれば良いかなどを、ユーザが考えることで学習が進められる。
【0110】
例えば、検討課題1を検討することで、時刻101の時刻を判断基準とし、時刻101の時刻が、“22:00”になったときに、子供部屋105の電気やテレビジョン受像機111がついていたら、子供が夜更かししていると判定できると考え、そのような判定が行えるようにするためには、モデル領域62内のどのデータを参照し、どのようなプログラムを作成し、処理領域63に記載すべきかを学ぶことができる。
【0111】
さらに、ユーザは、検討課題1が解決できた場合、検討課題2を検討し、子供が夜更かしをしていると判定できたとき、その夜更かしをどのようにして防止するかを検討する。例えば、22時以降、子供部屋105のテレビジョン受像機111の電源がオンになっていた場合、テレビジョン受像機111の電源をオフにすれば良いという1案を考えついた場合、テレビジョン受像機111の電源のオン、オフを表すデータは、モデル領域62内のどのデータであるのかを確認したり、処理領域63に、22時になったら、テレビジョン受像機111の電源をオフにするというプログラムを作成し、記載したりする必要があることを、ユーザは学ぶことができる。
【0112】
例えば、プログラムとして、時間を表すデータが、22よりも大きくなったとき、テレビジョン受像機111の電源がオフになるようなプログラムを作成した場合、22時になったときに、テレビジョン受像機111の電源はオフになる。しかしながら、“時間を表すデータが、22よりも大きくなったとき”という条件下では、時刻が0:00を過ぎると、その条件を満たさないことになり、時刻0:00以降であれば、テレビジョン受像機111の電源はオンにできる状態になってしまう。これは事前に想定したシステムの挙動ではなく、論理的な不具合と言える。
【0113】
ユーザは、このようなことを学び取り、改善するためのプログラムを作成する。このようなこと、繰り返し行うことで学習が進められる。
【0114】
このように、本技術を適用することで、ユーザにプログラミングを学ぶことができる教材を提供することができる。
【0115】
<変更されたデータの表示について>
ところで、システム領域61に変更があった場合、その変更に対応してモデル領域62内のデータが変更される。本技術を教材として用いるときなど、システム領域61に変更があると、モデル領域62内のデータが変更されることをユーザに認識させることが大事である。例えば、図7に示したような画面が、教材としてユーザに提供された場合、システム領域61内のテレビジョン受像器111の電源がオン、またはオフにされたとき、モデル領域62内のどのデータが、どのように変更されるのかユーザに認識させ、システムとモデルとの関係性を気付かせる。
【0116】
例えば、テレビジョン受像器111の電源がオンにされたとき、モデル領域62内の対応するデータが、テレビジョン受像器111の電源がオンにする操作がされたとときとほぼ同じタイミングで変更された場合、ユーザは、テレビジョン受像器111の電源をオンにする操作をするためにテレビジョン受像器111の付近を注視しているため、そのようなモデル領域62内のデータが変更されたことを見逃してしまう。
【0117】
このようなことでは、システムとモデルとの関連性を学習することができず、好ましくないと考えられる。そこで、システム領域61内に対してユーザが所定の操作をして、何らかの変更が生じたときには、少しの時間、例えば、ユーザがシステム領域61から、モデル領域62に視線を移すことが十分に行える時間が経過した後に、モデル領域62内の対応するデータが変更するようにしても良い。
【0118】
このようにすることで、ユーザに、システム領域61内に変更を加えると、その変更に対応するモデル領域62内のデータが変更されることを認識させやすくすることが可能となる。
【0119】
また、モデル領域62内の変更されたデータが一目でわかるように、変更されたデータに色をつけて表示されるようにしても良い。このように色をつけてデータが表示される場合について、図12を参照して説明する。
【0120】
図12は、モデル領域62を図示し、システム領域61内に変更が発生したことにより、モデル領域62内のデータ(2、20)のデータが変更されたときを示している。データ(2、20)は、他のデータと区別がつくように、他のデータとは異なる背景色で表示されている。他のデータと異なる背景色とすることで、変更されたデータを一目で認識させることができるようになる。
【0121】
変更前の背景色は、白色であるとする。変更されたデータの背景色は、白色以外の比較的目立つ色とされる。例えば、ここでは、黄色であるとする(図12では、白黒反転表示された例を示すが、背景色は黄色であるとして説明を続ける)。変更されたデータの背景色は、濃い黄色で表示される。そして、時間の経過とともに、徐々にその黄色の色が薄くなり、最終的には白色に戻る。このように、徐々に色が変更するようなアニメーションが行われて表示されるようにすることができる。
【0122】
さらに、データ(2、20)のマスに注目する。データ(2、20)のマス内の左上には、“0”という数字が小さく表示され、その“0”という数字の右側には、右方向の矢印が表示されている。そして、矢印の先に、“1”という数字がマスの中央部分に大きく表示されている。
【0123】
マスの左上に小さく表示される数字、この場合“0”という数字は、変更前の数字である。マスの中央に大きく表示される数字、この場合“1”という数字は、変更後の数字である。すなわち、ユーザは、データ(2、20)のマス内の数字を見ることで、データが0から1に変更されたことを読み取ることができる。この左上に小さく表示されている数字(変更前のデータの値)は、時間の経過とともに薄い表示になり、最終的には非表示とされる。
【0124】
このように、背景色を変更させることで、ユーザに、どのデータが変更されたのかを知らせることができる。そして、変更前の値と変更後の値を併記することで、ユーザは、データがどのように変更されたのかを知ることができる。このようなことがわかりやすい表示とすることで、学習効果を高めることが可能となる。
【0125】
なお、ここでは、システム領域61内に変更があったとき、その変更に対応するモデル領域62内のデータのマスの背景色が変更されたり、変更前後の値が表示されたりするとして説明した。モデル領域62内のデータがユーザにより変更されたとき、その変更されたデータのマスに対しても、同様に、背景色が変更されたり、変更前後の値が表示されたりするような表示が実行されるようにしても良い。
【0126】
また、処理領域63に記載されたプログラムが実行されることで、システム領域61やモデル領域62に変更が発生した場合にも、モデル領域62内のデータのマスに対して、背景色が変更されたり、変更前後の値が表示されたりするような表示が実行されるようにしても良い。
【0127】
さらに明確に、ユーザに変更箇所を認識させるような仕組みを設けても良い。例えば、図13乃至図15に示すように、変更箇所を矢印で表すといった表示が行われるようにしても良い。
【0128】
図13に示した住環境のセンシングシステムに関する画面において、矢印201は、モデル領域62内のデータ(0、30)が変更されたため、システム領域61内の扉110に変更が生じたときに表示される。矢印201の始点と終点には、円が表示され、変更箇所が明確になる表示がされている。すなわち、矢印201の始点の円は、モデル領域62内のデータ(0、30)のところに表示され、変更箇所のデータが、データ(0、30)であることを表している。
【0129】
また、矢印201の終点の円は、システム領域61の扉110のところに表示され、変更先が扉110であり、例えば、扉110が開くまたは閉じるといった変更があったことを表している。このように、モデル領域62内に変更があった場合、モデル領域62内の変更があったデータと、その変更によりシステム領域61内で変更があった場所とを矢印で結ぶことで、モデル領域62内のデータと、システム領域61内の該当する箇所との関係性を明確にユーザに認識させることが可能となる。
【0130】
図14に示した住環境のセンシングシステムに関する画面において、矢印202は、システム領域61内のテレビジョン受像機111に対して、所定の操作が行われたため、モデル領域62内のデータ(2、20)が変更されたときに表示される。この場合、矢印202の始点の円は、システム領域61のテレビジョン受像機111のところに表示され、変更基がテレビジョン受像機111であり、例えば、テレビジョン受像機111の電源がオンまたはオフにされたといった変更があったことを表している。
【0131】
また、矢印202の終点の円は、モデル領域62内のデータ(2、20)のところに表示され、変更先のデータが、データ(2、20)であることを表している。このように、システム領域61内に変更があった場合、システム領域61内の変更があった箇所と、その変更によりモデル領域62内で変更があったデータとを矢印で結ぶことで、システム領域61内で変更が実行された箇所と、モデル領域62内の該当するデータとの関係性を明確にユーザに認識させることが可能となる。
【0132】
図15に示した住環境のセンシングシステムに関する画面において、矢印203は、処理領域63に記載されているプログラムが実行されたため、モデル領域62内のデータ(0、00)が変更されたときに表示される。また、矢印204は、モデル領域62内のデータ(0、00)が変更されたため、システム領域61内の時刻101の時間が変更されときに表示される。
【0133】
この場合、矢印203の始点の円(点)は、処理領域63の実行されているプログラムのタグ(図15では、タグ181−1)のところに表示され、変更基が処理領域63のプログラムが実行されたことによるものであることを表している。なお図15に示した表示では、矢印204の始点には、円ではなく点である場合を示した。このように、円ではなく点であっても良く、変更の開始点がユーザに明確に認識されるような表示であればよい。
【0134】
また、矢印203の終点の円は、モデル領域62内のデータ(0、00)のところに表示され、変更先のデータが、データ(0、00)であることを表している。この場合、矢印203が表示されることで、処理領域63に記載され、実行されているプログラムは、モデル領域62内のデータ(0、00)のデータを変更するプログラムであることが読み取れる。
【0135】
矢印204は、モデル領域62内のデータ(0、00)が変更されたため、システム領域61内の時刻101の時間が変更されたときに表示される。矢印204の始点の円は、モデル領域62内のデータ(0、00)のところに表示され、変更箇所のデータが、データ(0、00)であることを表している。また、矢印204の終点の円は、システム領域61の時間101の時間の部分のところに表示され、変更先が時間であることを表している。
【0136】
このように、処理領域63内に記載されたプログラムが実行された場合、そのプログラムによりモデル領域62内の変更があったデータと矢印で結び、さらにモデル領域62内で変更があったデータと、その変更によりシステム領域61内で変更があった場所とを矢印で結ぶことで、処理領域63内のプログラム、モデル領域62内のデータ、およびシステム領域61のそれぞれの該当する箇所との関係性を明確にユーザに認識させることが可能となる。
【0137】
なお、表示される矢印は、アニメーションで表示されるようにしても良い。例えば、矢印が表示され、時間経過と共に色が薄くなるような表示や、矢印が、始点から徐々に伸びて目的の箇所(終点)に届き、一定時間経過後、始点から徐々に消えるような表示や、変更元から変更先へ出射されるような表示が行われるようにしても良い。またここでは、矢印として記述したが、変更元と変更先を線で結ぶような表示であっても良い。
【0138】
またこのような矢印の表示と、図12を参照して説明した、モデル領域62内の変更が加えられたデータのマスの背景色が変更される表示とを、同時に行うように構成することも可能であるし、どちらか一方のみが行われるように構成することも可能である。
【0139】
上記したように、本技術によれば、プログラミングなどの学習を効率良く行え、より深い学習が行えるようになる。
【0140】
このように、本技術においては、1画面に収まる規模の(部分的な)システムを教材とし、画面は、システム状態、モデル状態(データ構造+データ内容)、処理内容(アルゴリズム)を示す3つの表示領域を有するような画面とされている。画面内内のシステム状態や、モデル状態は、タッチやクリックといった所定の操作でその状態を変更できるように構成されている。
【0141】
そして、その変更に連動して関連するモデル状態やシステム状態が変更されるように構成されている。またタッチやクリックなどの所定の操作で、登録した処理が実行されるように構成されている。これらの対話的な操作を繰り返すことで、学習者は教材で提示したシステムのしくみを読み解く能力が養える。
【0142】
本技術によれば、対象となるシステムの状態と、コンピュータ内部でのデータ構造とそのデータ、データ処理のためのアルゴリズムを理解することができ、システムの仕組みを理解することが可能となる。
【0143】
また本技術を適用した教材で提示したシステムをベースとし、システムの拡張方法について議論することで、システム全体を理解したデザイン能力を養うことができる。
【0144】
また本技術を適用した教材は、「プログラミング言語の文法理解」程度であった学習目標を、「システム全体の仕組みの気付きと、継続的な学習へのインセンティブ付与」まで広げることができる。専門的な要素技術を深く学んでいなくても、システムの問題点や改良点について論理的に議論できる能力が養えるようになる。さらに、上記した住環境センシングシステムのような教材の場合、センサやアクチュエータといった、ハードウェアの技術要素も自然と理解できるようなることも期待でき、各要素技術への興味を高めることができ、効率的な学習が可能となる。
【0145】
なお、上記した実施の形態においては、1画面に、システム状態、モデル状態(データ構造+データ内容)、処理内容(アルゴリズム)を示す3つの表示領域を有する画面を例に挙げて説明した。1画面に3つの表示領域を設けるのではなく、2つの表示領域であっても良い。
【0146】
例えば、1画面に、システム状態を表示する領域(システム領域61)とモデル状態を表示する領域(モデル領域62)の2領域が表示されるようにしても良い。または1画面に、システム状態を表示する領域(システム領域61)と処理内容を表示する領域(処理領域63)の2領域が表示されるようにしても良い。
【0147】
上述した実施の形態においては、教材を体に上げて説明したが、本技術は、教材に適用範囲が限定されることを示すわけではない。本技術は、例えば、電子教材、eラーニング、教育用のプログラミング言語/ツール、ゲーム、エディタなどのツール類などにも適用できる。
【0148】
<記録媒体について>
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0149】
図2に示した端末13のCPU31が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア41に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0150】
コンピュータでは、プログラムは、リムーバブルメディア41をドライブ40に装着することにより、入出力インタフェース35を介して、記憶部38にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部39で受信し、記憶部38にインストールすることができる。その他、プログラムは、ROM32や記憶部38に、あらかじめインストールしておくことができる。
【0151】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0152】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0153】
11 ネットワーク, 12 サーバ, 13 端末, 61 システム領域, 62 モデル領域, 63 処理領域, 131 ダイアログボックス, 151 ダイアログボックス, 201乃至204 矢印
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15