VizProg:通过可视化学生编码进度来识别误解
荣誉提名文献标题
VizProg: Identifying Misunderstandings By Visualizing Students’ Coding Progress
文献信息
- 主题领域: 编程教育与实时代码可视化
- 关键词: 编程教育, 代码可视化, 实时监控, 学生行为分析, 教育技术, 学习进度, 概念误解, 教学性能提升
研究背景与问题
-
作者发现的问题/挑战:
- 在课堂编程练习中,教师需要实时监控学生进度,以识别那些落后的学生并发现误解。但对于大规模课堂,实时观察学生代码变得困难,尤其是短时间的练习。
- 学生的代码中隐藏着许多潜在学习障碍,而这些信息通常不易从代码表面直接显现。
- 尽管已有工具可以帮助监控学生提交的代码,例如Codeopticon和Overcode,但前者难以在大规模课堂环境下运作,后者无法支持实时监控。
-
重要性: 如果不能及时发现问题,学生的错误理解可能发展为长期的学习障碍,从而影响学习效果。实时解决学生的问题和提供反馈对于提高整体学习质量至关重要。
-
研究动机与相关工作: 作者基于编程教师的访谈研究,归纳出以下需求和挑战:
- 教师需要能够实时看到学生的代码进展及解决问题的过程;
- 需要一种方法可以帮助教师在大规模课堂上有效验证学生的进度;
- 能够在保持规模化的同时,为学生提供个性化反馈。
解决方案
-
提出的方法或解决方案: 作者提出了一个系统VizProg,通过一个二维地图实时可视化学生的代码进度。该地图将学生的代码位置编码为:
- 问题解决方式(垂直方向);
- 进度距离正确解决方案的距离(水平方向);
- 时间变化轨迹。
另外,VizProg能够分析代码的语义相似性和编辑距离,从而帮助教师全面理解学生代码的结构和进展。
-
创新之处:
- 此解决方案是首个将学生代码进展用二维可视化实时显示的系统。
- 提供了一种实时编码人类可理解意义的二维地图,将进度和解决方式结合起来呈现。
- 系统不仅可以展示所有学生的实时行为,还能直观显示代码演化的时间和空间变化。
-
实施步骤及关键技术:
- 数据预处理: 包括代码标准化、移除非必要变量等。
- 构建二维地图:
- 利用CodeBERT模型获取代码的向量化表示;
- 使用PCA和T-SNE进行降维以构建解决方案空间。
- 实时编码展示:
- 将学生代码与已有解决方案(正确代码集)的相似性进行比较;
- 实时生成学生代码的进度值并通过二维地图显示。
研究成果
-
具体成果:
- VizProg帮助教师识别了两倍以上的课堂中的学生误解;
- 参与者对学生问题的理解更为准确,并减少了50%以上的时间和交互成本。
-
与现有解决方案的比较:
- 与Codeopticon相比,VizProg更适用于大规模课堂;与OverCode相比,VizProg不仅支持实时代码观测,还考虑了代码编辑过程。
- VizProg可视化的信息更全面,通过轨迹呈现每个学生的代码历史演化。
-
实验或评估结果:
- 提供的二维可视化显著降低了教师的认知负担,使得教师能更高效地找到问题学生并做出反馈。
- 在用户研究中,使用VizProg的参与者表现出更快速的策略形成和反馈生成。
-
局限性与未来方向:
- 当前需要一个多样化且全面的解决方案集来初始化系统,缺乏数据会影响二维地图的构建质量。
- 可视化可能会在大规模课堂中产生过度的信息负担。未来的版本可以探索更新的编码策略以减少认知压力。
- 系统目前只能分析代码进展,无法捕捉其他形式的学生学习行为(例如伪代码的编写过程)。更广泛的行为捕捉和分析可能成为未来的研究方向。
总结
VizProg 提供了一种全新的实时可视化学生代码进展的方式,帮助教师在大规模课堂环境中教学。系统通过二维编码学生行为透明化了他们的进度、解决方案和过程,从而有效地提高了教学质量和学生表现理解。实验结果验证了其在识别学生问题方面的优越性,同时为未来研究提供了扩展的可能方向。
研究问题 / 现实痛点
这篇论文在当前问题库中对应的问题线索。
研究问题
3- 如何通过可视化学生代码进展,实时发现编程课堂中学生的学习误解?分类: 计算与AI素养教育支持同类问题arrow_forward
- 如何为大规模课堂提供适合实时监控学生代码的方法?分类: 计算与AI素养教育支持同类问题arrow_forward
- 如何编码并展示学生代码的进展和问题解决方式,以便于教师快速识别学生的困难?分类: 计算与AI素养教育支持同类问题arrow_forward
现实痛点
1- 教师很难在大规模编程课堂中实时发现学生的学习问题。分类: 计算与AI素养教育支持同类问题arrow_forward
- 83%
探索智能辅导系统在素描基础教学中的潜力
CHI '20· 编程教育与计算思维 +1
- 71%
OATutor:一个开源的自适应辅导系统和精心策划的内容库,用于学习科学的研究
CHI '23· 编程教育与计算思维 +2
- 71%
探索块式编程中教师与聊天机器人的交互及情感
CHI '26· 大语言模型(LLM)的人机协作 +2
- 71%
ClassAid:面向课堂编程活动的实时教师-AI-学生编排系统
CHI '26· 大语言模型(LLM)的人机协作 +2
- 71%
“快速、简单、便捷”?不同社会经济地位转学生的选课社会技术体验
CHI '26· 编程教育与计算思维 +2
- 71%
编程教师在执行紧急教学设计塑造学生与生成式AI工具交互时面临的障碍
CHI '26· 大语言模型(LLM)的人机协作 +2
- 71%
一次又一次从零开始:追溯高中生对块编程负面感知的起源
CHI '26· 编程教育与计算思维 +2
- 67%
预测未来代码谜题中的认知负荷
CHI '19· 编程教育与计算思维 +1
- 67%
通过渐隐帕森斯问题改进编程模式教学
CHI '21· 编程教育与计算思维 +1
- 63%
“倾听教师声音”:将课堂现实转化为可操作 HCI 设计的研究驱动型人物角色
CHI '26· 用户研究方法(访谈、调查、观察) +3
基于研究子主题与职业分类的 Jaccard 相似度(≥60%)