PENCIL CODE编程推理轨迹数据集
收藏arXiv2025-10-07 更新2025-10-08 收录
下载链接:
https://github.com/meghabyte/pencilcode-public
下载链接
链接失效反馈官方服务:
资源简介:
PENCIL CODE编程推理轨迹数据集是一个包含超过380万个编程推理轨迹的数据集,来源于PENCIL CODE在线教育平台的学生用户。该数据集记录了学生编写程序时的编辑和重试过程,揭示了他们如何处理编程任务以及他们的技能发展水平。数据集涵盖了超过100万个学生9年的使用数据,包括解决从简单图形任务到复杂搜索算法实现的广泛任务。每个轨迹包含学生ID、标题和按时间顺序排列的程序状态序列,捕捉学生的编辑过程。该数据集旨在帮助研究编程学习过程,并开发能够更准确地模拟学生行为的代码生成模型。
The PENCIL CODE Programming Reasoning Trajectory Dataset is a collection of over 3.8 million programming reasoning traces sourced from student users of the PENCIL CODE online education platform. This dataset records the editing and retry processes of students while they write programs, revealing how they approach programming tasks and their skill development levels. It encompasses 9 years of usage data from more than 1 million students, covering a wide range of tasks ranging from simple graphical assignments to the implementation of complex search algorithms. Each trace contains a student ID, a title, and a chronologically ordered sequence of program states, capturing the student's editing process. This dataset aims to facilitate research on the programming learning process and develop code generation models that can simulate student behavior more accurately.
提供机构:
麻省理工学院计算机科学与人工智能实验室 (MIT CSAIL)
创建时间:
2025-10-07
原始信息汇总
数据集概述
基本信息
- 数据集名称:pencilcode-public
- 对应论文:Learning to Model Student Learning with 3.5 Million Program Traces
- 论文链接:https://arxiv.org/pdf/2510.05056
- 联系方式:megha@cs.stanford.edu 和 alexisro@mit.edu
数据内容
- 数据规模:包含50名用户对200个作业的程序轨迹
- 数据类型:程序轨迹数据
- 包含模型:
- 轨迹模型生成的数据
- 合成模型生成的数据
- 最后状态模型生成的数据
数据限制
- 隐私保护:不包含真实用户数据以保护K-12学生隐私
- 替代方案:将发布基于模型的合成数据集
- 完整数据:将在Hugging Face通过门控权限发布,需经Pencil Code团队批准
使用示例
计算Self-BLEU指标
python from src.metrics import * all_tc = TraceCollection() all_tc.load_trace_collection_json("rollouts/all_lighthouse") all_tc.self_bleu()
查看程序轨迹
python all_tc = TraceCollection() all_tc.load_trace_collection_json("rollouts/all_confetti") print(all_tc.traces[0].matched_programs[0]) # 第一个轨迹的第一个状态 print(all_tc.traces[0].matched_programs[-1]) # 第一个轨迹的最后一个状态
搜集汇总
数据集介绍

构建方式
PENCIL CODE编程推理轨迹数据集通过收集教育编程平台九年间超过百万名学生的实时编程交互记录构建而成。该数据集采用时间序列记录方式,将每位学生在特定编程任务中的每次代码编辑、程序执行状态及对应时间戳按发生顺序完整保存,形成连续的程序状态演变轨迹。数据预处理阶段通过哈希化处理用户身份信息,并采用重叠分块策略解决长序列超出模型上下文窗口的问题,最终构建出包含380万条编程轨迹的结构化数据集。
特点
该数据集的核心特征在于完整捕捉了编程学习过程中的动态认知轨迹。每条轨迹不仅包含最终程序代码,更记录了从初始尝试到最终成品的所有中间状态,具体体现为探索性调试、目标回溯、风格个性化等典型学习行为。数据集覆盖从基础图形绘制到复杂算法实现等多样化的编程任务,且通过时间戳信息可分析不同学习阶段的行为模式差异。特别值得注意的是,数据中自然呈现的编程错误序列与修正过程为研究学习认知规律提供了珍贵素材。
使用方法
该数据集主要适用于基于轨迹的机器学习模型训练与评估。研究人员可通过条件生成任务,利用学生身份标识和任务标题作为前缀,让模型续写符合特定学生编程风格的代码轨迹。在表征分析方面,可通过探针实验从模型嵌入中解码学生编程特征。实际应用时需注意数据划分策略,应分别评估模型在已知学生/已知任务、未知学生/已知任务等不同泛化场景下的表现。教育领域研究者还可利用该数据集构建个性化辅导系统,通过分析历史轨迹预测学生可能遇到的困难并提供针对性指导。
背景与挑战
背景概述
编程教育领域长期关注如何有效追踪学习者的认知发展过程,PENCIL CODE编程推理轨迹数据集应运而生。该数据集由麻省理工学院计算机科学与人工智能实验室、斯坦福大学及佛罗里达大学的研究团队于2025年联合发布,依托PENCIL CODE在线教育平台九年间积累的380万条编程交互轨迹。其核心在于通过记录学习者从初始尝试到最终代码的完整编辑序列,揭示编程学习中的认知策略差异,包括调试行为、目标回溯与风格化表达,为构建能够模拟人类推理过程的计算模型提供了前所未有的实证基础。
当前挑战
该数据集面临双重挑战:在领域问题层面,需解决如何从非线性编程轨迹中提取有效的学习特征,以区分探索性编程与系统性错误模式,同时需克服传统代码生成模型对人类推理过程建模的局限性;在构建过程中,需处理跨语言编程记录的结构化对齐、时间戳序列的噪声过滤,以及保护未成年学习者隐私信息时面临的数据匿名化与语义完整性的平衡难题。
常用场景
经典使用场景
在编程教育研究领域,PENCIL CODE编程推理轨迹数据集为分析学生编程行为模式提供了独特视角。该数据集通过记录学习者从初始尝试到最终解决方案的完整编辑序列,揭示了编程学习过程中的认知轨迹。研究人员能够观察学生在面对编程任务时的探索策略、调试行为以及风格化选择,这些丰富的行为数据为理解编程技能发展机制提供了实证基础。
衍生相关工作
该数据集催生了多项创新性研究,特别是在个性化编程建模领域。基于轨迹数据的学生嵌入表示方法启发了新一代教育AI系统的开发,这些系统能根据个体学习特征生成定制化反馈。在代码生成模型研究方面,相关工作探索了如何利用真实编辑轨迹提升模型的人类对齐能力。此外,数据集中丰富的时间序列信息还促进了编程过程挖掘技术的发展,为理解技能习得动态提供了新范式。
数据集最近研究
最新研究方向
在编程教育领域,PENCIL CODE编程推理轨迹数据集正推动个性化学习分析的前沿探索。该数据集通过捕捉380万条真实学生的编程交互轨迹,揭示了学习者调试、重构和风格化编辑的完整认知过程,为构建具备人类推理特征的代码生成模型提供了关键支撑。当前研究聚焦于利用轨迹数据训练的语言模型,不仅能预测学生编程行为中的目标回溯、注释频率等微观特征,还实现了通过学生嵌入向量对错误恢复路径的精准引导。这一突破标志着编程教育从结果导向到过程建模的范式转变,为自适应辅导系统的开发奠定了理论基础,并推动了AI在教育场景中对人类认知轨迹的深度仿真。
相关研究论文
- 1Modeling Student Learning with 3.8 Million Program Traces麻省理工学院计算机科学与人工智能实验室 (MIT CSAIL) · 2025年
以上内容由遇见数据集搜集并总结生成



