一句话:通过两届入门 Python 作业的代码相似性与语法错误分析,揭示从同伴复制到趋近 AI 生成解的转变。
生成式 AI 工具正快速影响编程教育。本文对 2022 和 2024 两个入门 Python 课程队列进行观察性分析,共涵盖三项作业的 1,614 份提交。作者用 ChatGPT 与 Gemini 为每项作业生成基线解,并比较学生提交与基线的代码相似度及两队列的语法错误。结果显示,作业 2 的同伴间复制在 2022 至 2024 年间下降 60.11%;2024 年提交与固定 AI 基线的相似度随任务复杂度而显著变化。尽管这符合向 AI 生成解收敛的模式,但缺乏直接工具使用测量,作者不作因果断言;语法错误数也无显著差异。
Generative AI tools such as ChatGPT, GitHub Copilot, and Gemini have rapidly influenced programming education by providing instant code generation and problem-solving support. This study investigates the potential impact of these tools on an introductory Python programming course by conducting an observational analysis of two cohorts in 2022 and 2024. In total, we analyzed a corpus of 1,614 submissions across three assignments. To study the possible influence of generative AI tools, we created baseline solutions for each assignment using ChatGPT and Gemini. We then analyzed code similarity between the baseline solutions and the students’ submissions, as well as syntax errors across both cohorts. For Assignment 2, peer-to-peer duplication decreased by 60.11% between 2022 and 2024. Among the 2024 submissions, we observe substantial similarity to fixed AI baselines, depending on task complexity. Although this pattern is consistent with the convergence toward AI-generated solutions, we lack direct measures of tool use and make no causal claims. The number of syntax errors did not differ significantly between the two cohorts. These findings suggest a shift in programming education, from direct student copying toward solutions that increasingly resemble AI-generated outputs. This shift emphasizes the need for updated assessments and policies to promote fairness, integrity, and meaningful learning in introductory programming courses.
@inproceedings{paperbot12038,
title = {The Clash of Codes: From Peer-to-Peer Duplication to AI-Generation in Introductory Programming Assignments},
author = {Jose Maria Zuzarte Reis Claver and Mahbod Tajdini and Mauricio Verano Merino},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3786580.3786955}
}