一句话:整理编程语言行为误解清单与检测工具,并构建自动辅导系统来识别和纠正它们。
论文关注学生对可变变量、可变复合数据及其与作用域和高阶函数交互的误解。由于专家也容易有盲点,作者从多年学生作业中提炼出一份精选误解清单,并开发检测工具,以定位这些常见但隐蔽的理解偏差。在此基础上,他们设计了一个自动化、自我引导的辅导系统,其策略源自教育研究,并明确围绕误解的识别与纠正展开。作者在多种教学场景中测试该系统,数据一致表明:所处理的误解十分普遍,且该系统似乎能提升学生的理解。
Misconceptions about core linguistic concepts like mutable variables, mutable compound data, and their interaction with scope and higher-order functions seem to be widespread. But how do we detect them, given that experts have blind spots and may not realize the myriad ways in which students can misunderstand programs? Furthermore, once identified, what can we do to correct them? In this paper, we present a curated list of misconceptions, and an instrument to detect them. These are distilled from student work over several years and match and extend prior research. We also present an automated, self-guided tutoring system. The tutor builds on strategies in the education literature and is explicitly designed around identifying and correcting misconceptions. We have tested the tutor in multiple settings. Our data consistently show that (a) the misconceptions we tackle are widespread, and (b) the tutor appears to improve understanding.
@article{paperbot2559,
title = {Identifying and Correcting Programming Language Behavior Misconceptions},
author = {Kuang-Chen Lu and Shriram Krishnamurthi},
journal = {Proceedings of the ACM on Programming Languages},
volume = {8},
number = {OOPSLA1},
year = {2024},
doi = {10.1145/3649823}
}