@techreport{oai:ipsj.ixsq.nii.ac.jp:00234600, author = {原田, 裕太 and 佐藤, 綜一郎 and 中村, 勝一 and 宮寺, 庸造 and Yuta, Harada and Soichiro, Sato and Shoichi, Nakamura and Youzou, Miyadera}, issue = {2}, month = {Jun}, note = {大学で行われるプログラミング演習授業において,学習者が直面する問題は,コンパイルエラーとして表出する文法エラーと,コンパイルエラーとして表出し難い論理エラーに分類することができる.特に論理エラーは自身の力だけでその原因を探して修正をする必要があるため,解決することが困難である.さらに,学習者の取り組む課題の解法は一つとは限らず,学習者ごとに解法が異なるため,教授者が学習者の論理エラーを解決させる際には,学習者それぞれの解法を考慮した上での支援が必要とされる.本研究では,解法を考慮した上で,学習者が現在起こしている論理エラーを推定する手法を開発することを目的とする.本研究では特に,学習者の解法が表現されていると考えられるプログラムの構造に着目して,ソースコードの類似度をもとにしたクラスタリングを行うことにより,目的の達成を試みた.提案手法を評価実験した結果,7 割ほどの精度で論理エラーの推定を行えることが示唆された., In programming practice classes held at universities, the errors faced by students can be divided into grammatical errors, which are expressed as compilation errors, and logic errors, which are difficult to express as compilation errors. In particular, it is difficult to resolve logic errors because students must find the cause and correct it themselves. Furthermore, there is not only one way to solve a problem that a student is working on, and the method of algorithm coding differs for each student. Therefore, when teachers help students solve logic errors, it is necessary to support them by considering each student's method of algorithm coding. The purpose of this research is to develop a method for identifying the logic errors that learners are currently making, considering each student's method of algorithm coding. In this study, we focused in particular on program structure, which is thought to represent the student's method of algorithm coding, and attempted to achieve this goal by performing clustering based on source code similarity. The results of an evaluation experiment of the proposed method suggested that logic errors can be estimated with an accuracy of about 70%.}, title = {プログラムの構造に着目したソースコードのクラスタリングによる論理エラーの推定手法}, year = {2024} }