(57)【要約】【課題】誤りを含むプログラムコードを間違い修正問題として学習者に提示することである。【解決手段】間違い修正問題提示装置１０は、編集履歴情報取得部１１と編集履歴情報分析部１３と問題配布部１６とを有する。編集履歴情報取得部１１は、学習装置２０から編集履歴情報を取得する。編集履歴情報分析部１３は、取得された上記編集履歴情報を分析する。問題配布部１６は、上記編集履歴情報分析部による分析の結果を、間違い修正問題として配布する。【選択図】図１
2020060698.tif 000002
【特許請求の範囲】
【請求項１】
編集履歴情報を取得する編集履歴情報取得部と、
取得された前記編集履歴情報を分析する編集履歴情報分析部と、
前記編集履歴情報分析部による分析の結果を、間違い修正問題として配布する問題配布部と
を有することを特徴とする問題提示装置。
【請求項２】
前記編集履歴情報取得部により取得された編集履歴情報を保管する編集履歴情報保管部を更に有することを特徴とする請求項１に記載の問題提示装置。
【請求項３】
前記編集履歴情報分析部による分析の結果を保管する分析結果保管部と、
前記分析の結果を表示する分析結果表示部と
を更に有することを特徴とする請求項１または２に記載の問題提示装置。
【請求項４】
前記編集履歴情報分析部は、前記編集履歴情報を用いて、完成版のプログラムと作成途中のプログラムとの差分を分析し、
前記問題配布部は、前記分析の結果を元に作成された問題を、配布要求に応じて配布することを特徴とする請求項１に記載の問題提示装置。
【請求項５】
前記編集履歴情報取得部は、学習装置から編集履歴情報を取得し、前記編集履歴情報保管部に保管させ、
前記編集履歴情報分析部は、前記編集履歴情報保管部に保管されている編集履歴情報を読み込み、該編集履歴情報を用いて、完成版のプログラムと作成途中のプログラムとの差分を分析することを特徴とする請求項２に記載の問題提示装置。
【請求項６】
前記編集履歴情報分析部は、前記分析の結果を、前記分析結果保管部に保管させ、
前記問題配布部は、問題の配布要求に応じて、前記分析結果保管部に保管されている分析結果を読み込み、前記問題を配布することを特徴とする請求項３に記載の問題提示装置。
【請求項７】
請求項１に記載の問題提示装置と、
学習時に、編集履歴情報を取得し、前記問題提示装置へ提供する学習装置と
を有することを特徴とする問題提示システム。
【請求項８】
問題提示装置が、
編集履歴情報を取得する編集履歴情報取得工程と、
取得された前記編集履歴情報を分析する編集履歴情報分析工程と、
前記編集履歴情報分析工程による分析の結果を、間違い修正問題として配布する問題配布工程と
を含むことを特徴とする問題提示方法。
【請求項９】
編集履歴情報を取得する編集履歴情報取得ステップと、
取得された前記編集履歴情報を分析する編集履歴情報分析ステップと、
前記編集履歴情報分析ステップによる分析の結果を、間違い修正問題として配布する問題配布ステップと
をコンピュータに実行させるための問題提示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、問題提示装置、問題提示システム、問題提示方法、及び問題提示プログラムに関する。
【背景技術】
【０００２】
近年、学習モデルは多様化し、ｅラーニングから、教場授業とｅラーニングとを併用するブレンディッドラーニングまで多岐にわたっている。この様な教育環境においては、弱点分析システム等のＬＭＳ（Learning  Management  System）が利用されることがある。ＬＭＳは、学習コンテンツの配信、試験の実施、採点等の様々な機能を有し、ＬＭＳを経由することで、学習者の学習活動に関する多くの履歴（操作ログ等）や記録（レポート、評価結果等）を収集することが可能となる。
【０００３】
例えば、非特許文献１には、学習時の編集履歴を参照可能とする学習システムの構築が記載されている。ところが、学習者の数が通常教室程度の人数であっても、学習履歴の粒度が高くなると、データ量は膨大となってしまう。そこで、例えば、非特許文献２では、プログラムを理解するためにはバージョン単位の履歴では不十分であり、どのように変更されてきたのかについて、ユーザの操作単位で記録を取ることの有効性が指摘されている。また、非特許文献３では、プログラミングの過程を詳細に把握するために、行やファイル単位ではなく、学習者の行動単位での履歴を記録している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】荒本道隆、小林学、中澤真、中野美知子、後藤正幸、平澤茂一、「編集履歴可視化システムを用いたLearning  Analytics〜システム構成と実装」、情報処理学会第78回全国大会予稿集、平成28年3月、pp.4-527-4-528
【非特許文献２】大森隆行、丸山勝久、「開発者による編集操作に基づくソースコード変更抽出」、情報処理学会論文誌、平成20年7月、Vol.49  No.7  pp.2349-2359
【非特許文献３】森一樹、田中昂文、橋浦弘明、櫨山淳雄、古宮誠一、「プログラミング演習支援のための細粒度履歴収集環境の開発」、情報処理学会研究報告、平成25年3月11日、Vol.2013-SE-179  No.16  pp.1-6
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した様に、プログラミングの学習履歴を蓄積し、学習者の学習状況を分析しようとする方法はいくつか提案されている。しかしながら、得られた学習履歴をどのように活用するかについては、応用性を述べるに留まっており、プログラムコードの編集履歴を参照し、授業支援のための情報を提示する研究は限定的である。従って、学習履歴から個々の学習者のプログラムの構文エラーを蓄積、抽出できたとしても、これらを活用して以降の授業に役立てるという提案は少なかった。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、誤りを含むプログラムコードを間違い修正問題として学習者に提示することができる問題提示装置、問題提示システム、問題提示方法、及び問題提示プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本願の開示する問題提示装置は、一つの態様において、編集履歴情報を取得する編集履歴情報取得部と、取得された前記編集履歴情報を分析する編集履歴情報分析部と、前記編集履歴情報分析部による分析の結果を、間違い修正問題として配布する問題配布部とを有する。
【０００８】
また、本願の開示する問題提示方法は、一つの態様において、問題提示装置が、編集履歴情報を取得する編集履歴情報取得工程と、取得された前記編集履歴情報を分析する編集履歴情報分析工程と、前記編集履歴情報分析工程による分析の結果を、間違い修正問題として配布する問題配布工程とを含む。
【０００９】
更に、本願の開示する問題提示プログラムは、一つの態様において、編集履歴情報を取得する編集履歴情報取得ステップと、取得された前記編集履歴情報を分析する編集履歴情報分析ステップと、前記編集履歴情報分析ステップによる分析の結果を、間違い修正問題として配布する問題配布ステップとをコンピュータに実行させる。
【発明の効果】
【００１０】
本願の開示する問題提示装置、問題提示システム、問題提示方法、及び問題提示プログラムは、誤りを含むプログラムコードを間違い修正問題として学習者に提示することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施例に係る間違い修正問題提示システムの構成の一例を示す図である。
【図２】図２は、本実施例に係る間違い修正問題提示システムを構成する各装置のハードウェア構成の一例を示す図である。
【図３】図３は、本実施例に係る間違い修正問題提示方法の編集履歴情報の取得処理手順の一例を示すフロー図である。
【図４】図４は、本実施例に係る編集履歴情報保管部が保管する編集履歴情報の一例を示す図である。
【図５】図５は、本実施例に係る間違い修正問題提示方法の編集履歴情報の分析処理手順の一例を示すフロー図である。
【図６】図６は、本実施例に係る間違い修正問題提示方法の分析結果の表示処理手順の一例を示すフロー図である。
【図７】図７は、本実施例に係る間違い修正問題提示方法の分析結果に基づく、間違い修正問題の配布処理手順の一例を示すフロー図である。
【図８】図８は、本実施例に係る間違い修正問題提示方法の差分分析処理手順の一例を示すフロー図である。
【図９】図９は、本実施例に係る間違い修正問題提示方法の頻度分析処理手順の一例を示すフロー図である。
【図１０】図１０は、本実施例に係る分析結果保管部が保管する分析結果の一例を示す図である。
【図１１】図１１は、本実施例に係る問題提示プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する問題提示装置、問題提示システム、問題提示方法、及び問題提示プログラムの実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示する問題提示装置、問題提示システム、問題提示方法、及び問題提示プログラムが限定されるものではない。
【００１３】
まず、本願の開示する一実施例に係る間違い修正問題提示装置１０の構成を説明する。図１は、本実施例に係る間違い修正問題提示システムの構成の一例を示す図である。図１に示す様に、間違い修正問題提示装置１０は、学習装置２０から編集履歴情報を取得し、間違い修正問題を抽出する。本実施例に係る間違い修正問題提示システムの最小構成としては、図１に例示する間違い修正問題提示装置１０のみとなるが、学習装置２０を更に構成に加えて、間違い修正問題提示システムとしてもよい。なお、これら各装置間は、ネットワークＮにより通信可能に接続されている。
【００１４】
学習時に、学習装置２０の編集履歴情報取得システム２１は、編集履歴情報を逐次取得する。間違い修正問題提示装置１０は、編集履歴情報取得部１１が編集履歴情報取得システム２１から取得した編集履歴情報を、その補助記憶装置に設けた編集履歴情報保管部１２に、格納させる。編集履歴情報分析部１３は、編集履歴情報保管部１２に保管された編集履歴情報を用いて差分分析及び頻度分析を行い、その分析結果を、上記補助記憶装置に設けた分析結果保管部１４に格納させる。分析結果表示部１５は、分析結果保管部１４に保管された分析結果を参照し、所定の形式で分析結果を表示する。問題配布部１６は、分析結果保管部１４に保管された分析結果を参照し、間違い修正問題を配布する。
【００１５】
続いて、本実施例に係る間違い修正問題提示システムを構成する各装置のハードウェア構成について説明する。装置は、間違い修正問題提示装置１０と学習装置２０とである。図２は、本実施例に係る間違い修正問題提示システムを構成する各装置のハードウェア構成の一例を示す図である。図２に示す様に、これら各装置３０はそれぞれ、ＣＰＵ（Central  Processing  Unit）３１と主記憶装置３２と補助記憶装置３３と通信装置３４と入出力装置３５と読取装置３６とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように、内部信号線３８により接続されている。
【００１６】
ＣＰＵ３１は、補助記憶装置３３に保持されるオペレーティングシステムやプログラムを主記憶装置３２に適宜読み出すなどして実行し、装置自体の統括制御を行うと共に各種判定、演算及び制御等の処理を行う。主記憶装置３２は、ＲＡＭ（Random  Access  Memory）等の揮発性記憶装置により構成される。補助記憶装置３３は、ハードディスクドライブ等の適宜な不揮発性記憶装置により構成される。通信装置３４は、ネットワークと接続し、他装置との通信処理を担う。入出力装置３５は、ユーザからの入力や処理データの表示を行う。読取装置３６は、記憶媒体３７に記憶されているデータを読み取り、内部信号線３８を介して、主記憶装置３２等へ出力する。
【００１７】
以下、本実施例における間違い修正問題提示方法の処理手順について、図面を参照しながら説明する。以下で説明する間違い修正問題提示方法に対応する各種動作は、間違い修正問題提示システムを構成する各装置がそれぞれ主記憶装置３２に読み出して実行するプログラム等によって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成される。
【００１８】
図３は、本実施例に係る間違い修正問題提示方法の編集履歴情報の取得処理手順の一例を示すフロー図である。図３に示す様に、間違い修正問題提示装置１０の編集履歴情報取得部１１は、学習装置２０の編集履歴情報取得システム２１から提供される編集履歴を取得し（Ｓ１）、補助記憶装置３３の編集履歴情報保管部１２に格納させる（Ｓ２）。
【００１９】
図４は、本実施例に係る編集履歴情報保管部１２が保管する編集履歴情報１２１の一例を示す図である。図４に示す様に、編集履歴情報１２１は、例えば、レッスン番号、ユーザ番号、問題番号、日時、ソースコード、エラー種別、完了フラグの各種情報が相互に対応付けて構成される。レッスン番号は、例えば“００１”であり、ユーザ番号は、例えば“ＩＤ００１”であり、問題番号は、例えば“ｑ００１”であり、日時は、例えば“2016/10/5  10:05:41”であり、ソースコードは、例えば“左記日時のソースコード”であり、エラー種別は、例えば“ビルドエラー”であり、完了フラグは、例えば“完了”である。
【００２０】
図５は、本実施例に係る間違い修正問題提示方法の編集履歴情報の分析処理手順の一例を示すフロー図である。図５に示す様に、間違い修正問題提示装置１０の編集履歴情報分析部１３は、補助記憶装置３３の編集履歴情報保管部１２に格納されている編集履歴情報１２１を読み込み（Ｓ１１）、各時点におけるソースコードの差分を分析し（Ｓ１２）、その差分の頻度を分析し（Ｓ１３）、分析結果を、補助記憶装置３３の分析結果保管部１４に格納させる（Ｓ１４）。
【００２１】
図６は、本実施例に係る間違い修正問題提示方法の分析結果の表示処理手順の一例を示すフロー図である。図６に示す様に、間違い修正問題提示装置１０の分析結果表示部１５は、教師等の外部からの分析結果の提供要求（表示要求）を受けると（Ｓ２１）、補助記憶装置３３の分析結果保管部１４に格納されている分析結果を読み込み（Ｓ２２）、分析結果を表示装置に表示させる（Ｓ２３）。
【００２２】
図７は、本実施例に係る間違い修正問題提示方法の分析結果に基づく、間違い修正問題の配布処理手順の一例を示すフロー図である。図７に示す様に、間違い修正問題提示装置１０の問題配布部１６は、教師等の外部からの間違い修正問題の配布要求を受けると（Ｓ３１）、補助記憶装置３３の分析結果保管部１４に格納されている分析結果を読み込み（Ｓ３２）、分析結果に基づいて生成された間違い修正問題を配布する（Ｓ３３）。
【００２３】
図８は、本実施例に係る間違い修正問題提示方法の差分分析処理手順の一例を示すフロー図である。Ｓ４１では、編集履歴情報分析部１３は、編集履歴情報保管部１２に格納されている編集履歴情報１２１を読み込み、編集履歴情報１２１を構成するレコード毎に、以下のＳ４２〜Ｓ４６の処理を繰り返す。すなわち、各レッスン番号、ユーザ番号、問題番号について、編集履歴の記録単位をループする。
【００２４】
Ｓ４２では、編集履歴情報分析部１３は、完了フラグが付いている編集履歴を特定する。例えば、図４に示す例では、２段目と最下段のレコードが特定される。Ｓ４３では、編集履歴情報分析部１３は、Ｓ４２で特定したレコードのレッスン番号とユーザ番号と問題番号とが同一のレコードについて、完了フラグが付いておらず、かつ、エラー種別が付いているレコード（編集履歴）について、以下のＳ４４〜Ｓ４６の処理を繰り返す（Ｓ４３）。
【００２５】
Ｓ４４では、編集履歴情報分析部１３は、上記レコード（編集履歴）のソースコードと、完了フラグが付いているレコード（編集履歴）のソースコードとの差分を取る。編集履歴情報分析部１３は、上記差分の箇所の数と各差分に含まれる文字数をカウントし（Ｓ４５）、差分分析結果として、主記憶装置３２に記録させる（Ｓ４６）。
【００２６】
図９は、本実施例に係る間違い修正問題提示方法の頻度分析処理手順の一例を示すフロー図である。Ｓ５１では、編集履歴情報分析部１３は、図８のＳ４６にて記録された差分分析結果のレコード毎に、以下のＳ５２〜Ｓ５４の処理を繰り返す。次に、編集履歴情報分析部１３は、上記Ｓ５１で注目しているレコード以外について（Ｓ５２）、同種のエラーを含むレコード（編集履歴）の数をカウントする（Ｓ５３）。ステップＳ５２の繰り返しが完了したら、編集履歴情報分析部１３は、上記カウントの結果を、頻度分析結果として、分析結果保管部１４に保管させる（Ｓ５４）。
【００２７】
図１０は、本実施例に係る分析結果保管部１４が保管する分析結果１４１の一例を示す図である。図１０に示す様に、上記Ｓ５４において保管される分析結果１４１は、レッスン番号と、問題番号と、差分箇所数と、差分文字数と、ソースコードと、頻度との各情報から構成される。例えば、間違い修正問題提示装置１０の問題配布部１６は、分析結果１４１を参照しながら、より頻度の高い問題（例えば、図１０の問題番号ID001の問題）ほど、優先的に出題される様に、問題を作成及び配布する。このとき、頻度が同じ値の場合には、例えば、問題配布部１６は、より差分箇所数または差分文字数が多い問題番号の問題を優先的に作成するようにしてもよい。これにより、プログラミング学習において学習者が間違い易い問題が多く出題されることになり、学習効率が向上する。
【００２８】
あるいは、問題配布部１６は、頻度、差分箇所数、及び差分文字数に対して適宜重み付けを付し、それらの値をパラメータとして組み合わせた数値（例えば、加算値、乗算値）を、間違い修正問題の出題優先度として用いてもよい。
【００２９】
なお、本実施例に係る間違い修正問題提示システムは、上述した態様に限らず、本願発明の趣旨を逸脱しない範囲内で、適宜変形可能である。例えば、頻度分析における同種のエラーの判定方法（図９のＳ５３）として、編集履歴情報分析部１３は、修正箇所の場所まで一致した場合に同種のエラーとみなす完全一致を採ることもできるが、部分一致を採るものとしてもよい。更に、部分一致を採る場合にも、編集履歴情報分析部１３は、差分の箇所数及び文字数とエラー種別とが何れも一致（場所の違いは問わない）した場合に同種のエラーとみなす第１の部分一致や、差分の箇所数とエラー種別とが一致（差分の文字数と場所の違いは問わない）した場合に同種のエラーとみなす第２の部分一致を採ることができる。あるいは、編集履歴情報分析部１３は、差分の文字数とエラー種別とが一致（差分の箇所数と場所の違いは問わない）した場合に同種のエラーとみなす第３の部分一致や、エラー種別が一致（差分の箇所数及び文字数と場所の違いは問わない）した場合に同種のエラーとみなす第４の部分一致を採用するものとしてもよい。
【００３０】
また、本実施例に係る間違い修正問題提示システムでは、編集履歴情報１２１（図４参照）、分析結果１４１（図１０参照）の何れについても、表形式の構造を有するものとして例示したが、編集履歴情報分析部１３は、少なくとも一方を、オペレーティングシステムのフォルダ機能を用いて木構造により表現することも可能である。更に、間違い修正問題提示装置１０は、その内部に、分析結果表示部１５と問題配布部１６とを備えるものとしたが、これらの構成部分を、別々のコンピュータシステムにより実現してもよい。これらの何れの態様によっても、修正問題提示システムは、編集履歴情報から間違い修正問題を作成し、配布することができる。
【００３１】
以上説明した様に、間違い修正問題提示装置１０は、編集履歴情報取得部１１と編集履歴情報分析部１２と問題配布部１６とを有する。編集履歴情報取得部１１は、編集履歴情報を取得する。編集履歴情報分析部１２は、取得された上記編集履歴情報を分析する。問題配布部１６は、上記編集履歴情報分析部による分析の結果を、間違い修正問題として配布する。また、間違い修正問題提示装置１０は、編集履歴情報取得部１１により取得された編集履歴情報を保管する編集履歴情報保管部１２を更に有するものとしてもよい。
【００３２】
更に、間違い修正問題提示装置１０は、編集履歴情報分析部１３による、編集履歴情報の分析の結果を保管する分析結果保管部１４と、上記分析の結果を表示する分析結果表示部１５とを更に有するものとしてもよい。また、間違い修正問題提示装置１０において、編集履歴情報分析部１３は、上記編集履歴情報を用いて、完成版のプログラムと作成途中のプログラムとの差分を分析し、問題配布部１６は、上記分析の結果を元に作成された問題を、配布要求に応じて配布するものとしてもよい。
【００３３】
間違い修正問題提示装置１０において、編集履歴情報取得部１１は、学習装置から編集履歴情報を取得し、編集履歴情報保管部１２に保管させ、編集履歴情報分析部１３は、編集履歴情報保管部１２に保管されている編集履歴情報を読み込み、該編集履歴情報を用いて、完成版のプログラムと作成途中のプログラムとの差分を分析するものとしてもよい。つまり、間違い修正問題提示装置１０は、編集履歴情報を途中で保管するものとしてもよい。
【００３４】
分析結果についても同様に、間違い修正問題提示装置１０において、編集履歴情報分析部１３は、上記分析の結果を、分析結果保管部１４に保管させ、問題配布部１６は、問題の配布要求に応じて、分析結果保管部１４に保管されている分析結果を読み込み、上記問題を配布するものとしてもよい。つまり、間違い修正問題提示装置１０は、分析結果を途中で保管するものとしてもよい。
【００３５】
問題提示システムは、上述した間違い修正問題提示装置１０と、学習時に、編集履歴情報を取得し、間違い修正問題提示装置１０へ提供する学習装置２０とを有する。
【００３６】
また、間違い修正問題提示装置１０において、編集履歴情報分析部１３は、補助記憶装置３３の編集履歴情報保管部１２に格納されている編集履歴情報を読み込み、編集履歴情報のレコード毎に、完了フラグが付いている編集履歴を特定し、該特定したレコードのレッスン番号とユーザ番号と問題番号とが同一のレコードについて、完了フラグが付いておらず、かつ、エラー種別が付いているレコードを対象として、完了フラグが付いているレコードのソースコードとの差分をとる。次いで、編集履歴情報分析部１３は、該差分の箇所の数と１つの差分に含まれる文字数とをカウントし、カウント結果を主記憶装置３２に記録し、該記録した差分分析結果のレコード毎に、該レコード以外のレコードについて、同種のエラーを含むレコードの数をカウントする。そして、編集履歴情報分析部１３は、分析結果１４１（図１０参照）を構成する全てのレコードについて繰り返しの処理が完了すると、補助記憶装置３３に分析結果を保管させる。
【００３７】
上述した様に、間違い修正問題提示装置１０は、プログラミングの学習履歴を参照して、プログラミング途中の誤りを含むプログラミング（例えば、プログラムコード）を抽出し、間違い修正問題として、学習者に提示する。具体的には、間違い修正問題提示装置１０は、学習者の学習の履歴（例えば、プログラミング学習におけるソースコードのエディット、コンパイル作業においてとられた履歴）を蓄積し、エラーの記録から、間違い修正問題（例えば、プログラミング時によく間違えるプログラムコードを学習者に修正させる問題）を学習者に提示する。これにより、学習者に対して、適切かつ迅速な問題提供が可能となり、プログラミング学習の効率化を図ることができる。
【００３８】
（問題提示プログラム）
図１１は、本実施例に係る問題提示プログラムによる情報処理がコンピュータ１００を用いて具体的に実現されることを示す図である。図１１に示す様に、コンピュータ１００は、例えば、メモリ１０１と、ＣＰＵ（Central  Processing  Unit）１０２と、ハードディスクドライブインタフェース１０３と、ディスクドライブインタフェース１０４と、シリアルポートインタフェース１０５と、ビデオアダプタ１０６と、ネットワークインタフェース１０７とを有し、これらの各部はバスＣによって接続される。
【００３９】
メモリ１０１は、図１１に示す様に、ＲＯＭ（Read  Only  Memory）１０１ａ及びＲＡＭ（Random  Access  Memory）１０１ｂを含む。ＲＯＭ１０１ａは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３は、図１１に示す様に、ハードディスクドライブ１０８に接続される。ディスクドライブインタフェース１０４は、図１１に示す様に、ディスクドライブ１０９に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０９に挿入される。シリアルポートインタフェース１０５は、図１１に示す様に、例えばマウス１１０、キーボード１１１に接続される。ビデオアダプタ１０６は、図１１に示す様に、例えばディスプレイ１１２に接続される。
【００４０】
ここで、図１１に示す様に、ハードディスクドライブ１０８は、例えば、ＯＳ（Operating  System）１０８ａ、アプリケーションプログラム１０８ｂ、プログラムモジュール１０８ｃ、プログラムデータ１０８ｄ、編集履歴情報１２１、分析結果１４１を記憶する。すなわち、開示の技術に係る問題提示プログラムは、コンピュータ１００によって実行される指令が記述されたプログラムモジュール１０８ｃとして、例えばハードディスクドライブ１０８に記憶される。具体的には、上記実施例で説明した編集履歴情報取得部１１、編集履歴情報分析部１３、分析結果表示部１５、問題配布部１６の各々と同様の情報処理を実行する各種手順が記述されたプログラムモジュール１０８ｃが、ハードディスクドライブ１０８に記憶される。また、問題提示プログラムによる情報処理に用いられるデータは、プログラムデータ１０８ｄとして、例えばハードディスクドライブ１０８に記憶される。そして、ＣＰＵ１０２が、ハードディスクドライブ１０８に記憶されたプログラムモジュール１０８ｃやプログラムデータ１０８ｄを必要に応じてＲＡＭ１０１ｂに読み出し、上記各種手順を実行する。
【００４１】
なお、問題提示プログラムに係るプログラムモジュール１０８ｃやプログラムデータ１０８ｄは、ハードディスクドライブ１０８に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１０９等を介してＣＰＵ１０２によって読み出されてもよい。あるいは、問題提示プログラムに係るプログラムモジュール１０８ｃやプログラムデータ１０８ｄは、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７を介してＣＰＵ１０２によって読み出されてもよい。
【００４２】
また、上述した間違い修正問題提示装置１０の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は、図示のものに限らず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、分析結果表示部１５と問題配布部１６を１つの構成要素として統合してもよい。反対に、編集履歴情報分析部１３に関し、各時点におけるソースコードの差分を分析する部分と、その差分の頻度を分析する部分とに分散してもよい。更に、編集履歴情報、分析結果、間違い修正問題を格納するハードディスクドライブ１０８を、間違い修正問題提示装置１０の外部装置として、ネットワークやケーブル経由で接続する様にしてもよい。
【符号の説明】
【００４３】
１０  間違い修正問題提示装置
１１  編集履歴情報取得部
１２  編集履歴情報保管部
１３  編集履歴情報分析部
１４  分析結果保管部
１５  分析結果表示部
１６  問題配布部
２０  学習装置
２１  編集履歴情報取得システム
３０  装置
３１  ＣＰＵ
３２  主記憶装置
３３  補助記憶装置
３４  通信装置
３５  入出力装置
３６  読取装置
３７  記憶媒体
３８  内部信号線
１００  コンピュータ
１０１  メモリ
１０１ａ  ＲＯＭ
１０１ｂ  ＲＡＭ
１０２  ＣＰＵ
１０３  ハードディスクドライブインタフェース
１０４  ディスクドライブインタフェース
１０５  シリアルポートインタフェース
１０６  ビデオアダプタ
１０７  ネットワークインタフェース
１０８  ハードディスクドライブ
１０８ａ  ＯＳ
１０８ｂ  アプリケーションプログラム
１０８ｃ  プログラムモジュール
１０８ｄ  プログラムデータ
１０９  ディスクドライブ
１１０  マウス
１１１  キーボード
１１２  ディスプレイ
１２１  編集履歴情報
１４１  分析結果
Ｃ  バス
Ｎ  ネットワーク
【図１】
2020060698.tif 000003
【図２】
2020060698.tif 000004
【図３】
2020060698.tif 000005
【図４】
2020060698.tif 000006
【図５】
2020060698.tif 000007
【図６】
2020060698.tif 000008
【図７】
2020060698.tif 000009
【図８】
2020060698.tif 000010
【図９】
2020060698.tif 000011
【図１０】
2020060698.tif 000012
【図１１】
2020060698.tif 000013