当前位置: X-MOL 学术IEEE Trans. Learning Technol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Predicting Students’ Difficulties From a Piece of Code
IEEE Transactions on Learning Technologies ( IF 3.7 ) Pub Date : 2021-06-28 , DOI: 10.1109/tlt.2021.3092998
Marco Moresi 1 , Marcos J. Gómez 1 , Luciana Benotti 1
Affiliation  

Based on hundreds of thousands of hours of data about how students learn in massive open online courses, educational machine learning promises to help students who are learning to code. However, in most classrooms, students and assignments do not have enough historical data for feeding these data hungry algorithms. Previous work on predicting dropout is data hungry and, moreover, requires the code to be syntactically correct. As we deal with beginners’ code in a text-based language our models are trained on noisy student text; almost 40% of the code in our datasets contains parsing errors. In this article, we compare two machine learning models that predict whether students need help regardless of whether their code compiles or not. That is, we compare two methods for automatically predicting whether students will be able to solve a programming exercise on their own. The first model is a heavily feature-engineered approach that implements pedagogical theories of the relation between student interaction patterns and the probability of dropout; it requires a rich history of student interaction. The second method is based on a short program (that may contain errors) written by a student, together with a few hundred attempts by their classmates on the same exercise. This second method uses natural language processing techniques; it is based on the intuition that beginners’ code may be closer to a natural language than to a formal one. It is inspired by previous work on predicting people's fluency when learning a second natural language.

中文翻译:

从一段代码预测学生的困难

基于数十万小时关于学生如何在大规模开放在线课程中学习的数据,教育机器学习有望帮助正在学习编码的学生。然而,在大多数课堂中,学生和作业没有足够的历史数据来提供这些数据饥渴的算法。之前预测 dropout 的工作需要大量数据,而且需要代码在语法上正确。当我们用基于文本的语言处理初学者的代码时,我们的模型是在嘈杂的学生文本上训练的;我们数据集中几乎 40% 的代码包含解析错误。在本文中,我们比较了两种机器学习模型,它们可以预测学生是否需要帮助,而不管他们的代码是否编译。那是,我们比较了两种自动预测学生是否能够自己解决编程练习的方法。第一个模型是一种高度特征工程的方法,它实现了学生互动模式与辍学概率之间关系的教学理论;它需要丰富的学生互动历史。第二种方法是基于一个学生编写的一个简短的程序(可能包含错误),以及他们的同学在同一个练习上的几百次尝试。第二种方法使用自然语言处理技术;它基于这样一种直觉,即初学者的代码可能更接近于自然语言而不是正式语言。它的灵感来自之前在学习第二自然语言时预测人们流利程度的工作。第一个模型是一种高度特征工程的方法,它实现了学生互动模式与辍学概率之间关系的教学理论;它需要丰富的学生互动历史。第二种方法是基于一个学生编写的一个简短的程序(可能包含错误),以及他们的同学在同一个练习上的几百次尝试。第二种方法使用自然语言处理技术;它基于这样一种直觉,即初学者的代码可能更接近于自然语言而不是正式语言。它的灵感来自之前在学习第二自然语言时预测人们流利程度的工作。第一个模型是一种高度特征工程的方法,它实现了学生互动模式与辍学概率之间关系的教学理论;它需要丰富的学生互动历史。第二种方法是基于一个学生编写的一个简短的程序(可能包含错误),以及他们的同学在同一个练习上的几百次尝试。第二种方法使用自然语言处理技术;它基于这样一种直觉,即初学者的代码可能更接近于自然语言而不是正式语言。它的灵感来自之前在学习第二自然语言时预测人们流利程度的工作。它需要丰富的学生互动历史。第二种方法是基于一个学生编写的一个简短的程序(可能包含错误),以及他们的同学在同一个练习上的几百次尝试。第二种方法使用自然语言处理技术;它基于这样一种直觉,即初学者的代码可能更接近于自然语言而不是正式语言。它的灵感来自之前在学习第二自然语言时预测人们流利程度的工作。它需要丰富的学生互动历史。第二种方法是基于一个学生编写的一个简短的程序(可能包含错误),以及他们的同学在同一个练习上的几百次尝试。第二种方法使用自然语言处理技术;它基于这样一种直觉,即初学者的代码可能更接近于自然语言而不是正式语言。它的灵感来自之前在学习第二自然语言时预测人们流利程度的工作。它基于这样一种直觉,即初学者的代码可能更接近于自然语言而不是正式语言。它的灵感来自之前在学习第二自然语言时预测人们流利程度的工作。它基于这样一种直觉,即初学者的代码可能更接近于自然语言而不是正式语言。它的灵感来自之前在学习第二自然语言时预测人们流利程度的工作。
更新日期:2021-06-28
down
wechat
bug