JP7057566B2 - Analytical system and analytical method - Google Patents

Analytical system and analytical method Download PDF

Info

Publication number
JP7057566B2
JP7057566B2 JP2018112359A JP2018112359A JP7057566B2 JP 7057566 B2 JP7057566 B2 JP 7057566B2 JP 2018112359 A JP2018112359 A JP 2018112359A JP 2018112359 A JP2018112359 A JP 2018112359A JP 7057566 B2 JP7057566 B2 JP 7057566B2
Authority
JP
Japan
Prior art keywords
analysis
learner
error
determination step
history information
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.)
Active
Application number
JP2018112359A
Other languages
Japanese (ja)
Other versions
JP2019215438A (en
Inventor
靖宏 藤原
安俊 井田
正幸 後藤
真 中澤
克之 梅澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Waseda University
Nippon Telegraph and Telephone Corp
Original Assignee
Waseda University
Nippon Telegraph and Telephone Corp
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 Waseda University, Nippon Telegraph and Telephone Corp filed Critical Waseda University
Priority to JP2018112359A priority Critical patent/JP7057566B2/en
Publication of JP2019215438A publication Critical patent/JP2019215438A/en
Application granted granted Critical
Publication of JP7057566B2 publication Critical patent/JP7057566B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、分析システム及び分析方法に関する。 The present invention relates to an analysis system and an analysis method.

近年、学習モデルは多様化し、eラーニングから、教場授業とeラーニングを併用するブレンディッドラーニングまで多岐にわたっている。このような教育環境においては、LMS(Learning Management System:学習支援システム)が利用される。 In recent years, learning models have diversified and range from e-learning to blended learning that combines classroom lessons and e-learning. In such an educational environment, LMS (Learning Management System) is used.

LMSは、学習コンテンツの配信や、試験の実施及び採点等の多様な機能を備えている。このLMSによれば、LMSを経由した学習者の学習活動に関する操作ログ等の様々な履歴や、レポートや評価結果等の記録を収集することが可能である。 The LMS has various functions such as distribution of learning contents, test implementation, and scoring. According to this LMS, it is possible to collect various histories such as operation logs related to the learner's learning activities via the LMS, and records such as reports and evaluation results.

例えば、学習者が学習時の編集履歴を参照可能とする技術(非特許文献1参照)が開示されている。また、生体情報として脳波を取得して、教材の難易度を判定する技術も開示されている(特許文献1参照)。 For example, a technique (see Non-Patent Document 1) that allows a learner to refer to an editing history at the time of learning is disclosed. Further, a technique of acquiring brain waves as biological information and determining the difficulty level of a teaching material is also disclosed (see Patent Document 1).

また、プログラミング学習者のプログラムの実行時のエラーメッセージを集計して学習者の弱点を分析する技術(非特許文献2参照)や、最終的な完成形のプログラムを構文解析し、正解プログラムとの差異を明らかにしようとする技術(非特許文献3参照)が開示されている。また、プログラムの作成過程の履歴を取得する環境の構築はしているものの、分析までには至らない報告(非特許文献4参照)や、手作業で分析する技術(非特許文献5参照)が開示されている。 In addition, a technique for aggregating error messages during execution of a programming learner's program and analyzing the learner's weaknesses (see Non-Patent Document 2), and parsing the final completed program to form a correct answer program. A technique for clarifying a difference (see Non-Patent Document 3) is disclosed. In addition, although we have built an environment to acquire the history of the program creation process, there are reports that do not lead to analysis (see Non-Patent Document 4) and techniques for manual analysis (see Non-Patent Document 5). It has been disclosed.

米国特許出願公開第2006/0147007号明細書U.S. Patent Application Publication No. 2006/0147007

荒本道隆,小林学,中澤真,中野美知子,後藤正幸,平澤茂一,“編集履歴可視化システムを用いたLearning Analytics~システム構成と実装”,情報処理学会第78回全国大会予稿集,pp.4-527-4-528,横浜,(2016.3).Michitaka Aramoto, Manabu Kobayashi, Makoto Nakazawa, Michiko Nakano, Masayuki Goto, Shigeichi Hirasawa, "Learning Analytics Using Editing History Visualization System-System Configuration and Implementation", IPSJ 78th National Convention Proceedings, pp.4- 527-4-528, Yokohama, (2016.3). Toshiyasu Kato, Yasushi Kambayashi and Yasushi Kodama,“Data Mining of Students’ Behaviors in Programming Exercises”, Smart Education and e-Learning 2016, pp.121-133, 2016Toshiyasu Kato, Yasushi Kambayashi and Yasushi Kodama, “Data Mining of Students ’Behaviors in Programming Exercises”, Smart Education and e-Learning 2016, pp.121-133, 2016 間嶋義喜,大賀賢志,竹内和広,“機能に基づくプログラム構造比較に向けた類似度の策定”,情報処理学会研究報告,CE 138 No.12, pp.1-6, 2017Yoshiki Majima, Kenji Oga, Kazuhiro Takeuchi, "Development of Similarity for Function-Based Program Structure Comparison", IPSJ Research Report, CE 138 No.12, pp.1-6, 2017 森一樹,田中昂文,橋浦弘明,櫨山淳雄,古宮誠一,“プログラミング演習支援のための細粒度履歴収集環境の開発”,情報処理学会研究報告, SE 179 No.16, pp.1-6, 2013Kazuki Mori, Takafumi Tanaka, Hiroaki Hashiura, Atsuo Hashiyama, Seiichi Komiya, "Development of Fine Particle History Collection Environment to Support Programming Exercises", IPSJ Research Report, SE 179 No.16, pp.1-6, 2013 長慎也,長島和平,間辺広樹,兼宗進,並木美太郎,“初学者向けプログラミング授業における活動ログの評価支援機能”,情報処理学会研究報告, CE 138 No.4, pp.1-8, 2017Shinya Naga, Kazuhei Nagashima, Hiroki Manabe, Susumu Kanemune, Mitaro Namiki, "Activity Log Evaluation Support Function in Programming Classes for Beginners", IPSJ Research Report, CE 138 No.4, pp.1-8, 2017

しかしながら、従来の技術では、正解プログラムとの比較をする必要や、分析の際に大量のバックトラッキングを行う必要があり、効率的ではなかった。また、従来の技術では、プログラム作成過程での学習者のつまずきや理解不足の要因などの学習者の弱点を、自動的に分析するまでには至っていない。 However, the conventional technique is not efficient because it requires comparison with the correct answer program and a large amount of backtracking during analysis. Moreover, the conventional technique has not yet automatically analyzed the weaknesses of the learner such as the learner's stumbling block and the cause of lack of understanding in the process of creating the program.

本発明は、上記に鑑みてなされたものであって、プログラミング学習時の学習者の弱点を分析できる分析システム及び分析方法を提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide an analysis system and an analysis method capable of analyzing a learner's weaknesses during programming learning.

上述した課題を解決し、目的を達成するために、本発明に係る分析システムは、学習者によるプログラムの作成過程における編集履歴情報と、学習者の脳波の状態を示す脳波情報を取得する取得部と、編集履歴情報と脳波情報とに基づいて、プログラムの各構成要素に対する学習者の弱点を分析する分析部と、分析部による分析結果を構成情報分析結果として出力する出力部と、を有することを特徴とする。 In order to solve the above-mentioned problems and achieve the object, the analysis system according to the present invention is an acquisition unit that acquires edit history information in the process of creating a program by a learner and brain wave information indicating the state of the learner's brain wave. It has an analysis unit that analyzes the weaknesses of the learner for each component of the program based on the editing history information and the brain wave information, and an output unit that outputs the analysis result by the analysis unit as the composition information analysis result. It is characterized by.

また、本発明に係る分析システムは、学習者によるプログラムの作成過程における編集履歴情報と、学習者の脳波の状態を示す脳波情報を取得する取得部と、編集履歴情報と脳波情報とに基づいて、プログラムのブロック構造に関する学習者の弱点を分析する分析部と、分析部による分析結果をブロック構造試行錯誤分析結果として出力する出力部と、を有することを特徴とする。 Further, the analysis system according to the present invention is based on the edit history information in the process of creating a program by the learner, the acquisition unit for acquiring the brain wave information indicating the state of the learner's brain wave, and the edit history information and the brain wave information. It is characterized by having an analysis unit that analyzes the weaknesses of the learner regarding the block structure of the program, and an output unit that outputs the analysis result by the analysis unit as the block structure trial and error analysis result.

また、本発明に係る分析システムは、学習者によるプログラムの作成過程における編集履歴情報を取得する取得部と、編集履歴情報に基づいて、プログラムのエラーに関する学習者の弱点を、エラーの種別ごとに分析する分析部と、分析部による分析結果をエラー分析結果として出力する出力部と、を有することを特徴とする。 In addition, the analysis system according to the present invention has an acquisition unit that acquires edit history information in the process of creating a program by the learner, and based on the edit history information, the learner's weaknesses regarding program errors are determined for each error type. It is characterized by having an analysis unit for analysis and an output unit for outputting the analysis result by the analysis unit as an error analysis result.

本発明によれば、プログラミング学習時の学習者の弱点を分析できる。 According to the present invention, the weaknesses of the learner during programming learning can be analyzed.

図1は、実施の形態における分析システムの構成の一例を示す図である。FIG. 1 is a diagram showing an example of a configuration of an analysis system according to an embodiment. 図2は、編集履歴情報のデータ構成の一例を示す図である。FIG. 2 is a diagram showing an example of a data structure of edit history information. 図3は、脳波情報のデータ構成の一例を示す図である。FIG. 3 is a diagram showing an example of a data structure of electroencephalogram information. 図4は、個別構成要素分析結果のデータ構成の一例を示す図である。FIG. 4 is a diagram showing an example of the data structure of the individual component analysis result. 図5は、構成要素分析結果のデータ構成の一例を示す図である。FIG. 5 is a diagram showing an example of the data structure of the component analysis result. 図6は、ブロック構造試行錯誤分析結果のデータ構成の一例を示す図である。FIG. 6 is a diagram showing an example of the data structure of the block structure trial and error analysis result. 図7は、エラー分析結果のデータ構成の一例を示す図である。FIG. 7 is a diagram showing an example of the data structure of the error analysis result. 図8は、編集履歴取得処理の処理手順例を示すシーケンス図である。FIG. 8 is a sequence diagram showing an example of the processing procedure of the edit history acquisition process. 図9は、脳波情報取得処理の処理手順を示すシーケンス図である。FIG. 9 is a sequence diagram showing a processing procedure of brain wave information acquisition processing. 図10は、構成要素分析処理の処理手順を示すシーケンス図である。FIG. 10 is a sequence diagram showing a processing procedure of the component analysis process. 図11は、ブロック構造試行錯誤分析処理の処理手順を示すシーケンス図である。FIG. 11 is a sequence diagram showing a processing procedure of the block structure trial and error analysis process. 図12は、エラー分析処理の処理手順を示すシーケンス図である。FIG. 12 is a sequence diagram showing a processing procedure of error analysis processing. 図13は、分析結果出力処理の処理手順を示すシーケンス図である。FIG. 13 is a sequence diagram showing a processing procedure of analysis result output processing. 図14は、図10に示す構成要素分析処理の処理手順を示すフローチャートである。FIG. 14 is a flowchart showing a processing procedure of the component analysis process shown in FIG. 図15は、図14に示す構成要素種別分析処理の処理手順を示すフローチャートである。FIG. 15 is a flowchart showing a processing procedure of the component type analysis process shown in FIG. 図16は、図15に示すブロック構造判定処理の処理手順を示すフローチャートである。FIG. 16 is a flowchart showing a processing procedure of the block structure determination process shown in FIG. 図17は、図15に示す条件分岐条件式要素判定処理の処理手順を示すフローチャートである。FIG. 17 is a flowchart showing a processing procedure of the conditional branch conditional element determination process shown in FIG. 図18は、図15に示す条件分岐ブロック判定処理の処理手順を示すフローチャートである。FIG. 18 is a flowchart showing a processing procedure of the conditional branch block determination process shown in FIG. 図19は、図15に示す演算要素判定処理の処理手順を示すフローチャートである。FIG. 19 is a flowchart showing a processing procedure of the arithmetic element determination process shown in FIG. 図20は、図15に示す識別子要素判定処理の処理手順を示すフローチャートである。FIG. 20 is a flowchart showing a processing procedure of the identifier element determination process shown in FIG. 図21は、図14に示す情動状態分析処理の処理手順を示すフローチャートである。FIG. 21 is a flowchart showing a processing procedure of the emotional state analysis process shown in FIG. 図22は、図11に示すブロック構造試行錯誤分析処理の処理手順を示すフローチャートである。FIG. 22 is a flowchart showing a processing procedure of the block structure trial and error analysis process shown in FIG. 図23は、図12に示すエラー分析処理の処理手順を示すフローチャートである。FIG. 23 is a flowchart showing a processing procedure of the error analysis process shown in FIG. 図24は、プログラムが実行されることにより、学習装置及び分析装置が実現されるコンピュータの一例を示す図である。FIG. 24 is a diagram showing an example of a computer in which a learning device and an analysis device are realized by executing a program.

以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to this embodiment. Further, in the description of the drawings, the same parts are indicated by the same reference numerals.

[実施の形態]
[分析システムの構成]
本発明の実施の形態について説明する。図1は、実施の形態における分析システムの構成の一例を示す図である。図1に示すように、実施の形態に係る分析システム1は、学習装置20と分析装置30とがネットワーク90を介して接続された構成を有する。
[Embodiment]
[Analysis system configuration]
An embodiment of the present invention will be described. FIG. 1 is a diagram showing an example of a configuration of an analysis system according to an embodiment. As shown in FIG. 1, the analysis system 1 according to the embodiment has a configuration in which the learning device 20 and the analysis device 30 are connected via a network 90.

学習装置20は、プログラミング学習時の学習者によるプログラム作成過程の編集履歴に関する編集履歴情報を取得する。また、学習装置20は、プログラミング学習時の学習者の脳波の状態を示す脳波情報を取得する。 The learning device 20 acquires the editing history information regarding the editing history of the program creation process by the learner at the time of programming learning. Further, the learning device 20 acquires brain wave information indicating the state of the learner's brain wave at the time of programming learning.

分析装置30は、学習装置20から編集履歴情報、脳波情報を取得する。分析装置30は、取得したこれらの情報に基づいて、構成要素分析、ブロック構造試行錯誤分析、エラー分析を行い、プログラミング学習者の弱点を分析する。そして、分析装置30は、分析結果を学習者等に提供することによって、学習者の効率的な学習を支援する。 The analyzer 30 acquires edit history information and brain wave information from the learning device 20. Based on these acquired information, the analyzer 30 performs component analysis, block structure trial and error analysis, and error analysis, and analyzes the weaknesses of the programming learner. Then, the analyzer 30 supports the learner's efficient learning by providing the analysis result to the learner or the like.

[学習装置の構成]
次に、学習装置20の構成について説明する。学習装置20は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。図1に示すように、学習装置20は、編集履歴情報取得部21及び脳波情報取得部22を有する。
[Configuration of learning device]
Next, the configuration of the learning device 20 will be described. In the learning device 20, for example, a predetermined program is read into a computer or the like including a ROM (Read Only Memory), a RAM (Random Access Memory), a CPU (Central Processing Unit), and the CPU executes the predetermined program. It is realized by. As shown in FIG. 1, the learning device 20 has an edit history information acquisition unit 21 and an electroencephalogram information acquisition unit 22.

編集履歴情報取得部21は、学習者によるプログラムの作成過程における編集履歴情報を取得する。編集履歴情報は、学習者によるプログラムへの入力状況の履歴である。 The edit history information acquisition unit 21 acquires edit history information in the process of creating a program by the learner. The edit history information is a history of input status to the program by the learner.

脳波情報取得部22は、学習者の脳波の状態を示す脳波情報を取得する。脳波情報には、例えば、α波、β波等の強度が含まれる。また、脳波情報には、脳波のパターン等から導出される脳波集中度や脳波熟考度が含まれる。 The electroencephalogram information acquisition unit 22 acquires electroencephalogram information indicating the state of the learner's electroencephalogram. The electroencephalogram information includes, for example, the intensity of α wave, β wave, and the like. In addition, the electroencephalogram information includes the electroencephalogram concentration degree and the electroencephalogram contemplation degree derived from the electroencephalogram pattern and the like.

[分析装置の構成]
次に、分析装置30の構成について説明する。分析装置30は、例えば、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。図1に示すように、分析装置30は、取得部301、編集履歴情報記憶部33、脳波情報記憶部34、分析部302、構成要素分析結果記憶部38、ブロック構造試行錯誤分析結果記憶部39、エラー分析結果記憶部40及び分析結果出力部41を有する。
[Analyzer configuration]
Next, the configuration of the analyzer 30 will be described. The analyzer 30 is realized by reading a predetermined program into, for example, a computer including a ROM, RAM, a CPU, etc., and the CPU executing the predetermined program. As shown in FIG. 1, the analyzer 30 includes an acquisition unit 301, an edit history information storage unit 33, a brain wave information storage unit 34, an analysis unit 302, a component analysis result storage unit 38, and a block structure trial and error analysis result storage unit 39. It has an error analysis result storage unit 40 and an analysis result output unit 41.

取得部301は、学習装置20から、編集履歴情報と脳波情報とを取得する。取得部301は、編集履歴情報取得部31及び脳波情報取得部32を有する。編集履歴情報取得部31は、学習装置20の編集履歴情報取得部21から編集履歴情報を取得して編集履歴情報記憶部33に格納する。脳波情報取得部32は、学習装置20の脳波情報取得部22から脳波情報341を取得して脳波情報記憶部34に格納する。 The acquisition unit 301 acquires edit history information and brain wave information from the learning device 20. The acquisition unit 301 has an edit history information acquisition unit 31 and an electroencephalogram information acquisition unit 32. The edit history information acquisition unit 31 acquires edit history information from the edit history information acquisition unit 21 of the learning device 20 and stores it in the edit history information storage unit 33. The electroencephalogram information acquisition unit 32 acquires the electroencephalogram information 341 from the electroencephalogram information acquisition unit 22 of the learning device 20 and stores it in the electroencephalogram information storage unit 34.

編集履歴情報記憶部33は、編集履歴情報を記憶する。図2は、編集履歴情報のデータ構成の一例を示す図である。図2に示すように、編集履歴情報331は、ユーザID、日時、編集状況の情報の項目を有する。ユーザIDは、学習者を識別する識別情報である。編集状況は、プログラムのどの位置にどのような文字が入力されたのか、或いは、削除されたのかを示す情報である。なお、編集履歴情報331は、編集作業中の各時点の全情報を含んでもよい。また、編集履歴情報331は、差分情報でもよい。また、編集履歴情報331は、編集状況には、プログラムのビルド時と実行時とのエラーの種別情報も含む。 The edit history information storage unit 33 stores the edit history information. FIG. 2 is a diagram showing an example of a data structure of edit history information. As shown in FIG. 2, the edit history information 331 has items of user ID, date and time, and edit status information. The user ID is identification information that identifies the learner. The editing status is information indicating what kind of character was input or deleted at which position in the program. The editing history information 331 may include all the information at each time point during the editing work. Further, the edit history information 331 may be difference information. Further, the edit history information 331 also includes error type information at the time of building and at the time of execution of the program in the editing status.

ここで、図2には、例えば、ユーザID「001」の学習者により、2016年10月5日10時05分41秒に、位置10に「f」が追加された編集が行われたことが例示されている。 Here, in FIG. 2, for example, the learner with the user ID “001” made an edit in which “f” was added to the position 10 at 10:05:41 on October 5, 2016. Is illustrated.

脳波情報記憶部34は、脳波情報を記憶する。図3は、脳波情報のデータ構成の一例を示す図である。図3に示すように、脳波情報341は、ユーザID、日時、α波の値、β波の値、γ波の値、δ波の値、θ波の値、脳波集中度、脳波熟考度の項目を有する。ここで、日時は、脳波情報が収集された日及び時刻を表す。α波、β波、γ波、δ波、及びθ波は、脳波の各成分の強度を表す。脳波集中度及び脳波熟考度は、脳波のパターン等により導出される学習者の教材の学習に対する集中度及び熟考度を表す。図3には、例えば、ユーザID「ID001」の学習者について、2016年10月5日10時5分41秒には、脳波集中度80、脳波熟考度25であったことが例示されている。 The electroencephalogram information storage unit 34 stores the electroencephalogram information. FIG. 3 is a diagram showing an example of a data structure of electroencephalogram information. As shown in FIG. 3, the brain wave information 341 includes a user ID, a date and time, an α wave value, a β wave value, a γ wave value, a δ wave value, a θ wave value, a brain wave concentration degree, and a brain wave contemplation degree. Has an item. Here, the date and time represent the day and time when the electroencephalogram information was collected. The α wave, β wave, γ wave, δ wave, and θ wave represent the intensity of each component of the brain wave. The electroencephalogram concentration and the electroencephalogram pondering degree represent the concentration and the pondering degree of the learner's teaching materials derived from the electroencephalogram pattern and the like. FIG. 3 illustrates, for example, that the learner with the user ID “ID001” had an electroencephalogram concentration level of 80 and an electroencephalogram contemplation level of 25 at 10:05:41 on October 5, 2016. ..

分析部302は、編集履歴情報及び脳波情報に基づいて、構成要素分析、ブロック構造試行錯誤分析、エラー分析を行い、プログラミング学習者の弱点を分析する。分析部302は、構成要素分析部35、ブロック構造試行錯誤分析部36及びエラー分析部37を有する。 The analysis unit 302 performs component analysis, block structure trial and error analysis, and error analysis based on the edit history information and the brain wave information, and analyzes the weaknesses of the programming learner. The analysis unit 302 has a component analysis unit 35, a block structure trial and error analysis unit 36, and an error analysis unit 37.

構成要素分析部35は、編集履歴情報と脳波情報とに基づいて、プログラムの各構成要素に対する学習者の弱点を分析し、分析結果を構成情報分析結果として構成要素分析結果記憶部38に格納する。構成要素分析部35は、プログラミング言語の構成要素別に学習者の弱点の分析を行う。 The component analysis unit 35 analyzes the learner's weaknesses with respect to each component of the program based on the edit history information and the brain wave information, and stores the analysis result as the component information analysis result in the component analysis result storage unit 38. .. The component analysis unit 35 analyzes the weaknesses of the learner for each component of the programming language.

まず、構成要素分析部35は、編集履歴情報を用いて、該編集履歴情報のすべてのレコードについて、構成要素種別を分析し、特定する。そして、構成要素分析部35は、特定された構成要素種別の開始時間及び終了時間から編集時間を算出する。続いて、構成要素分析部35は、脳波情報を用いて、開始時間及び終了時間の間の情動状態を分析する。 First, the component analysis unit 35 analyzes and specifies the component type for all the records of the edit history information using the edit history information. Then, the component analysis unit 35 calculates the editing time from the start time and the end time of the specified component type. Subsequently, the component analysis unit 35 analyzes the emotional state during the start time and the end time by using the brain wave information.

そして、構成要素分析部35は、編集履歴情報のすべてのレコードにおける構成要素種別、編集時間及び情動状態を基に、構成要素種別ごとの総編集時間と平均情動状態とを算出する。構成要素分析部35は、各構成要素種別について総編集時間が所定時間より長いか否かを判定する。この所定時間は、予め設定された時間である。 Then, the component analysis unit 35 calculates the total editing time and the average emotional state for each component type based on the component type, the editing time, and the emotional state in all the records of the editing history information. The component analysis unit 35 determines whether or not the total editing time is longer than the predetermined time for each component type. This predetermined time is a preset time.

構成要素分析部35は、総編集時間が所定時間より長いと判定した構成要素種別は、学習者にとっての弱点であると判定する。構成要素分析部35は、総編集時間が所定時間以下であると判定した構成要素種別について、平均情動状態が「困難」であるか否かを判定する。構成要素分析部35は、平均情動状態が「困難」であると判定した構成要素種別は、学習者にとっての弱点であると判定する。構成要素分析部35は、平均情動状態が「困難」でないと判定した構成要素種別は、学習者にとっての弱点ではないと判定する。このように、構成要素分析部35は、構成要素種別ごとに、学習者の弱点であるか否かを分析する。 The component analysis unit 35 determines that the component type determined that the total editing time is longer than the predetermined time is a weak point for the learner. The component analysis unit 35 determines whether or not the average emotional state is "difficult" for the component types that are determined to have a total editing time of a predetermined time or less. The component analysis unit 35 determines that the component type determined that the average emotional state is "difficult" is a weak point for the learner. The component analysis unit 35 determines that the component type determined that the average emotional state is not "difficult" is not a weak point for the learner. In this way, the component analysis unit 35 analyzes whether or not the learner is a weak point for each component type.

ブロック構造試行錯誤分析部36は、編集履歴情報と脳波情報とに基づいて、プログラムのブロック構造に関する学習者の弱点を分析し、分析結果をブロック構造試行錯誤分析結果としてブロック構造試行錯誤分析結果記憶部39に格納する。ブロック構造試行錯誤分析部36は、プログラミング言語のブロック構造の生成及び削除の頻度分析を行う。 The block structure trial / error analysis unit 36 analyzes the weaknesses of the learner regarding the block structure of the program based on the edit history information and the brain wave information, and stores the analysis result as the block structure trial / error analysis result. Store in unit 39. The block structure trial and error analysis unit 36 analyzes the frequency of generation and deletion of the block structure of the programming language.

具体的には、まず、ブロック構造試行錯誤分析部36は、編集履歴情報を基に、編集履歴情報のすべてのレコードに対して、判定対象の編集履歴が中括弧の入力或いは削除であるか否かを判定する。ブロック構造試行錯誤分析部36は、判定対象の編集履歴が中括弧の入力或いは削除であると判定した場合、その中括弧がプログラムの先頭から何番目の中括弧であるかを算出する。 Specifically, first, the block structure trial and error analysis unit 36 determines whether or not the edit history to be determined is input or deletion of curly braces for all the records of the edit history information based on the edit history information. Is determined. When the block structure trial and error analysis unit 36 determines that the editing history of the determination target is the input or deletion of the curly braces, the block structure trial and error analysis unit 36 calculates the number of the curly braces from the beginning of the program.

そして、ブロック構造試行錯誤分析部36は、判定対象の編集履歴が中括弧の削除であるか否かを判定する。ブロック構造試行錯誤分析部36は、判定対象の編集履歴が中括弧の削除であると判定した場合、その中括弧が入力されてから削除されるまでの時間を算出する。 Then, the block structure trial and error analysis unit 36 determines whether or not the editing history of the determination target is the deletion of the curly braces. When the block structure trial and error analysis unit 36 determines that the editing history of the determination target is the deletion of the curly braces, the block structure trial and error analysis unit 36 calculates the time from the input of the curly braces to the deletion of the curly braces.

そして、ブロック構造試行錯誤分析部36は、脳波情報を用いて、編集履歴情報のすべてのレコードについて情動状態を分析する。 Then, the block structure trial and error analysis unit 36 analyzes the emotional state of all the records of the editing history information using the brain wave information.

続いて、ブロック構造試行錯誤分析部36は、編集履歴情報のすべてのレコードに対して、判定対象の編集履歴が中括弧の入力或いは削除であるか否かの判定、編集履歴が中括弧の入力或いは削除であるか否かの判定、及び、情動状態分析処理を行った後に、すべてのブロック構造の作成から削除までの総編集時間を算出する。そして、ブロック構造試行錯誤分析部36は、すべてのブロック構造の作成から削除までの平均情動状態を算出する。続いて、ブロック構造試行錯誤分析部36は、ブロック構造の総編集時間が所定時間より長いか否かを判定する。 Subsequently, the block structure trial and error analysis unit 36 determines whether or not the edit history of the determination target is input or deletion of the curly braces for all the records of the edit history information, and the edit history is the input of the curly braces. Alternatively, the total editing time from the creation of all block structures to the deletion is calculated after determining whether or not the block structure is deleted and performing the emotional state analysis process. Then, the block structure trial and error analysis unit 36 calculates the average emotional state from the creation to the deletion of all the block structures. Subsequently, the block structure trial and error analysis unit 36 determines whether or not the total editing time of the block structure is longer than the predetermined time.

ブロック構造試行錯誤分析部36は、ブロック構造の総編集時間が所定時間より長いと判定した場合、学習者はブロック構造が理解できていないと判定する。また、ブロック構造試行錯誤分析部36は、ブロック構造の総編集時間が所定時間以下であると判定した場合、平均情動状態が「困難」であるか否かを判定する。 When the block structure trial and error analysis unit 36 determines that the total editing time of the block structure is longer than a predetermined time, the learner determines that the block structure cannot be understood. Further, when the block structure trial and error analysis unit 36 determines that the total editing time of the block structure is equal to or less than a predetermined time, the block structure trial and error analysis unit 36 determines whether or not the average emotional state is “difficult”.

ブロック構造試行錯誤分析部36は、平均情動状態「困難」であると判定した場合、学習者はブロック構造を理解できていないと判定する。一方、ブロック構造試行錯誤分析部36は、平均情動状態が「困難」でない判定した場合、学習者はブロック構造を理解できていると判定する。このように、ブロック構造試行錯誤分析部36は、プログラムのブロック構造に関する学習者の弱点を分析する。 When the block structure trial and error analysis unit 36 determines that the average emotional state is "difficult", the learner determines that the block structure cannot be understood. On the other hand, when the block structure trial and error analysis unit 36 determines that the average emotional state is not "difficult", the learner determines that the block structure can be understood. In this way, the block structure trial and error analysis unit 36 analyzes the learner's weaknesses regarding the block structure of the program.

エラー分析部37は、編集履歴情報に基づいて、プログラムのエラーに関する学習者の弱点を、エラーの種別ごとに分析し、分析結果をエラー分析結果としてエラー分析結果記憶部40に格納する。エラー分析部37は、プログラミング言語の作成時及び実行時のエラーの分析を行う。 The error analysis unit 37 analyzes the weaknesses of the learner regarding the error of the program for each type of error based on the edit history information, and stores the analysis result as the error analysis result in the error analysis result storage unit 40. The error analysis unit 37 analyzes errors at the time of creating and executing a programming language.

具体的には、まず、エラー分析部37は、編集履歴情報を用いて、編集履歴情報のエラーをエラー種別ごとにカウントする。そして、エラー分析部37は、カウントしたエラーについて、一定時間内に同じエラーが繰り返しているか否かをエラー種別ごとに判定する。 Specifically, first, the error analysis unit 37 uses the edit history information to count the errors in the edit history information for each error type. Then, the error analysis unit 37 determines whether or not the same error is repeated within a certain period of time for each error type.

エラー分析部37は、同じエラーが繰り返していると判定されたエラー種別に関し、学習者はエラーの意味が理解できていないと判定する。また、エラー分析部37は、同じエラーが繰り返されていないと判定されたエラー種別について、特定のエラーの頻度が予め設定された閾値を越えたか否かを判定する。エラー分析部37は、特定のエラーの頻度が予め設定された閾値を越えたと判定したエラー種別について、学習者は該当エラーのケアレスミスが多いと判定する。また、エラー分析部37は、特定のエラーの頻度が予め設定された閾値を越えていないと判定したエラー種別について、学習者は、このエラー種別のエラーに関しては通常の理解度であると判定する。 The error analysis unit 37 determines that the learner does not understand the meaning of the error with respect to the error type determined that the same error is repeated. Further, the error analysis unit 37 determines whether or not the frequency of a specific error exceeds a preset threshold value for the error type determined that the same error is not repeated. The error analysis unit 37 determines that the learner has many careless mistakes for the error type for which it is determined that the frequency of a specific error exceeds a preset threshold value. Further, the error analysis unit 37 determines that the error type for which the frequency of a specific error does not exceed a preset threshold value is a normal understanding level for the error of this error type. ..

構成要素分析結果記憶部38は、構成要素分析部35による分析結果を記憶する。具体的には、構成要素分析結果記憶部38は、個別構成要素分析結果と構成要素分析結果とを記憶する。 The component analysis result storage unit 38 stores the analysis result by the component analysis unit 35. Specifically, the component analysis result storage unit 38 stores the individual component analysis result and the component analysis result.

図4は、個別構成要素分析結果のデータ構成の一例を示す図である。図4に示すように、個別構成要素分析結果380は、ユーザID、構成要素種別、編集時間及び情動状態の項目を有する。構成要素種別は、編集履歴情報を基に構成要素分析部35によって分析された編集履歴情報の構成要素の種別である。編集時間は、特定された構成要素種別の開始時間及び終了時間を基に、構成要素分析部35によって算出された編集時間である。情動状態は、脳波情報を基に構成要素分析部35によって分析された、開始時間及び終了時間の間の情動についての情動状態である。 FIG. 4 is a diagram showing an example of the data structure of the individual component analysis result. As shown in FIG. 4, the individual component analysis result 380 has items of user ID, component type, editing time, and emotional state. The component type is the type of the component of the edit history information analyzed by the component analysis unit 35 based on the edit history information. The editing time is the editing time calculated by the component analysis unit 35 based on the start time and the end time of the specified component type. The emotional state is an emotional state about the emotion during the start time and the end time analyzed by the component analysis unit 35 based on the brain wave information.

図5は、構成要素分析結果のデータ構成の一例を示す図である。図5に示すように、構成要素分析結果381は、ユーザID、構成要素種別及び判定結果の項目を有する。判定結果は、編集時間及び情動状態を基に構成要素分析部35によって判定された、学習者の各種別の構成要素の理解の有無に関する判定結果である。 FIG. 5 is a diagram showing an example of the data structure of the component analysis result. As shown in FIG. 5, the component analysis result 381 has items of a user ID, a component type, and a determination result. The determination result is a determination result regarding whether or not the learner understands each type of component, which is determined by the component analysis unit 35 based on the editing time and the emotional state.

ブロック構造試行錯誤分析結果記憶部39は、ブロック構造試行錯誤分析結果を記憶する。図6は、ブロック構造試行錯誤分析結果のデータ構成の一例を示す図である。図6に示すように、ブロック構造試行錯誤分析結果391は、ユーザID及び判定結果の項目を有する。判定結果は、学習者のブロック構造の理解の有無に関する判定結果である。 The block structure trial and error analysis result storage unit 39 stores the block structure trial and error analysis result. FIG. 6 is a diagram showing an example of the data structure of the block structure trial and error analysis result. As shown in FIG. 6, the block structure trial and error analysis result 391 has a user ID and a determination result item. The determination result is a determination result regarding whether or not the learner understands the block structure.

エラー分析結果記憶部40は、エラー分析結果を記憶する。図7は、エラー分析結果のデータ構成の一例を示す図である。図7に示すように、エラー分析結果401は、ユーザID、エラー種別及び判定結果の項目を有する。判定結果は、プログラムのエラーに関する学習者の理解の有無に関する判定結果である。 The error analysis result storage unit 40 stores the error analysis result. FIG. 7 is a diagram showing an example of the data structure of the error analysis result. As shown in FIG. 7, the error analysis result 401 has items of a user ID, an error type, and a determination result. The determination result is a determination result regarding whether or not the learner understands the error of the program.

分析結果出力部41は、分析部302による分析結果を出力する。分析結果出力部41は、学習者や教師などの外部からの分析結果の提供要求を受けると、分析結果を要求元に出力する。分析結果出力部41は、構成要素分析結果記憶部38が記憶する構成要素分析結果381、ブロック構造試行錯誤分析結果記憶部39が記憶するブロック構造試行錯誤分析結果391、及び、エラー分析結果記憶部40が記憶するエラー分析結果401を読み込み、ユーザの弱点に関する分析情報として出力する。 The analysis result output unit 41 outputs the analysis result by the analysis unit 302. When the analysis result output unit 41 receives a request for providing the analysis result from the outside such as a learner or a teacher, the analysis result output unit 41 outputs the analysis result to the request source. The analysis result output unit 41 includes a component analysis result 381 stored in the component analysis result storage unit 38, a block structure trial / error analysis result 391 stored in the block structure trial / error analysis result storage unit 39, and an error analysis result storage unit. The error analysis result 401 stored in 40 is read and output as analysis information regarding the weakness of the user.

[分析処理]
図8~図23を参照して、本実施の形態に係る分析装置30による分析処理について説明する。
[Analysis processing]
The analysis process by the analyzer 30 according to the present embodiment will be described with reference to FIGS. 8 to 23.

図8は、編集履歴取得処理の処理手順例を示すシーケンス図である。分析装置30では、編集履歴情報取得部31が、学習装置20の編集履歴情報取得部21から、編集履歴情報を取得し(ステップS1)、編集履歴情報記憶部33に編集履歴情報を格納する(ステップS2)。 FIG. 8 is a sequence diagram showing an example of the processing procedure of the edit history acquisition process. In the analysis device 30, the edit history information acquisition unit 31 acquires the edit history information from the edit history information acquisition unit 21 of the learning device 20 (step S1), and stores the edit history information in the edit history information storage unit 33 (step S1). Step S2).

図9は、脳波情報取得処理の処理手順を示すシーケンス図である。分析装置30では、脳波情報取得部32が、学習装置20の脳波情報取得部22から、脳波情報を取得し(ステップS11)、脳波情報記憶部34に脳波情報を格納する(ステップS12)。 FIG. 9 is a sequence diagram showing a processing procedure of brain wave information acquisition processing. In the analyzer 30, the electroencephalogram information acquisition unit 32 acquires the electroencephalogram information from the electroencephalogram information acquisition unit 22 of the learning device 20 (step S11), and stores the electroencephalogram information in the electroencephalogram information storage unit 34 (step S12).

図10は、構成要素分析処理の処理手順を示すシーケンス図である。分析装置30では、構成要素分析部35が、編集履歴情報記憶部33に格納されている編集履歴情報331と、脳波情報記憶部34に格納されている脳波情報341とを読み込む(ステップS21,S22)。そして、構成要素分析部35は、プログラムの各構成要素に対する学習者の弱点を分析する構成要素分析処理を実行し(ステップS350)、構成要素分析結果381を、構成要素分析結果記憶部38に格納する(ステップS24)。 FIG. 10 is a sequence diagram showing a processing procedure of the component analysis process. In the analyzer 30, the component analysis unit 35 reads the edit history information 331 stored in the edit history information storage unit 33 and the electroencephalogram information 341 stored in the brain wave information storage unit 34 (steps S21 and S22). ). Then, the component analysis unit 35 executes a component analysis process for analyzing the weaknesses of the learner for each component of the program (step S350), and stores the component analysis result 381 in the component analysis result storage unit 38. (Step S24).

図11は、ブロック構造試行錯誤分析処理の処理手順を示すシーケンス図である。分析装置30では、ブロック構造試行錯誤分析部36が、編集履歴情報記憶部33に格納されている編集履歴情報331と、脳波情報記憶部34に格納されている脳波情報341とを読み込む(ステップS31,S32)。そして、ブロック構造試行錯誤分析部36は、プログラムのブロック構造の作成と削除の頻度を分析するブロック構造試行錯誤分析処理を行う(ステップS360)。続いて、ブロック構造試行錯誤分析部36は、ブロック構造試行錯誤分析結果391を、ブロック構造試行錯誤分析結果記憶部39に格納する(ステップS34)。 FIG. 11 is a sequence diagram showing a processing procedure of the block structure trial and error analysis process. In the analyzer 30, the block structure trial and error analysis unit 36 reads the edit history information 331 stored in the edit history information storage unit 33 and the electroencephalogram information 341 stored in the brain wave information storage unit 34 (step S31). , S32). Then, the block structure trial and error analysis unit 36 performs a block structure trial and error analysis process for analyzing the frequency of creating and deleting the block structure of the program (step S360). Subsequently, the block structure trial and error analysis unit 36 stores the block structure trial and error analysis result 391 in the block structure trial and error analysis result storage unit 39 (step S34).

図12は、エラー分析処理の処理手順を示すシーケンス図である。分析装置30では、エラー分析部37が、編集履歴情報記憶部33に格納されている編集履歴情報331を読み込む(ステップS41)。そして、エラー分析部37は、プログラムのエラーの頻度を分析するエラー分析処理を実行し(ステップS370)、エラー分析結果401を、補助記憶装置13のエラー分析結果記憶部40に格納する(ステップS42)。 FIG. 12 is a sequence diagram showing a processing procedure of error analysis processing. In the analyzer 30, the error analysis unit 37 reads the edit history information 331 stored in the edit history information storage unit 33 (step S41). Then, the error analysis unit 37 executes an error analysis process for analyzing the error frequency of the program (step S370), and stores the error analysis result 401 in the error analysis result storage unit 40 of the auxiliary storage device 13 (step S42). ).

図13は、分析結果出力処理の処理手順を示すシーケンス図である。分析結果出力部41は、学習者や教師などの外部からの分析結果の提供要求を受けると(ステップS51)、構成要素分析結果記憶部38に格納されている構成要素分析結果381と、ブロック構造試行錯誤分析結果記憶部39に格納されているブロック構造試行錯誤分析結果391と、エラー分析結果記憶部40に格納されているエラー分析結果401と、を読み込み(ステップS52,S53,S54)、分析情報411を分析結果の要求者に出力する(ステップS55)。 FIG. 13 is a sequence diagram showing a processing procedure of analysis result output processing. When the analysis result output unit 41 receives a request for providing the analysis result from the outside such as a learner or a teacher (step S51), the analysis result output unit 41 has a block structure and a component analysis result 381 stored in the component analysis result storage unit 38. The block structure trial and error analysis result 391 stored in the trial and error analysis result storage unit 39 and the error analysis result 401 stored in the error analysis result storage unit 40 are read (steps S52, S53, S54) and analyzed. Information 411 is output to the requester of the analysis result (step S55).

[構成要素分析処理]
次に、図10に示す構成要素分析処理(ステップS350)の処理手順について説明する。図14は、図10に示す構成要素分析処理の処理手順を示すフローチャートである。
[Component analysis process]
Next, the processing procedure of the component analysis process (step S350) shown in FIG. 10 will be described. FIG. 14 is a flowchart showing a processing procedure of the component analysis process shown in FIG.

図14に示すように、構成要素分析部35は、読み込んだ編集履歴情報331を用いて、編集履歴情報331のレコードごとに、構成要素種別分析処理(ステップS3502)を行い、構成要素種別分析処理(ステップS3502)によって特定された構成要素種別の開始時間及び終了時間から編集時間を算出する(ステップS3503)。 As shown in FIG. 14, the component analysis unit 35 performs the component type analysis process (step S3502) for each record of the edit history information 331 using the read edit history information 331, and performs the component type analysis process. The editing time is calculated from the start time and the end time of the component type specified in (step S3502) (step S3503).

構成要素分析部35は、読み込んだ脳波情報記憶部34を用いて、構成要素種別の開始時間と終了時間の間の情動について情動状態分析処理(ステップS3504)を行い、求めた構成要素種別、編集時間及び情動状態を記録する(ステップS3505)。ステップS3502~ステップS3505の処理は、編集履歴情報331のすべてのレコードについて繰り返し実行される(ステップS3501,S3506)。 The component analysis unit 35 uses the read electroencephalogram information storage unit 34 to perform an emotional state analysis process (step S3504) for the emotion between the start time and the end time of the component type, and obtains the component type and edits. Record the time and emotional state (step S3505). The processes of steps S3502 to S3505 are repeatedly executed for all the records of the edit history information 331 (steps S3501 and S3506).

そして、構成要素分析部35は、ステップS3505で記録した情報を基に、構成要素種別ごとの総編集時間を算出する(ステップS3507)。そして、構成要素分析部35は、ステップS3505で記録した情報を基に、構成要素種別ごとの平均情動状態を算出する(ステップS3508)。 Then, the component analysis unit 35 calculates the total editing time for each component type based on the information recorded in step S3505 (step S3507). Then, the component analysis unit 35 calculates the average emotional state for each component type based on the information recorded in step S3505 (step S3508).

続いて、構成要素分析部35は、各構成要素種別について総編集時間が所定時間より長いか否かを判定する(ステップS3509)。構成要素分析部35は、総編集時間が所定時間より長いと判定した場合(ステップS3509:Yes)、その構成要素種別は学習者にとっての弱点であると判定する(ステップS3510)。一方、構成要素分析部35は、総編集時間が所定時間以下であると判定した場合(ステップS3509:No)、平均情動状態が「困難」であるか否かを判定する(ステップS3511)。 Subsequently, the component analysis unit 35 determines whether or not the total editing time is longer than the predetermined time for each component type (step S3509). When the component analysis unit 35 determines that the total editing time is longer than the predetermined time (step S3509: Yes), the component analysis unit 35 determines that the component type is a weak point for the learner (step S3510). On the other hand, when the component analysis unit 35 determines that the total editing time is equal to or less than a predetermined time (step S3509: No), the component analysis unit 35 determines whether or not the average emotional state is “difficult” (step S3511).

構成要素分析部35は、平均情動状態が「困難」であると判定した場合(ステップS3511:Yes)、その構成要素種別は該当学習者にとっての弱点であると判定する(ステップS3512)。これに対し、構成要素分析部35は、平均情動状態が「困難」でないと判定した場合(ステップS3511:No)、その構成要素種別は学習者にとっての弱点ではないと判定する(ステップS3513)。 When the component analysis unit 35 determines that the average emotional state is "difficult" (step S3511: Yes), the component analysis unit 35 determines that the component type is a weak point for the learner (step S3512). On the other hand, when the component analysis unit 35 determines that the average emotional state is not "difficult" (step S3511: No), the component analysis unit 35 determines that the component type is not a weak point for the learner (step S3513).

[構成要素種別分析処理]
次に、図14に示す構成要素種別分析処理(ステップS3502)の処理手順について説明する。図15は、図14に示す構成要素種別分析処理の処理手順を示すフローチャートである。
[Component type analysis processing]
Next, the processing procedure of the component type analysis processing (step S3502) shown in FIG. 14 will be described. FIG. 15 is a flowchart showing a processing procedure of the component type analysis process shown in FIG.

まず、構成要素分析部35は、判定したい構成要素について、ブロック構造に該当するか否かのブロック構造判定処理(ステップS350201)を行う。そして、構成要素分析部35は、条件分岐の条件式に該当するか否かの条件分岐条件式要素判定処理(ステップS350202)を行う。 First, the component analysis unit 35 performs a block structure determination process (step S350201) for determining whether or not the component to be determined corresponds to the block structure. Then, the component analysis unit 35 performs the conditional branch conditional expression element determination process (step S350202) as to whether or not it corresponds to the conditional expression of the conditional branch.

続いて、構成要素分析部35は、条件分岐のブロックに該当するか否かの条件分岐ブロック判定処理(ステップS350203)を行う。そして、構成要素分析部35は、繰り返しの条件式に該当するか否かの繰り返し条件式要素判定(ステップS350204)を行う。そして、構成要素分析部35は、繰り返しのブロックに該当するか否かの繰り返しブロック判定(ステップS350205)を行う。構成要素分析部35は、演算要素に該当するか否かの演算要素判定処理(ステップS350206)を行う。そして、構成要素分析部35は、識別子要素に該当するか否かの識別子要素判定処理(ステップS350207)を行う。 Subsequently, the component analysis unit 35 performs a conditional branch block determination process (step S350203) for determining whether or not the block corresponds to the conditional branch. Then, the component analysis unit 35 performs a repeat conditional expression element determination (step S350204) as to whether or not the repeat conditional expression is applicable. Then, the component analysis unit 35 makes a repeat block determination (step S350205) as to whether or not the block corresponds to the repeat block. The component analysis unit 35 performs a calculation element determination process (step S350206) for determining whether or not the component corresponds to a calculation element. Then, the component element analysis unit 35 performs an identifier element determination process (step S350207) as to whether or not it corresponds to the identifier element.

この図15に示す処理を行うことによって、構成要素分析部35は、判定対象の編集履歴の構成要素を分析する。続いて、構成要素種別分析処理の各処理について詳細に説明する。 By performing the process shown in FIG. 15, the component analysis unit 35 analyzes the components of the edit history to be determined. Subsequently, each process of the component type analysis process will be described in detail.

[ブロック構造判定処理]
まず、図15に示すブロック構造判定処理(ステップS350201)の処理手順について説明する。図16は、図15に示すブロック構造判定処理の処理手順を示すフローチャートである。
[Block structure judgment processing]
First, the processing procedure of the block structure determination processing (step S350201) shown in FIG. 15 will be described. FIG. 16 is a flowchart showing a processing procedure of the block structure determination process shown in FIG.

構成要素分析部35は、判定対象の編集履歴に“{”が追加されたか否かを判定する(ステップS35020101)。構成要素分析部35は、判定対象の編集履歴に“{”が追加されたと判定した場合(ステップS35020101:Yes)、ブロック構造として判定する(ステップS35020104)。これに対し、構成要素分析部35は、判定対象の編集履歴に“{”が追加されていないと判定した場合(ステップS35020101:No)、次に、編集履歴に“}”が追加されたか否かを判定する(ステップS35020102)。 The component analysis unit 35 determines whether or not "{" has been added to the edit history of the determination target (step S35020101). When the component analysis unit 35 determines that "{" has been added to the edit history of the determination target (step S35020101: Yes), the component analysis unit 35 determines as a block structure (step S35020104). On the other hand, when the component analysis unit 35 determines that "{" is not added to the edit history of the determination target (step S35020101: No), then whether or not "}" is added to the edit history. (Step S35020102).

構成要素分析部35は、編集履歴に“}”が追加されたと判定した場合(ステップS35020102:Yes)、ブロック構造としてと判定する(ステップS35020104)。また、構成要素分析部35は、編集履歴に“}”が追加されていないと判定した場合(ステップS35020102:No)、次に、編集履歴に追加または削除された文字が“{”の右側であるか、または、“{”と“}”との内側であるか否かを判定する(ステップS35020103)。 When the component analysis unit 35 determines that "}" has been added to the editing history (step S35020102: Yes), it determines that it is a block structure (step S35020104). If the component analysis unit 35 determines that "}" has not been added to the editing history (step S35020102: No), then the characters added or deleted from the editing history are on the right side of "{". It is determined whether or not there is, or whether or not it is inside "{" and "}" (step S35020103).

構成要素分析部35は、編集履歴に追加または削除された文字が“{”の右側であるか、または、“{”と“}”との内側であると判定した場合(ステップS35020103:Yes)、ブロック構造として判定する(ステップS35020104)。一方、構成要素分析部35は、編集履歴に追加または削除された文字が“{”の右側でなく、“{”と“}”との内側でもないと判定した場合(ステップS35020103:No)、そのまま処理を終了する。 When the component analysis unit 35 determines that the character added or deleted from the editing history is on the right side of "{" or inside "{" and "}" (step S35020103: Yes). , Determined as a block structure (step S35020104). On the other hand, when the component analysis unit 35 determines that the character added or deleted from the editing history is not on the right side of "{" and is not inside "{" and "}" (step S35020103: No). The process ends as it is.

[条件分岐条件式要素判定処理]
次に、図15に示す条件分岐条件式要素判定処理(ステップS350202)の処理手順について説明する。図17は、図15に示す条件分岐条件式要素判定処理の処理手順を示すフローチャートである。
[Conditional branch conditional expression element judgment processing]
Next, the processing procedure of the conditional branch conditional element determination process (step S350202) shown in FIG. 15 will be described. FIG. 17 is a flowchart showing a processing procedure of the conditional branch conditional element determination process shown in FIG.

まず、構成要素分析部35は、判定対象の編集履歴に“(”が追加され、その直前が“if”であるか否かを判定する(ステップS35020201)。構成要素分析部35は、判定対象の編集履歴に“(”が追加され、その直前が“if”であると判定した場合(ステップS35020201:Yes)、判定対象を条件分岐条件式要素として判定する(ステップS35020204)。 First, the component analysis unit 35 determines whether or not "(" is added to the edit history of the determination target and immediately before that is "if" (step S35020201). The component analysis unit 35 determines the determination target. When "(" is added to the editing history of and it is determined that "if" immediately before that (step S35020201: Yes), the determination target is determined as a conditional branch conditional expression element (step S35020204).

また、構成要素分析部35は、判定対象の編集履歴に“(”が追加されず、または、追加された“(”の直前が“if”でないと判定した場合(ステップS35020201:No)、判定対象の編集履歴に“)”が追加され、対応する括弧が“if(”であるか否かを判定する(ステップS35020202)。構成要素分析部35は、判定対象の編集履歴に“)”が追加され、対応する括弧が“if(”であると判定した場合(ステップS35020202:Yes)、判定対象を条件分岐条件式要素として判定する(ステップS35020204)。 Further, when the component analysis unit 35 determines that "(" is not added to the edit history of the determination target or "(" immediately before the added "(" is not "if"), the determination is made (step S35020201: No). ")" Is added to the edit history of the target, and it is determined whether or not the corresponding parenthesis is "if (" (step S35020220). The component analysis unit 35 has ")" in the edit history of the determination target. When it is added and it is determined that the corresponding parenthesis is "if (" (step S3502022: Yes), the determination target is determined as a conditional branch conditional expression element (step S35020204).

構成要素分析部35は、判定対象の編集履歴に“)”が追加されず、または、追加された“)”に対応する括弧が“if(”でないと判定した場合(ステップS35020202:No)、編集履歴に追加または削除された文字が“if(”の右側であるか、或いは“if(”と“)”との内側であるか否かを判定する(ステップS35020203)。 When the component analysis unit 35 determines that ")" is not added to the edit history of the determination target, or the parentheses corresponding to the added ")" are not "if (" (step S3502022: No). It is determined whether the character added or deleted from the edit history is on the right side of "if (" or inside "if (" and ")" (step S35020203).

構成要素分析部35は、編集履歴に追加または削除された文字が“if(”の右側であるか、或いは“if(”と“)”との内側である判定した場合(ステップS35020203:Yes)、判定対象を条件分岐条件式要素として判定する(ステップS35020204)。また、構成要素分析部35は、編集履歴に追加または削除された文字が“if(”の右側でなく、また、“if(”と“)”との内側でもないと判定した場合(ステップS35020203:No)、処理を終了する。 When the component analysis unit 35 determines that the character added or deleted from the edit history is on the right side of "if (" or inside "if (" and ")" (step S3502203: Yes). , The determination target is determined as a conditional branch conditional expression element (step S35020204). Further, in the component analysis unit 35, the character added or deleted from the edit history is not on the right side of "if (", and "if (" If it is determined that it is not inside "" and ")" (step S35020203: No), the process ends.

[条件分岐ブロック判定処理]
次に、図15に示す条件分岐ブロック判定処理(ステップS350203)の処理手順について説明する。図18は、図15に示す条件分岐ブロック判定処理の処理手順を示すフローチャートである。
[Conditional branch block judgment processing]
Next, the processing procedure of the conditional branch block determination processing (step S350203) shown in FIG. 15 will be described. FIG. 18 is a flowchart showing a processing procedure of the conditional branch block determination process shown in FIG.

図18に示すように、構成要素分析部35は、判定対象の編集履歴が前述のブロック構造判定処理(ステップS350201)においてブロック構造であると判定されており、左側が条件分岐条件式要素であるか否かを判定する(ステップS35020301)。構成要素分析部35は、判定対象の編集履歴が前述のブロック構造判定処理においてブロック構造であると判定されており、左側が条件分岐条件式要素であると判定した場合(ステップS35020301:Yes)、判定対象を条件分岐ブロックとして判定する(ステップS35020303)。 As shown in FIG. 18, the component analysis unit 35 determines that the editing history of the determination target has a block structure in the above-mentioned block structure determination process (step S350201), and the left side is a conditional branch conditional expression element. Whether or not it is determined (step S35020301). When the component analysis unit 35 determines that the edit history of the determination target has a block structure in the above-mentioned block structure determination process and determines that the left side is a conditional branch conditional expression element (step S350203001: Yes). The determination target is determined as a conditional branch block (step S35020303).

また、構成要素分析部35は、判定対象の編集履歴が前述のブロック構造判定処理においてブロック構造であると判定されておらず、または、左側が条件分岐条件式要素でないと判定した場合(ステップS35020301:No)、判定対象の編集履歴が前述のブロック構造判定処理においてブロック構造であると判定されており、左側が“else”であるか否かを判定する(ステップS35020302)。 Further, when the component analysis unit 35 determines that the edit history of the determination target is not a block structure in the above-mentioned block structure determination process, or determines that the left side is not a conditional branch conditional expression element (step S350203001). : No), it is determined in the above-mentioned block structure determination process that the edit history of the determination target has a block structure, and it is determined whether or not the left side is “else” (step S35020302).

構成要素分析部35は、判定対象の編集履歴が前述のブロック構造判定処理においてブロック構造であると判定されており、左側が“else”であると判定した場合(ステップS35020302:Yes)、判定対象を条件分岐ブロックとして判定する(ステップS35020303)。構成要素分析部35は、判定対象の編集履歴が前述のブロック構造判定処理においてブロック構造であると判定されておらず、または、左側が“else”でないと判定した場合(ステップS35020302:No)、処理を終了する。 When the component analysis unit 35 determines that the edit history of the determination target has a block structure in the above-mentioned block structure determination process and determines that the left side is “else” (step S35020302: Yes), the determination target Is determined as a conditional branch block (step S35020303). When the component analysis unit 35 determines that the edit history of the determination target is not a block structure in the above-mentioned block structure determination process, or determines that the left side is not "else" (step S35020302: No). End the process.

ここで、図15に示す繰り返し条件式要素判定処理(ステップS350204)と繰り返しブロック判定処理(ステップS350205)との詳細は、前述の条件分岐条件式要素判定処理(ステップS350202)と条件分岐ブロック判定処理(ステップS350203)との処理と、同様の処理である。 Here, the details of the iterative conditional expression element determination process (step S350204) and the iterative block determination process (step S350205) shown in FIG. 15 are described in the above-mentioned conditional branch conditional expression element determination process (step S350202) and the conditional branch block determination process. This is the same process as that of (step S350203).

[演算要素判定処理]
次に、図15に示す演算要素判定処理(ステップS350206)の処理手順について説明する。図19は、図15に示す演算要素判定処理の処理手順を示すフローチャートである。
[Operation element judgment processing]
Next, the processing procedure of the arithmetic element determination processing (step S350206) shown in FIG. 15 will be described. FIG. 19 is a flowchart showing a processing procedure of the arithmetic element determination process shown in FIG.

図19に示すように、構成要素分析部35は、判定対象の編集履歴に演算子のいずれかの記号が追加されたか否かを判定する(ステップS35020601)。構成要素分析部35は、判定対象の編集履歴に演算子のいずれかの記号が追加されていると判定した場合(ステップS35020601:Yes)、判定対象を演算要素として判定する(ステップS35020603)。 As shown in FIG. 19, the component analysis unit 35 determines whether or not any symbol of the operator has been added to the edit history of the determination target (step S35020601). When the component analysis unit 35 determines that any symbol of the operator has been added to the editing history of the determination target (step S35020601: Yes), the component analysis unit 35 determines the determination target as an arithmetic element (step S35020603).

構成要素分析部35は、判定対象の編集履歴に演算子のいずれかの記号が追加されていないと判定した場合(ステップS35020601:No)、判定対象の編集履歴に丸括弧が追加され、かつ、その丸括弧が予約語や関数に対応する括弧ではないかを判定する(ステップS35020602)。 When the component analysis unit 35 determines that any symbol of the operator has not been added to the edit history of the determination target (step S35020601: No), parentheses are added to the edit history of the determination target, and It is determined whether the parentheses are the parentheses corresponding to the reserved word or the function (step S35020602).

構成要素分析部35は、判定対象の編集履歴に丸括弧が追加され、かつ、予約語や関数に対応する括弧ではないと判定した場合(ステップS35020602:Yes)、判定対象を演算要素として判定する(ステップS35020603)。また、構成要素分析部35は判定対象の編集履歴に丸括弧が追加されず、または、追加された丸括弧が予約語や関数に対応する括弧であると判定した場合(ステップS35020602:No)、処理を了する。 When the component analysis unit 35 determines that the parentheses are added to the edit history of the determination target and the parentheses do not correspond to the reserved word or the function (step S35020602: Yes), the component analysis unit 35 determines the determination target as an arithmetic element. (Step S35020603). Further, when the component analysis unit 35 determines that the parentheses are not added to the editing history of the determination target, or the added parentheses are the parentheses corresponding to the reserved word or the function (step S35020602: No). Finish the process.

[識別子要素判定処理]
次に、図15に示す識別子要素判定処理(ステップS350207)の処理手順について説明する。図20は、図15に示す識別子要素判定処理の処理手順を示すフローチャートである。
[Identifier element determination process]
Next, the processing procedure of the identifier element determination processing (step S350207) shown in FIG. 15 will be described. FIG. 20 is a flowchart showing a processing procedure of the identifier element determination process shown in FIG.

まず、構成要素分析部35は、判定対象の編集履歴に演算子のいずれかの記号が追加され、その直前が識別子であるか否かを判定する(ステップS35020701)。構成要素分析部35は、判定対象の編集履歴に演算子のいずれかの記号が追加され、その直前が識別子であると判定した場合(ステップS35020701:Yes)、判定対象を識別子要素として判定する(ステップS35020704)。 First, the component analysis unit 35 determines whether or not any symbol of the operator is added to the edit history of the determination target and immediately before that is an identifier (step S35020701). When the component analysis unit 35 determines that any symbol of the operator is added to the editing history of the determination target and immediately before that is an identifier (step S35020701: Yes), the component analysis unit 35 determines the determination target as an identifier element (step S35020701: Yes). Step S35020704).

構成要素分析部35は、判定対象の編集履歴に演算子のいずれかの記号が追加されず、または、追加された記号の直前が識別子でないと判定した場合(ステップS35020701:No)、判定対象の編集履歴に右括弧が追加され、その直前が識別子であるか否かを判定する(ステップS35020702)。 When the component analysis unit 35 determines that any symbol of the operator is not added to the edit history of the determination target, or that the symbol immediately before the added symbol is not an identifier (step S35020701: No), the determination target is determined. Right parentheses are added to the edit history, and it is determined whether or not the identifier is immediately before the right parenthesis (step S35020702).

構成要素分析部35は、判定対象の編集履歴に右括弧が追加され、その直前が識別子であると判定した場合(ステップS35020702:Yes)、判定対象を識別子要素として判定する(ステップS35020704)。 When the right parenthesis is added to the editing history of the determination target and the component analysis unit 35 determines that the identifier is immediately preceding it (step S35020702: Yes), the component analysis unit 35 determines the determination target as an identifier element (step S35020704).

構成要素分析部35は、判定対象の編集履歴に右括弧が追加されず、または、追加された丸括弧の直前が識別子でないと判定した場合(ステップS35020702:No)、判定対象の編集履歴にセミコロンやコロンが追加され、その直前が識別子であるか否かを判定する(ステップS35020703)。構成要素分析部35は、判定対象の編集履歴にセミコロンやコロンが追加され、その直前が識別子であると判定した場合(ステップS35020703:Yes)、判定対象を識別子要素として判定する(ステップS35020704)。構成要素分析部35は、判定対象の編集履歴にセミコロンやコロンが追加されず、または、追加されたセミコロンやコロンの直前が識別子でないと判定した場合(ステップS35020703:No)、処理を終了する。 When the component analysis unit 35 determines that the right parenthesis is not added to the edit history of the determination target, or that the part immediately before the added parenthesis is not an identifier (step S35020702: No), the semicolon is added to the edit history of the determination target. And a colon are added, and it is determined whether or not immediately before that is an identifier (step S35020703). When the component analysis unit 35 determines that a semicolon or a colon is added to the editing history of the determination target and immediately before that is an identifier (step S35020703: Yes), the component analysis unit 35 determines the determination target as an identifier element (step S35020704). When the component analysis unit 35 determines that the semicolon or colon is not added to the editing history of the determination target, or that the semicolon or colon immediately before the added semicolon or colon is not an identifier (step S35020703: No), the component analysis unit 35 ends the process.

[情動状態分析処理]
次に、図14に示す情動状態分析処理(ステップS3504)の処理手順について説明する。図21は、図14に示す情動状態分析処理の処理手順を示すフローチャートである。
[Affect state analysis process]
Next, the processing procedure of the emotional state analysis processing (step S3504) shown in FIG. 14 will be described. FIG. 21 is a flowchart showing a processing procedure of the emotional state analysis process shown in FIG.

まず、構成要素分析部35は、分析対象の時刻における脳波情報が、予め定められた第1の閾値より大きいか否かを判定する(ステップS350401)。構成要素分析部35は、分析対象の時刻における脳波情報が第1の閾値より大きいと判定した場合(ステップS350401:Yes)、情動状態を「困難」であると判定する(ステップS350403)。 First, the component analysis unit 35 determines whether or not the electroencephalogram information at the time to be analyzed is larger than a predetermined first threshold value (step S350401). When the component analysis unit 35 determines that the electroencephalogram information at the time to be analyzed is larger than the first threshold value (step S350401: Yes), the component analysis unit 35 determines that the emotional state is "difficult" (step S350403).

構成要素分析部35は、分析対象の時刻における脳波情報が第1の閾値以下であると判定した場合(ステップS350401:No)、分析対象の時刻における脳波情報が予め定められた第2の閾値より小さいか否かを判定する(ステップS350402)。 When the component analysis unit 35 determines that the electroencephalogram information at the time to be analyzed is equal to or less than the first threshold value (step S350401: No), the electroencephalogram information at the time to be analyzed is from a predetermined second threshold value. It is determined whether or not it is small (step S350402).

構成要素分析部35は、分析対象の時刻における脳波情報が第2の閾値より小さいと判定した場合(ステップS350402:Yes)、情動状態を「簡単」であると判定する(ステップS350404)。また、構成要素分析部35は、分析対象の時刻における脳波情報が予め定められた第2の閾値以上であると判定した場合(ステップS350402:No)、情動状態を「普通」であると判定する(ステップS350405)。 When the component analysis unit 35 determines that the brain wave information at the time to be analyzed is smaller than the second threshold value (step S350402: Yes), the component analysis unit 35 determines that the emotional state is "easy" (step S350404). Further, when the component analysis unit 35 determines that the electroencephalogram information at the time to be analyzed is equal to or higher than a predetermined second threshold value (step S350402: No), the component analysis unit 35 determines that the emotional state is "normal". (Step S350405).

構成要素分析部35は、図14~図21に示す各処理を実行することによって、図4に例示する個別構成要素分析結果380を取得した上で、図5に例示する構成要素分析結果381を得る。 The component analysis unit 35 obtains the individual component analysis result 380 exemplified in FIG. 4 by executing each process shown in FIGS. 14 to 21, and then obtains the component analysis result 381 exemplified in FIG. obtain.

[ブロック構造試行錯誤分析処理]
次に、図11に示すブロック構造試行錯誤分析処理(ステップS360)の処理手順について説明する。図22は、図11に示すブロック構造試行錯誤分析処理の処理手順を示すフローチャートである。
[Block structure trial and error analysis processing]
Next, the processing procedure of the block structure trial and error analysis processing (step S360) shown in FIG. 11 will be described. FIG. 22 is a flowchart showing a processing procedure of the block structure trial and error analysis process shown in FIG.

ブロック構造試行錯誤分析部36は、編集履歴情報記憶部33に格納されている編集履歴情報331を読み込み、編集履歴情報331のレコードごとに、判定対象の編集履歴が中括弧の入力或いは削除であるか否かを判定する(ステップS3602)。ブロック構造試行錯誤分析部36は、判定対象の編集履歴が中括弧の入力或いは削除であると判定した場合(ステップS3602:Yes)、その編集履歴の中括弧がプログラムの先頭から何番目の中括弧であるかを算出する(ステップS3603)。 The block structure trial / error analysis unit 36 reads the edit history information 331 stored in the edit history information storage unit 33, and the edit history to be determined is input or deleted in curly braces for each record of the edit history information 331. It is determined whether or not (step S3602). When the block structure trial and error analysis unit 36 determines that the edit history of the determination target is the input or deletion of the curly braces (step S3602: Yes), the curly braces in the edit history is the number of curly braces from the beginning of the program. Is calculated (step S3603).

ブロック構造試行錯誤分析部36は、判定対象の編集履歴が中括弧の入力或いは削除でないと判定した場合(ステップS3602:No)、または、ステップS3603の処理後、判定対象の編集履歴が中括弧の削除であるか否かを判定する(ステップS3604)。ブロック構造試行錯誤分析部36は、判定対象の編集履歴が中括弧の削除であると判定した場合(ステップS3604:Yes)、その中括弧が入力されてから削除されるまでの時間を算出する(ステップS3605)。 When the block structure trial and error analysis unit 36 determines that the edit history of the determination target is not the input or deletion of the curly braces (step S3602: No), or after the processing of step S3603, the edit history of the determination target is the curly braces. It is determined whether or not the deletion is performed (step S3604). When the block structure trial and error analysis unit 36 determines that the editing history of the determination target is the deletion of the curly braces (step S3604: Yes), the block structure trial and error analysis unit 36 calculates the time from the input of the curly braces to the deletion (step S3604: Yes). Step S3605).

ブロック構造試行錯誤分析部36は、判定対象の編集履歴が中括弧の削除でないと判定した場合(ステップS3604:No)、またはステップS3605処理後、対象であるレコードについて情動状態分析処理(ステップS3606)を行う。ブロック構造試行錯誤分析部36は、構成要素分析処理(ステップS350)における情動状態分析処理(ステップS3504)と同様の処理手順を実行することによって、情動状態分析処理を行う。ステップS3602~ステップS3606の処理は、編集履歴情報331のすべてのレコードについて繰り返し実行される(ステップS3601,S3607)。 When the block structure trial and error analysis unit 36 determines that the editing history of the determination target is not the deletion of the curly braces (step S3604: No), or after the processing of step S3605, the emotional state analysis processing (step S3606) for the target record. I do. The block structure trial and error analysis unit 36 performs the emotional state analysis process by executing the same processing procedure as the emotional state analysis process (step S3504) in the component analysis process (step S350). The processes of steps S3602 to S3606 are repeatedly executed for all the records of the edit history information 331 (steps S3601 and S3607).

そして、ブロック構造試行錯誤分析部36は、すべてのブロック構造の作成から削除までの総編集時間を算出する(ステップS3608)。次に、ブロック構造試行錯誤分析部36は、すべてのブロック構造の作成から削除までの平均情動状態を算出する(ステップS3609)。 Then, the block structure trial and error analysis unit 36 calculates the total editing time from the creation to the deletion of all the block structures (step S3608). Next, the block structure trial and error analysis unit 36 calculates the average emotional state from the creation to the deletion of all the block structures (step S3609).

続いて、ブロック構造試行錯誤分析部36は、ブロック構造の総編集時間が所定時間より長いか否かを判定する(ステップS3610)。ブロック構造試行錯誤分析部36は、ブロック構造の総編集時間が所定時間より長いと判定した場合(ステップS3610:Yes)、学習者にとってブロック構造が理解できていないと判定する(ステップS3611)。 Subsequently, the block structure trial and error analysis unit 36 determines whether or not the total editing time of the block structure is longer than the predetermined time (step S3610). When the block structure trial and error analysis unit 36 determines that the total editing time of the block structure is longer than a predetermined time (step S3610: Yes), it determines that the learner does not understand the block structure (step S3611).

また、ブロック構造試行錯誤分析部36は、ブロック構造の総編集時間が所定時間以下であると判定した場合(ステップS3610:No)、平均情動状態が「困難」であるか否かを判定する(ステップS3612)。ブロック構造試行錯誤分析部36は、平均情動状態が「困難」であると判定した場合(ステップS3612:Yes)、学習者にとってブロック構造が理解できていないと判定する(ステップS3611)。一方、ブロック構造試行錯誤分析部36は、平均情動状態が「困難」でないかと判定した場合(ステップS3612:No)、学習者にとってブロック構造は理解できていると判定する(ステップS3613)。 Further, when the block structure trial and error analysis unit 36 determines that the total editing time of the block structure is equal to or less than a predetermined time (step S3610: No), the block structure trial and error analysis unit 36 determines whether or not the average emotional state is “difficult” (step S3610: No). Step S3612). When the block structure trial and error analysis unit 36 determines that the average emotional state is "difficult" (step S3612: Yes), it determines that the learner does not understand the block structure (step S3611). On the other hand, when the block structure trial and error analysis unit 36 determines whether the average emotional state is “difficult” (step S3612: No), it determines that the learner understands the block structure (step S3613).

この、ブロック構造試行錯誤分析部36は、図22に示すブロック構造試行錯誤分析処理を実行することによって、図6に例示するブロック構造試行錯誤分析結果391を得る。 The block structure trial and error analysis unit 36 executes the block structure trial and error analysis process shown in FIG. 22 to obtain the block structure trial and error analysis result 391 illustrated in FIG.

[エラー分析処理]
次に、図12に示すエラー分析処理(ステップS370)の処理手順について説明する。図23は、図12に示すエラー分析処理の処理手順を示すフローチャートである。
[Error analysis processing]
Next, the processing procedure of the error analysis processing (step S370) shown in FIG. 12 will be described. FIG. 23 is a flowchart showing a processing procedure of the error analysis process shown in FIG.

エラー分析部37は、編集履歴情報記憶部33に格納されている編集履歴情報331を読み込み、編集履歴情報331のエラーをエラー種別ごとにカウントする(ステップS3702)。ステップS3702の処理は、編集履歴情報331のすべてのレコードについて繰り返し実行される(ステップS3701,S3703)。 The error analysis unit 37 reads the edit history information 331 stored in the edit history information storage unit 33, and counts the errors in the edit history information 331 for each error type (step S3702). The process of step S3702 is repeatedly executed for all the records of the edit history information 331 (steps S3701 and S3703).

エラー分析部37は、カウントしたエラーについて、エラー種別ごとに一定時間内に同じエラーが繰り返されているか否かを判定する(ステップS3704)。エラー分析部37は、一定時間内に同じエラーが繰り返されていると判定した場合(ステップS3704:Yes)、学習者は、その種別のエラーの意味が理解できていないと判定する(ステップS3706)。また、エラー分析部37は、一定時間内に同じエラーが繰り返されていないと判定した場合(ステップS3704:No)、そのエラー種別について、特定のエラーの頻度が予め設定された閾値を越えたか否かを判定する(ステップS3705)。 The error analysis unit 37 determines whether or not the same error is repeated within a fixed time for each error type for the counted error (step S3704). When the error analysis unit 37 determines that the same error is repeated within a certain period of time (step S3704: Yes), the learner determines that the meaning of the type of error is not understood (step S3706). .. Further, when the error analysis unit 37 determines that the same error is not repeated within a certain period of time (step S3704: No), whether or not the frequency of a specific error exceeds a preset threshold value for the error type. (Step S3705).

エラー分析部37は、特定のエラーの頻度が予め設定された閾値を越えたと判定した場合(ステップS3705:Yes)、学習者は該当エラーのケアレスミスが多いと判定する(ステップS3707)。また、エラー分析部37は、特定のエラーの頻度が予め設定された閾値を越えていないと判定した場合(ステップS3705:No)、学習者は、このエラー種別のエラーに関しては通常の理解度であると判定する(ステップS3708)。 When the error analysis unit 37 determines that the frequency of a specific error exceeds a preset threshold value (step S3705: Yes), the learner determines that there are many careless mistakes of the error (step S3707). Further, when the error analysis unit 37 determines that the frequency of a specific error does not exceed a preset threshold value (step S3705: No), the learner has a normal understanding of the error of this error type. It is determined that there is (step S3708).

[実施の形態の効果]
このように、実施の形態に係る分析システムでは、分析装置30は、編集履歴情報と脳波情報とに基づいて、プログラムの各構成要素に対する学習者の弱点を分析する。また、分析装置30は、編集履歴情報と脳波情報とに基づいて、プログラムのブロック構造に関する学習者の弱点を分析する。そして、分析装置30は、編集履歴情報に基づいて、プログラムのエラーに関する学習者の弱点を、エラーの種別ごとに分析する。
[Effect of embodiment]
As described above, in the analysis system according to the embodiment, the analysis device 30 analyzes the learner's weaknesses with respect to each component of the program based on the editing history information and the brain wave information. Further, the analyzer 30 analyzes the learner's weaknesses regarding the block structure of the program based on the editing history information and the brain wave information. Then, the analyzer 30 analyzes the weaknesses of the learner regarding the error of the program for each type of error based on the editing history information.

したがって、本実施の形態によれば、編集履歴情報と脳波情報とを組み合わせた分析処理を行うことにより、正解プログラムとの比較をする必要がなく、分析の際に大量のバックトラッキングを行うことないため、効率的に分析処理を実行することができる。そして、本実施の形態によれば、図8~図22の処理を実行することによって、プログラミング学習過程での学習者のつまずきや理解不足の要因などの学習者の弱点を、自動的に分析し、学習者等に提供することができる。 Therefore, according to the present embodiment, by performing the analysis process combining the edit history information and the brain wave information, it is not necessary to compare with the correct answer program, and a large amount of backtracking is not performed at the time of analysis. Therefore, the analysis process can be executed efficiently. Then, according to the present embodiment, by executing the processes of FIGS. 8 to 22, the learner's weaknesses such as the learner's stumbling block and the cause of lack of understanding in the programming learning process are automatically analyzed. , Can be provided to learners, etc.

[変形例]
例えば、構成要素分析処理(ステップS350)と、ブロック構造試行錯誤分析処理(ステップS360)と、エラー分析処理(ステップS370)とは、逐次的に行う必要はなく、それぞれ独立に行ってもよい。
[Modification example]
For example, the component analysis process (step S350), the block structure trial and error analysis process (step S360), and the error analysis process (step S370) do not have to be performed sequentially, and may be performed independently.

また、構成要素分析処理(ステップS350)と、ブロック構造試行錯誤分析処理(ステップS360)と、エラー分析処理(ステップS370)とは、学習時に学習終了後に行う他、逐次的に行ってもよい。 Further, the component analysis process (step S350), the block structure trial and error analysis process (step S360), and the error analysis process (step S370) may be performed sequentially at the time of learning after the learning is completed.

すなわち、本実施の形態では、構成要素分析処理(ステップS350)と、ブロック構造試行錯誤分析処理(ステップS360)と、エラー分析処理(ステップS370)とは、学習が一度終了した後に、編集履歴情報記憶部33及び脳波情報記憶部34に記憶されたデータを基に分析した例を説明した。これに限らず、構成要素分析処理(ステップS350)と、ブロック構造試行錯誤分析処理(ステップS360)と、エラー分析処理(ステップS370)とは、編集履歴情報取得部31と脳波情報取得部32から直接データを受信し、学習時にリアルタイムで分析を行ってもよい。その場合、編集履歴情報記憶部33と脳波情報記憶部34は不要となる。 That is, in the present embodiment, the component analysis process (step S350), the block structure trial and error analysis process (step S360), and the error analysis process (step S370) are the edit history information after the learning is completed once. An example of analysis based on the data stored in the storage unit 33 and the brain wave information storage unit 34 has been described. Not limited to this, the component analysis process (step S350), the block structure trial and error analysis process (step S360), and the error analysis process (step S370) are performed from the edit history information acquisition unit 31 and the brain wave information acquisition unit 32. Data may be received directly and analyzed in real time during learning. In that case, the edit history information storage unit 33 and the brain wave information storage unit 34 become unnecessary.

また、本実施の形態では、構成要素分析処理(ステップS350)と、ブロック構造試行錯誤分析処理(ステップS360)と、エラー分析処理(ステップS370)とを、並列に記述している。これに限らず、本実施の形態において実行する処理は、構成要素分析処理(ステップS350)のみでもよいし、ブロック構造試行錯誤分析処理(ステップS360)のみでもよいし、エラー分析処理(ステップS370)のみでもよいし、この3つの処理のいずれかを組み合わせた任意の組み合わせの処理のみでもよい。 Further, in the present embodiment, the component analysis process (step S350), the block structure trial and error analysis process (step S360), and the error analysis process (step S370) are described in parallel. Not limited to this, the process to be executed in the present embodiment may be only the component analysis process (step S350), the block structure trial and error analysis process (step S360), or the error analysis process (step S370). It may be only, or it may be only an arbitrary combination of processes that combines any of these three processes.

また、本実施の形態では、構成要素種別分析処理(ステップS3502)として、ブロック構造判定処理(ステップS350201)と、条件分岐条件式要素判定処理(ステップS350202)と、条件分岐ブロック判定処理(ステップS350203)と、繰り返し条件式要素判定処理(ステップS350204)と、繰り返しブロック判定処理(ステップS350205)と、演算要素判定処理(ステップS350206)と、識別子要素判定処理(ステップS350207)と、を含む構成要素分析処理(ステップS350)及びブロック構造試行錯誤分析処理(ステップS360)を実行するが、関数ブロックを判定してもよいし、変数や配列の代入や参照などを判定してもよい。分析装置30は、分析結果を利用する利用者の要求に従って、構成要素の種類を追加や削除を行えばよい。 Further, in the present embodiment, as the component type analysis process (step S3502), the block structure determination process (step S350201), the conditional branch conditional element determination process (step S350202), and the conditional branch block determination process (step S350203) are performed. ), Repeated conditional expression element determination process (step S350204), iterative block determination process (step S350205), arithmetic element determination process (step S350206), and identifier element determination process (step S350207). The process (step S350) and the block structure trial / error analysis process (step S360) are executed, but the function block may be determined, or the assignment or reference of a variable or array may be determined. The analyzer 30 may add or delete the types of components according to the request of the user who uses the analysis result.

また、本実施の形態では、構成要素種別分析処理(ステップS3502)の各分析において、“{”や“}”などの記号をブロックの境界として判定に利用しているが、“{”や“}”を使わないプログラミング言語の場合、その言語特有の境界(例えばPython言語におけるインデント)を判定することによって適用が可能である。 Further, in the present embodiment, in each analysis of the component type analysis process (step S3502), symbols such as "{" and "}" are used for determination as block boundaries, but "{" and " In the case of a programming language that does not use} ”, it can be applied by determining the boundaries peculiar to that language (for example, indentation in the Python language).

具体的には、構成要素分析部35は、開始括弧については、スペースキーやタブキーが押された際に、それが行頭か否かをチェックすることによって判定する。そして、構成要素分析部35は、終了括弧の検出において、リターンキーが押された次の行の行頭がインデントされたか否かを判定する必要があるため、リターンキーが押され、かつ、次のログがスペースやインデントではないというように二つのログをチェックすることで判定を行う。 Specifically, the component analysis unit 35 determines the start parenthesis by checking whether or not it is the beginning of a line when the space key or the tab key is pressed. Then, in the detection of the closing parenthesis, the component analysis unit 35 needs to determine whether or not the beginning of the line following the return key is indented, so that the return key is pressed and the next line is indented. Judgment is made by checking two logs so that the logs are not spaces or indents.

また、本実施の形態では、構成要素分析部35は、情動状態分析処理(ステップS3504)において、「困難」「簡単」「普通」というように3段階の判定を行っているが、「やや困難」や「やや簡単」などのように必要に応じてより多くの区分で判定してもよい。 Further, in the present embodiment, the component analysis unit 35 makes a three-step determination such as "difficult", "easy", and "normal" in the emotional state analysis process (step S3504), but it is "slightly difficult". You may make a judgment in more categories as needed, such as "" or "somewhat easy".

また、構成要素分析部35は、構成要素分析処理(ステップS350)の総編集時間が所定時間より長いか否かの判定(ステップS3509)では、上記のように、予め設定した所定時間を越えているかを判断するほか、学習者全体の平均編集時間に対して標準偏差の2倍以上の時間がかかっている場合というように統計的に判定することもできる。 Further, in the determination (step S3509) of whether or not the total editing time of the component analysis process (step S350) is longer than the predetermined time, the component analysis unit 35 exceeds the preset predetermined time as described above. In addition to determining whether or not it is possible to make a statistical determination, such as when it takes more than twice the standard deviation with respect to the average editing time of the entire learner.

また、構成要素分析部35は、構成要素分析処理(ステップS350)の情動状態が困難であるか否かの判定(ステップS3511)において、ある構成要素の総編集時間がある閾値を下回っており、かつ、情動的にも「困難」と判定された場合に「困難」であると判定してもよい。また、構成要素分析部35は、ステップS3511において、学習者全体の平均編集時間に対して、対象学習者の編集時間が標準偏差の1倍以上より下回っており、かつ、情動的にも「困難」と判定された場合に「困難」であると判定してもよい。 Further, the component analysis unit 35 determines whether or not the emotional state of the component analysis process (step S350) is difficult (step S3511), and the total editing time of a certain component is below a certain threshold value. Moreover, when it is emotionally determined to be "difficult", it may be determined to be "difficult". Further, in step S3511, the component analysis unit 35 has an editing time of the target learner less than 1 times the standard deviation with respect to the average editing time of the entire learner, and is emotionally “difficult”. If it is determined to be "difficult", it may be determined to be "difficult".

また、ブロック構造試行錯誤分析部36は、ブロック構造機構錯誤分析(ステップS360)の所定時間より長いか否かの判定(ステップS3610)において、上記のように、予め設定した値を越えているかを判断するほか、学習者全体の平均編集時間に対して標準偏差の2倍以上の時間がかかっている場合というように統計的に決めることもできる。 Further, in the determination (step S3610) of whether or not the block structure mechanism error analysis (step S360) is longer than the predetermined time, the block structure trial and error analysis unit 36 determines whether or not the preset value is exceeded as described above. In addition to making a judgment, it can also be statistically determined, such as when it takes more than twice the standard deviation for the average editing time of the entire learner.

また、ブロック構造試行錯誤分析部36は、ブロック構造機構錯誤分析処理(ステップS360)の情動状態が困難であるか否かの判定(ステップS3612)において、ある構成要素の総編集時間がある閾値を下回っており、かつ、情動的にも「困難」と判定した場合としてもよい。また、ブロック構造機構錯誤分析学習者全体の平均編集時間に対して,対象学習者の編集時間が標準偏差の1倍以上より下回っており、かつ情動的にも「困難」と判定された場合に「困難」であると判定してもよい。 Further, the block structure trial and error analysis unit 36 sets a certain threshold value for the total editing time of a certain component in the determination (step S3612) of whether or not the emotional state of the block structure mechanism error analysis process (step S360) is difficult. It may be the case that the value is lower than the above and it is emotionally judged to be "difficult". In addition, when the editing time of the target learner is less than 1 times the standard deviation with respect to the average editing time of the entire block structure mechanism error analysis learner, and it is emotionally judged to be "difficult". It may be determined to be "difficult".

また、本実施の形態では、エラー分析処理(ステップS370)の特定のエラーの頻度が閾値を越えたか否かの判定(ステップS3707)において、閾値を予め設定してもよいし、学習者全体の平均回数からの偏差によって動的に定めてもよい。 Further, in the present embodiment, the threshold value may be set in advance in the determination (step S3707) of whether or not the frequency of a specific error in the error analysis process (step S370) exceeds the threshold value, or the learner as a whole may set the threshold value in advance. It may be dynamically determined by the deviation from the average number of times.

また、本実施の形態では、構成要素分析処理(ステップS350)において、編集履歴情報331の各レコードに対して構成要素を判定するが、各レコードに対して複数の構成要素が判定される場合がある。例えば、構成要素分析部35は、繰り返しブロックの中に条件分岐ブロックがある場合、該レコードは、繰り返しブロックと条件分岐ブロックの両方の構成要素として判定する。この場合、構成要素分析結果381には、複数のレコードとして記録されることになる。 Further, in the present embodiment, in the component analysis process (step S350), the component is determined for each record of the edit history information 331, but a plurality of components may be determined for each record. be. For example, when the component analysis unit 35 has a conditional branch block in the repeating block, the record is determined as a component of both the repeating block and the conditional branch block. In this case, the component analysis result 381 will be recorded as a plurality of records.

[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。本実施の形態に係る学習装置20及び分析装置30は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
[System configuration, etc.]
Each component of each of the illustrated devices is functional and conceptual, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. Can be integrated and configured. Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic. The learning device 20 and the analysis device 30 according to the present embodiment can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided through a network.

また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、或いは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 Further, among the processes described in the present embodiment, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed can be performed. All or part of it can be done automatically by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above document and drawings can be arbitrarily changed unless otherwise specified.

[プログラム]
図24は、プログラムが実行されることにより、学習装置20及び分析装置30が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 24 is a diagram showing an example of a computer in which the learning device 20 and the analysis device 30 are realized by executing the program. The computer 1000 has, for example, a memory 1010 and a CPU 1020. The computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.

メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。例えば、これらの記憶媒体は、主記憶装置と補助記憶装置に分けられる。主記憶装置はプログラムを記憶する。また、補助記憶装置は、情報の書き込み及び読出しが可能であり、処理の実行によって取得された編集履歴情報、脳波情報、構成要素分析情報、ブロック構造試行錯誤分析結果及びエラー分析結果を記憶する。 Memory 1010 includes ROM 1011 and RAM 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090. The disk drive interface 1040 is connected to the disk drive 1100. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120. The video adapter 1060 is connected to, for example, the display 1130. For example, these storage media are divided into a main storage device and an auxiliary storage device. The main memory stores the program. In addition, the auxiliary storage device can write and read information, and stores edit history information, electroencephalogram information, component analysis information, block structure trial and error analysis results, and error analysis results acquired by executing the process.

ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置20及び分析装置30の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置20及び分析装置30における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(ステップSolid State Drive)により代替されてもよい。 The hard disk drive 1090 stores, for example, the OS 1091, the application program 1092, the program module 1093, and the program data 1094. That is, the program that defines each process of the learning device 20 and the analysis device 30 is implemented as a program module 1093 in which a code that can be executed by the computer 1000 is described. The program module 1093 is stored in, for example, the hard disk drive 1090. For example, the program module 1093 for executing the same processing as the functional configuration in the learning device 20 and the analysis device 30 is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced by an SSD (step Solid State Drive).

また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。 Further, the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 and executes them as needed.

なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。或いは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。 The program module 1093 and the program data 1094 are not limited to those stored in the hard disk drive 1090, and may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.

以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等はすべて本発明の範疇に含まれる。 Although the embodiment to which the invention made by the present inventor is applied has been described above, the present invention is not limited by the description and the drawings which form a part of the disclosure of the present invention according to the present embodiment. That is, all other embodiments, examples, operational techniques, and the like made by those skilled in the art based on the present embodiment are included in the scope of the present invention.

1 分析システム
20 学習装置
21 編集履歴情報取得部
22 脳波情報取得部
30 分析装置
31 編集履歴情報取得部
32 脳波情報取得部
33 編集履歴情報記憶部
34 脳波情報記憶部
35 構成要素分析部
36 ブロック構造試行錯誤分析部
37 エラー分析部
38 構成要素分析結果記憶部
39 ブロック構造試行錯誤分析結果記憶部
40 エラー分析結果記憶部
41 分析結果出力部
1 Analysis system 20 Learning device 21 Editing history information acquisition unit 22 Brain wave information acquisition unit 30 Analysis device 31 Editing history information acquisition unit 32 Brain wave information acquisition unit 33 Editing history information storage unit 34 Brain wave information storage unit 35 Component analysis unit 36 Block structure Trial and error analysis unit 37 Error analysis unit 38 Component analysis result storage unit 39 Block structure Trial and error analysis result storage unit 40 Error analysis result storage unit 41 Analysis result output unit

Claims (11)

学習者によるプログラムの作成過程における編集履歴情報と、前記学習者の脳波の状態を示す脳波情報とを取得する取得部と、
前記編集履歴情報と前記脳波情報とに基づいて、前記プログラムの各構成要素に対する前記学習者の弱点を分析する分析部と、
前記分析部による分析結果を構成情報分析結果として出力する出力部と、
を有することを特徴とする分析システム。
An acquisition unit that acquires edit history information in the process of creating a program by a learner and brain wave information indicating the state of the learner's brain wave.
An analysis unit that analyzes the learner's weaknesses with respect to each component of the program based on the editing history information and the brain wave information.
An output unit that outputs the analysis result by the analysis unit as a configuration information analysis result,
An analytical system characterized by having.
学習者によるプログラムの作成過程における編集履歴情報と、前記学習者の脳波の状態を示す脳波情報とを取得する取得部と、
前記編集履歴情報と前記脳波情報とに基づいて、前記プログラムのブロック構造に関する前記学習者の弱点を分析する分析部と、
前記分析部による分析結果をブロック構造試行錯誤分析結果として出力する出力部と、
を有することを特徴とする分析システム。
An acquisition unit that acquires edit history information in the process of creating a program by a learner and brain wave information indicating the state of the learner's brain wave.
An analysis unit that analyzes the learner's weaknesses regarding the block structure of the program based on the editing history information and the brain wave information.
An output unit that outputs the analysis result by the analysis unit as a block structure trial and error analysis result,
An analytical system characterized by having.
前記取得部は、前記学習者によるプログラムの作成過程における編集履歴情報を取得し、 The acquisition unit acquires edit history information in the process of creating a program by the learner.
前記分析部は、前記編集履歴情報に基づいて、前記プログラムのエラーに関する前記学習者の弱点を、エラーの種別ごとに分析し、 Based on the editing history information, the analysis unit analyzes the weaknesses of the learner regarding the error of the program for each type of error.
前記出力部は、前記分析部による分析結果をエラー分析結果として出力することを特徴とする請求項1または2に記載の分析システム。 The analysis system according to claim 1 or 2, wherein the output unit outputs an analysis result by the analysis unit as an error analysis result.
前記学習者の学習時に、前記編集履歴情報を取得し、前記取得部に該編集履歴情報を出力する編集履歴情報取得部と、
前記学習者の学習時に、前記学習者の脳波情報を取得し、前記取得部へ該脳波情報を提供する脳波情報取得部と、
を有する学習装置をさらに有することを特徴とする請求項1~3のいずれか一つに記載の分析システム。
An edit history information acquisition unit that acquires the edit history information and outputs the edit history information to the acquisition unit during learning by the learner.
At the time of learning of the learner, the brain wave information acquisition unit that acquires the brain wave information of the learner and provides the brain wave information to the acquisition unit, and
The analysis system according to any one of claims 1 to 3, further comprising a learning device having the above.
前記取得部が、前記学習装置における前記編集履歴情報取得部から取得した前記編集履歴情報を記憶する編集履歴情報記憶部と、
前記取得部が、前記学習装置における前記脳波情報取得部から取得した前記脳波情報を記憶する脳波情報記憶部と、
を有することを特徴とする請求項4に記載の分析システム。
The acquisition unit includes an edit history information storage unit that stores the edit history information acquired from the edit history information acquisition unit in the learning device.
The acquisition unit includes an electroencephalogram information storage unit that stores the electroencephalogram information acquired from the electroencephalogram information acquisition unit in the learning device.
4. The analysis system according to claim 4.
分析装置が実行する分析方法であって、
学習者によるプログラムの作成過程における編集履歴情報と、前記学習者の脳波の状態を示す脳波情報とを取得する取得工程と、
前記編集履歴情報と前記脳波情報とに基づいて、前記プログラムの各構成要素に対する学習者の弱点を分析する分析工程と、
分析結果を構成情報分析結果として出力する出力工程と、
を含んだことを特徴とする分析方法。
An analytical method performed by an analyzer,
An acquisition process for acquiring edit history information in the process of creating a program by a learner and brain wave information indicating the state of the learner's brain waves.
An analysis process for analyzing the learner's weaknesses with respect to each component of the program based on the editing history information and the brain wave information.
An output process that outputs the analysis result as a configuration information analysis result,
An analysis method characterized by including.
前記分析工程は、
前記編集履歴情報を用いて、該編集履歴情報のすべてのレコードについて、構成要素種別を分析する第1の分析工程と、
前記構成要素種別を分析する工程において特定された構成要素種別の開始時間及び終了時間から編集時間を算出する第1の算出工程と、
前記脳波情報を用いて前記開始時間及び終了時間の間の脳波情報の状態を段階評価で示す情動状態を分析する第2の分析工程と、
前記編集履歴情報のすべてのレコードにおける前記構成要素種別、前記編集時間及び前記情動状態を基に、前記構成要素種別ごとの総編集時間を算出し、前記構成要素種別ごとに、同じ構成要素種別のレコードにおける情動状態に対する段階評価の平均である平均情動状態を取得する第2の算出工程と、
各構成要素種別について前記総編集時間が所定時間より長いか否かを判定する第1の判定工程と、
前記第1の判定工程において、前記総編集時間が所定時間より長いと判定された構成要素種別は、前記学習者にとっての弱点であると判定する第2の判定工程と、
前記第1の判定工程において前記総編集時間が所定時間以下であると判定された構成要素種別について、前記平均情動状態が「困難」であるか否かを判定する第3の判定工程と、
前記第3の判定工程において平均情動状態が「困難」であると判定された構成要素種別は、前記学習者にとっての弱点であると判定する第4の判定工程と、
前記第3の判定工程において平均情動状態が「困難」でないと判定された構成要素種別は、前記学習者にとっての弱点ではないと判定する第5の判定工程と、
を含み、
前記第3の判定工程は、分析対象の時刻における脳波情報が、予め定められた第1の閾値より大きい場合、情動状態を「困難」であると判定し、前記分析対象の時刻における脳波情報が前記第1の閾値以下であって、かつ、予め定められた第2の閾値より小さい場合、情動状態を「簡単」であると判定し、前記分析対象の時刻における脳波情報が前記第1の閾値以下であって、かつ、前記第2の閾値以上であると判定した場合、情動状態を「普通」であると判定することを特徴とする請求項6に記載の分析方法。
The analysis step is
A first analysis step of analyzing component types for all records of the edit history information using the edit history information, and
The first calculation step of calculating the editing time from the start time and the end time of the component type specified in the step of analyzing the component type, and
A second analysis step of analyzing an emotional state showing the state of the brain wave information during the start time and the end time by a step evaluation using the brain wave information, and a second analysis step.
The total editing time for each component type is calculated based on the component type, the editing time, and the emotional state in all the records of the editing history information, and the same component type is calculated for each component type. The second calculation step of acquiring the average emotional state, which is the average of the graded evaluations for the emotional state in the record , and
A first determination step for determining whether or not the total editing time is longer than a predetermined time for each component type, and
In the first determination step, the component type determined that the total editing time is longer than the predetermined time is the weak point for the learner, and the second determination step.
A third determination step for determining whether or not the average emotional state is "difficult" for a component type determined to have a total editing time of a predetermined time or less in the first determination step.
The component type in which the average emotional state is determined to be "difficult" in the third determination step is the fourth determination step in which the learner is determined to be a weak point.
In the third determination step, the component type determined that the average emotional state is not "difficult" is not a weak point for the learner, and the fifth determination step.
Including
In the third determination step, when the brain wave information at the time of the analysis target is larger than the predetermined first threshold value, the emotional state is determined to be "difficult", and the brain wave information at the time of the analysis target is obtained. When it is equal to or less than the first threshold value and smaller than the predetermined second threshold value, the emotional state is determined to be "easy", and the brain wave information at the time of the analysis target is the first threshold value. The analysis method according to claim 6, wherein the analysis method is as follows, and when it is determined that the threshold value is equal to or higher than the second threshold value, the emotional state is determined to be "normal" .
分析装置が実行する分析方法であって、
学習者によるプログラムの作成過程における編集履歴情報と、前記学習者の脳波の状態を示す脳波情報とを取得する取得工程と、
前記編集履歴情報と前記脳波情報とに基づいて、前記プログラムのブロック構造に関する前記学習者の弱点を分析する分析工程と、
分析結果をブロック構造試行錯誤分析結果として出力する出力工程と、
を含んだことを特徴とする分析方法。
An analytical method performed by an analyzer,
An acquisition process for acquiring edit history information in the process of creating a program by a learner and brain wave information indicating the state of the learner's brain waves.
An analysis step for analyzing the learner's weaknesses regarding the block structure of the program based on the editing history information and the brain wave information.
An output process that outputs the analysis results as block structure trial and error analysis results,
An analysis method characterized by including.
前記分析工程は、
前記編集履歴情報を基に、前記編集履歴情報のすべてのレコードに対して、判定対象の編集履歴が中括弧の入力或いは削除であるか否かを判定する第1の判定工程と、
前記第1の判定工程において前記判定対象の編集履歴が中括弧の入力或いは削除であると判定された場合、前記中括弧が前記プログラムの先頭から何番目の中括弧であるかを算出する第1の算出工程と、
前記判定対象の編集履歴が中括弧の削除であるか否かを判定する第2の判定工程と、
前記第2の判定工程において前記判定対象の編集履歴が中括弧の削除であると判定された場合、前記中括弧が入力されてから削除されるまでの時間を算出する第2の算出工程と、
前記脳波情報を用いて、前記編集履歴情報のすべてのレコードについて分析対象の時刻における脳波情報の状態を段階評価で示す情動状態を分析する第1の分析工程と、
前記編集履歴情報のすべてのレコードに対して前記第1の判定工程、前記第2の判定工程及び前記第1の分析工程が終了した後に、すべてのブロック構造の作成から削除までの総編集時間を算出し、すべてのブロック構造の作成から削除までのレコードごとの情動状態の段階評価の平均である平均情動状態を取得する第3の算出工程と、
前記ブロック構造の総編集時間が所定時間より長いか否かを判定する第3の判定工程と、
前記第3の判定工程において前記ブロック構造の総編集時間が所定時間より長いと判定された場合、前記学習者は前記ブロック構造が理解できていないと判定する第4の判定工程と、
前記第3の判定工程において前記ブロック構造の総編集時間が所定時間以下であると判定された場合、前記平均情動状態が「困難」であるか否かを判定する第5の判定工程と、
前記第5の判定工程において前記平均情動状態が「困難」であると判定された場合、前記学習者はブロック構造を理解できていないと判定する第6の判定工程と、
前記第5の判定工程において前記平均情動状態が「困難」と判定されない場合、前記学習者はブロック構造を理解できていると判定する第7の判定工程と、
を含み、
前記第5の判定工程は、分析対象の時刻における脳波情報が、予め定められた第1の閾値より大きい場合、情動状態を「困難」であると判定し、前記分析対象の時刻における脳波情報が前記第1の閾値以下であって、かつ、予め定められた第2の閾値より小さい場合、情動状態を「簡単」であると判定し、前記分析対象の時刻における脳波情報が前記第1の閾値以下であって、かつ、前記第2の閾値以上であると判定した場合、情動状態を「普通」であると判定することを特徴とする請求項8に記載の分析方法。
The analysis step is
Based on the edit history information, the first determination step of determining whether or not the edit history to be determined is the input or deletion of curly braces for all the records of the edit history information.
When it is determined in the first determination step that the editing history of the determination target is the input or deletion of the curly braces, the first is to calculate the number of the curly braces from the beginning of the program. Calculation process and
A second determination step of determining whether or not the editing history of the determination target is the deletion of curly braces, and
When it is determined in the second determination step that the editing history of the determination target is the deletion of the curly braces, the second calculation step of calculating the time from the input of the curly braces to the deletion of the curly braces,
Using the electroencephalogram information, a first analysis step of analyzing an emotional state showing the state of the electroencephalogram information at the time of analysis for all records of the edit history information in a stepwise evaluation, and
After the first determination step, the second determination step, and the first analysis step are completed for all the records of the edit history information, the total edit time from the creation to the deletion of all the block structures is set. The third calculation process to obtain the average emotional state, which is the average of the stage evaluation of the emotional state for each record from the creation to the deletion of all the block structures,
A third determination step of determining whether or not the total editing time of the block structure is longer than a predetermined time, and
When it is determined in the third determination step that the total editing time of the block structure is longer than a predetermined time, the learner determines that the block structure is not understood, and the fourth determination step.
When it is determined in the third determination step that the total editing time of the block structure is not more than a predetermined time, the fifth determination step of determining whether or not the average emotional state is "difficult" is used.
When the average emotional state is determined to be "difficult" in the fifth determination step, the sixth determination step of determining that the learner does not understand the block structure, and
When the average emotional state is not determined to be "difficult" in the fifth determination step, the seventh determination step of determining that the learner understands the block structure, and
Including
In the fifth determination step, when the brain wave information at the time of the analysis target is larger than the predetermined first threshold value, the emotional state is determined to be "difficult", and the brain wave information at the time of the analysis target is obtained. When it is equal to or less than the first threshold value and smaller than the predetermined second threshold value, the emotional state is determined to be "easy", and the brain wave information at the time of the analysis target is the first threshold value. The analysis method according to claim 8, wherein the analysis method is as follows, and when it is determined that the threshold value is equal to or higher than the second threshold value, the emotional state is determined to be "normal" .
前記取得工程は、前記学習者によるプログラムの作成過程における編集履歴情報を取得する取得工程と、 The acquisition process includes an acquisition process for acquiring edit history information in the process of creating a program by the learner.
前記分析工程は、前記編集履歴情報に基づいて、前記プログラムのエラーに関する前記学習者の弱点を、エラーの種別ごとに分析し、 The analysis step analyzes the weaknesses of the learner regarding the error of the program for each type of error based on the editing history information.
前記出力工程は、分析結果をエラー分析結果として出力する出力工程と、 The output process includes an output process that outputs the analysis result as an error analysis result.
を含んだことを特徴とする請求項6または8に記載の分析方法。 The analysis method according to claim 6 or 8, wherein the analysis method comprises.
前記分析工程は、
前記編集履歴情報を用いて、前記編集履歴情報のエラーをエラー種別ごとにカウントする工程と、
前記カウントしたエラーについて、一定時間内に同じエラーが繰り返されているか否かをエラー種別ごとに判定する第1の判定工程と、
前記第1の判定工程において同じエラーが繰り返されていると判定されたエラー種別に関し、前記学習者はエラーの意味が理解できていないと判定する第2の判定工程と、
前記第1の判定工程において同じエラーが繰り返されていないと判定されたエラー種別について、特定のエラーの頻度が予め設定された閾値を越えたか否かを判定する第3の判定工程と、
前記第3の判定工程において前記特定のエラーの頻度が予め設定された閾値を越えたと判定されたエラー種別について、前記学習者は該当エラーのケアレスミスが多いと判定する第4の判定工程と、
前記第3の判定工程において前記特定のエラーの頻度が予め設定された閾値を越えていないと判定されたエラー種別について、前記学習者は、該エラー種別のエラーに関しては通常の理解度であると判定する第5の判定工程と、
含んだことを特徴とする請求項10に記載の分析方法。
The analysis step is
A process of counting errors in the edit history information for each error type using the edit history information, and
With respect to the counted errors, the first determination step of determining whether or not the same error is repeated within a certain period of time for each error type, and
Regarding the error type in which the same error is determined to be repeated in the first determination step, the second determination step in which the learner determines that the meaning of the error is not understood, and the second determination step.
A third determination step of determining whether or not the frequency of a specific error exceeds a preset threshold value for an error type determined that the same error is not repeated in the first determination step.
With respect to the error type in which the frequency of the specific error is determined to exceed a preset threshold value in the third determination step, the learner determines that there are many careless mistakes of the error, and the fourth determination step.
Regarding the error type in which the frequency of the specific error is determined not to exceed the preset threshold value in the third determination step, the learner has a normal understanding of the error of the error type. The fifth determination step for determination and
The analysis method according to claim 10, wherein the analysis method is included.
JP2018112359A 2018-06-12 2018-06-12 Analytical system and analytical method Active JP7057566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018112359A JP7057566B2 (en) 2018-06-12 2018-06-12 Analytical system and analytical method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018112359A JP7057566B2 (en) 2018-06-12 2018-06-12 Analytical system and analytical method

Publications (2)

Publication Number Publication Date
JP2019215438A JP2019215438A (en) 2019-12-19
JP7057566B2 true JP7057566B2 (en) 2022-04-20

Family

ID=68918638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018112359A Active JP7057566B2 (en) 2018-06-12 2018-06-12 Analytical system and analytical method

Country Status (1)

Country Link
JP (1) JP7057566B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022114224A1 (en) * 2020-11-30 2022-06-02 国立大学法人大阪大学 Determination device and program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
プログラミング演習授業における学習状況把握支援の試み,情報処理学会論文誌,情報処理学会,2013年12月15日,2518-2527ページ,<URL>URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=96773&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=8,ISSN:1882-7764, [2022年3月8日検索]
中澤真 他,「Scratch」を用いたプログラミング学習時の閲覧履歴・編集履歴・脳波履歴を組み合わせた学習者分析,情報処理学会研究報告, [online],2017年02月11日,Vol.2017-CE-138 No.1,<URL>http://www.waseda.jp/prj-ngel/material/pub/16/NUGH17a.pdf,[2021年7月26日検索]
藤原賢二 他,スナップショットを用いたプログラミング演習における行き詰まり箇所の特定,コンピュータソフトウェア,第35巻1号,日本ソフトウェア科学会,2018年03月26日,<URL>https://www.jstage.jst.go.jp/article/jsset/35/1/35_1_3/_pdf/-char/ja, <DOI>https://doi.org/10.11309/jssst.35.1_3,ISSN:0289-6540, [2021年7月26日検索]

Also Published As

Publication number Publication date
JP2019215438A (en) 2019-12-19

Similar Documents

Publication Publication Date Title
CN108279885B (en) Method and device for integrating software of multiple model codes
Rajagopal et al. A new approach for software requirements elicitation
JP2023509405A (en) Translation method, device, electronic device and computer program
Munoz et al. Development of a software that supports multimodal learning analytics: A case study on oral presentations
CN111563029A (en) Testing method, system, storage medium and computer equipment for conversation robot
CN108681505B (en) Test case ordering method and device based on decision tree
US20030182098A1 (en) Derating factor determination for integrated circuit logic design tools
JP7057566B2 (en) Analytical system and analytical method
Li A study on the influence of non-intelligence factors on college students’ English learning achievement based on C4. 5 algorithm of decision tree
CN111814443A (en) Table generation method and device combining RPA and AI, computing equipment and storage medium
CN109189766B (en) Teaching scheme acquisition method and device and electronic equipment
Araya et al. Predicting student performance in computing courses based on programming behavior
CA3146125A1 (en) Method and system for returning customer service log feedback to database
CN114300160A (en) Inquiry dialogue method and system
CN112631850A (en) Fault scene simulation method and device
Fraser Quality standards for spoken language dialogue systems: a report on progress in EAGLES
JP2002015085A (en) Estimation system and method for timing and cost of service events in product life cycle
Gillan et al. Using pathfinder networks to analyze procedural knowledge in interactions with advanced technology
JP2020060698A (en) Problem presentation device, problem presentation system, problem presentation method, and problem presentation program
JP2005221895A (en) Examination system, examination problem updating program and automatic updating method of examination problem
Schwandt Qualitative data analysis: A sourcebook of new methods: by Mathew B. Miles and A. Michael Huberman Beverly Hills, CA: Sage, 1984. 263 pages
JP6827610B1 (en) Development support equipment, programs and development support methods
Austing The GRE Advanced Test in computer science
KR102668347B1 (en) Method and system for artificial intelligence-based writing practice instruction to train web novel writers
CN112560344B (en) Method and device for constructing model servo system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220324

R150 Certificate of patent or registration of utility model

Ref document number: 7057566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150