计算教育与编程学习
计算教育与编程学习近二十年的变化不应写成工具清单。真正被换掉的是评价标准:系统不再只凭单点分数、平均速度或“能运行”证明自己,而要说明在入门编程课堂、自动评测平台和生成式编程工具共同存在的学习环境中,认知负荷、测量效度、过程策略和归属感怎样进入结果。上一个十年主要把旧默认拆成可测约束;这十年则经历真实部署与方法清算,要求同时报告概念迁移、调试能力、独立完成率和留存。下面二十条均按主证据年份归幕,每条给出源行、六段证据链和可抽取的碰撞行。
第一幕把“从空白写代码”拆成结构、阅读、同伴解释、可视化与自动反馈等可分训练对象。 本幕八条共同把旧默认第一次放到可测上界、误差、资源或行为证据上,并试写出可与别的领域换算的分母。
甲、Parsons问题:先练结构再承担语法生成
入门编程教学长期把「写出一个程序」当作唯一的练习形式:从空白编辑器开始,语法、结构、逻辑一起承担。这个前提让初学者的绝大部分注意力消耗在分号、缩进与拼写上,而真正要练的控制结构反而没有机会被反复触及。这条转向把两件事拆开——先给出正确的代码行、只让学习者排出顺序,语法负荷被移走之后,结构训练才第一次能够独立进行。
这条理论的可反驳命题是:把正确代码行打乱,让学习者排序,可降低语法与拼写负荷,集中训练控制结构和程序逻辑。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“正确Parsons结构数/尝试总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Parsons 与 Haden,2006年《ITiCSE会议录》,ACM。具体设计与读数是:题目给出一组正确与干扰代码行,学生只负责排序和选择;语法生成负担被拿掉,但控制结构和算法次序仍可单独计分。Parsons与Haden于2006年系统提出该题型;后续CS1实验常观察到更短完成时间与较低挫败,但向独立编程的迁移并非自动。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“短期完成率是否迁移到新任务”。对照证据见Morrison、Margulieux 与 Guzdial,2015年《ICER会议录》,ACM:受试者先看带子目标标签的完整例题,再完成逐步删减的题目;学习结果以新情境迁移而非原题复述计量。它显示量表跨语言并不等于跨文化等值;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告效果时要说明练习是否与后续的自由编写任务配对,以及排序正确率如何随干扰项设计变化。加入了多余行的题目与纯排序题不是同一种难度,混在一起统计会掩盖真实收获。同时应报告完成时间——这类题的价值一半来自单位时间内可以做更多次,而不只是来自正确率更高。
与本块第十三条《自适应Parsons》是同一形式的固定版与动态版,与第七条《渐退脚手架》则共享一个更一般的问题:支持什么时候撤。排序题的支持强度是内建的,撤除必须靠换题型,因此它无法单独构成完整路径——只练排序而不进入自由编写的课程,会在迁移环节整体塌陷。
乙、结对编程:社会结构会改变留存而不只改变速度
结对编程进入课堂时,最常被拿来论证的是效率:两个人一台机器,代码质量更高、返工更少。这个前提把它当成生产力实践来评估,于是争论集中在人力是否翻倍而产出未翻倍。教学场景关心的其实是另一件事——轮换驾驶与导航迫使双方把想法说出来,解释、即时审查与归属感由此产生。这条转向要求效果以学习与留存衡量,而不是以完成速度衡量。
这条理论的可反驳命题是:驾驶者—导航者轮换可促进解释、即时审查和归属感,效果应以学习与留存衡量。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“结对后独立正确数/结对任务正确数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Salleh、Mendes 与 Grundy,2011年《IEEE Transactions on Software Engineering》37(4):509–525。具体设计与读数是:系统综述汇集十八项高等教育实证,分别比较成绩、信心、满意度和留存;结对效应并不等同于“两个学生写得更快”。McDowell等2006年前后的课堂研究报告结对组通过率与留存改善,部分女性和弱背景学生收益更明显;搭档不匹配会造成支配与依赖。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“课程总分是否混入先备经验与评分规则”。对照证据见Porter、Bailey-Lee 与 Simon,2013年《SIGCSE会议录》,ACM:四门课程引入先答题、同伴讨论、再答题的流程,失败率约减半;关键读数是讨论前后概念题迁移,而非课堂热闹程度。它显示AI建议正确时也可能减少主动检索和调试;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:分别报告结对期间的任务正确率与拆对之后的独立正确率。只报前者无法区分「学会了」与「搭了顺风车」,而后者才是教学要的读数。同时应说明配对规则与轮换频率——随机配对、能力配对与自选配对的结果差别很大,这一项在多数课堂报告里被略去。
与本块第二十条《扩招不自动公平》直接相连:结对最强的效应之一发生在归属感上,而归属感恰恰是决定少数群体是否留下来的关键变量。两条分开读时,结对容易被当成一种教学技巧;合起来读才看得出,它同时是一项影响留存结构的制度安排。
丙、代码追踪门槛:会读执行过程先于会造程序
课程设计长期默认写与读是同一种能力的两面:会写程序自然会读程序,因此教学直接从写开始。大规模测验结果否定了这个默认——大量能通过编写题的学生无法正确逐步模拟一段代码的变量变化,而不能追踪执行过程的人,写出的程序往往是模仿而非理解。这条转向把代码追踪确立为一道独立的、且在时间上先于生成能力的门槛。
这条理论的可反驳命题是:新手必须能逐步模拟变量、循环与调用;代码追踪是独立且可测的概念门槛。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“正确代码追踪数/追踪题总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Venables、Tan 与 Lister,2009年《ACE会议录》。具体设计与读数是:研究把追踪、解释和写代码分开评分,发现不少学生能拼出程序却不能正确手算变量变化;代码阅读成为独立门槛。Lister等跨国研究在2004—2008年发现许多学生连简单追踪题也不稳定,且追踪能力与后续编程表现相关。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“自动反馈是否诱导试错投机”。对照证据见Sorva,2013年《ACM Transactions on Computing Education》13(2):8:研究把学生对赋值、引用、调用栈和对象的解释映射到不同“概念机器”;错误呈稳定模式,不能只归为粗心。它显示脚手架可能提高当堂表现却延迟独立性;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:把追踪能力单独测量并报告,而不是让它隐含在编程总分里。同时应说明追踪题涉及的结构类型——循环与递归的追踪难度与顺序语句完全不同,笼统的「追踪正确率」无法用于诊断。教学干预的效果也应按结构类型分别报告,否则平均值会掩盖某一类结构上的系统性失败。
与本块第九条《PRIMM次序》是发现与其课程化,与第五条《新手心智模型》是现象与其成因:追踪失败并非粗心,而是学生带着一套稳定但错误的机器模型在推演。三条一起才构成完整链条——测出门槛、找到成因、安排次序,缺任何一环,干预都会停在「多做题」的层面。
丁、同伴教学:概念冲突需要先暴露再讲解
概念纠错的默认做法是讲清楚:教师发现学生有误解,就再讲一遍,讲得更细、举更多例子。这个前提假设误解来自信息不足。而顽固的误解通常是一套自洽的解释,学生用它能对付大部分题目,因此讲解会被吸收进旧模型而不是替换它。这条转向要求先让冲突显露——独立作答、同伴辩论、再投票,误解在同伴的追问下暴露之后,讲解才有落点。
这条理论的可反驳命题是:先独立作答、同伴辩论、再投票能让隐性误解显露,并用学生语言重构概念。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“解释后概念增益/课前概念分”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Porter、Bailey-Lee 与 Simon,2013年《SIGCSE会议录》,ACM。具体设计与读数是:四门课程引入先答题、同伴讨论、再答题的流程,失败率约减半;关键读数是讨论前后概念题迁移,而非课堂热闹程度。Porter等在2011—2013年把Peer Instruction用于CS课程,报告概念题表现与课程通过率改善;题目质量和讨论文化决定效果。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“生成式帮助是否削弱判断和解释能力”。对照证据见Sax、Lehman、Jacobs、Kanny、Lim、Monje-Paulson与Zimmerman,2017年《高等教育杂志》88(2):258–293:研究汇合1971—2011年1225所四年制院校约800万名学生的全国调查,并分析18830名计算机专业学生;准入规模扩大并未自动消除性别化兴趣、经验和归属路径。它显示过程日志会把可观察动作误当认知过程;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告解释后的概念增益与课前概念分的对照,而不是只报最终正确率。这个增益才反映教学动作的作用。同时应记录第一次投票的分布——分布本身是诊断材料,若首轮就高度一致,说明题目没有触及真正的误解,讨论环节等于空转。
与本块第五条《新手心智模型》是方法与其对象:要设计出能引发冲突的题目,前提是知道学生持有哪几种错误模型。与第十条《概念量表》则互为条件——没有经过效度检验的概念题,投票分布测不出误解,只能测出粗心。
戊、新手心智模型:错误并非随机粗心
新手的错误长期被归入两类:粗心和没学会。这个前提把错误当作随机噪声,处理办法就是多练。系统的研究显示错误远比这有结构——学生会为变量、赋值、对象与函数调用构建一套稳定的「机器模型」,这套模型往往是错的,但它能自洽地解释相当一部分现象,因而极难被讲解冲掉。这条转向把教学目标从纠正答案改成改造模型。
这条理论的可反驳命题是:变量、赋值、对象与调用会被新手套入稳定但错误的‘机器模型’,教学应针对模型冲突。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“可正确预测程序状态数/状态问题总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Sorva,2013年《ACM Transactions on Computing Education》13(2):8。具体设计与读数是:研究把学生对赋值、引用、调用栈和对象的解释映射到不同“概念机器”;错误呈稳定模式,不能只归为粗心。Sorva于2012年前后系统整理程序可视化与心智模型证据;同类错误在不同语言与班级重复出现。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“扩招后少数群体是否拥有同等支持路径”。对照证据见Weintrop 与 Wilensky,2015年《ICER会议录》,ACM:高中生比较积木与文本环境时,积木减少语法错误并提高可读性,但部分学生认为它“不真实”;迁移需另测文本编写与调试。它显示公平差距可能来自环境而非单一教学法;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告学生能正确预测程序状态的题目数,而不是只报最终答案的正确率。预测题直接测的是模型,而答案题混着记忆与试错。同时应把常见错误模型列成清单并公开——教师如果不知道有哪几种,就无法设计出能击中它们的题。
与本块第四条《同伴教学》是对象与方法,与第十四条《过程数据》则是两种探测手段:一个从预测题的答案反推模型,一个从编辑与运行序列反推。两者互补——预测题只能在设定的时刻取样,过程数据则连续但需要解释。都不做的课堂,教师对学生的理解状态实际上一无所知。
己、积木式入口:降低语法门槛不保证文本迁移
积木式编程环境的推广建立在一个直觉上:去掉语法障碍,学生就能把精力放在思维上,之后自然过渡到文本语言。前半句被证实,后半句没有。学生能在积木里搭出复杂程序,换到文本环境后仍然卡住——因为迁移需要的不只是语法知识,还包括对同一抽象在两种表征下的对应关系。这条转向要求把过渡当作需要显式设计的教学环节,而不是自动发生的副产品。
这条理论的可反驳命题是:积木能减少语法错误并支持早期构造,但概念抽象与文本表达需显式桥接。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“从积木到文本的迁移正确数/迁移任务总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Weintrop 与 Wilensky,2015年《ICER会议录》,ACM。具体设计与读数是:高中生比较积木与文本环境时,积木减少语法错误并提高可读性,但部分学生认为它“不真实”;迁移需另测文本编写与调试。2009—2015年Scratch、Alice及Blockly研究普遍发现参与度提升;迁移研究则报告效果依赖过渡设计与任务相似性。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“短期完成率是否迁移到新任务”。对照证据见Parker、Guzdial与Engleman,2016年《ICER会议录》:93–101,ACM,页93–101:研究复制并验证语言无关的CS1量表,用等值题、认知访谈和项目反应分析检验分数含义;课程总分不能再自动充当概念掌握量。它显示量表跨语言并不等于跨文化等值;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告从积木到文本的迁移正确率,而不是只报积木环境中的完成度。缺了迁移读数,积木课程的成果无法与后续课程衔接。同时应说明桥接方式——双视图对照、逐步替换还是并行书写,不同方式的成本与效果差异明显,笼统地说「做了过渡」无法比较。
与本块第一条《Parsons问题》共享同一种支持逻辑,也共享同一个风险:把负荷移走之后,必须有计划地把它移回来。两条也可以组合——在文本环境里用排序题作为过渡的中间站,比直接从积木跳到空白编辑器更连续。这个组合正是把两条各自的撤除问题互相解决的做法。
庚、渐退脚手架:完整例题与独立求解之间需要连续带
练习设计的传统是二元的:先看例题,然后独立做题。这个前提假设学习者能自行跨过两者之间的落差。认知负荷研究显示,这段落差往往过大——完整例题几乎不需要推理,独立求解则要同时承担全部步骤。这条转向在两端之间插入连续带:从完整的解答开始,逐步删去步骤,让学习者在负荷可控的情况下一段一段接管推理。
这条理论的可反驳命题是:应从完整worked example逐步删除步骤,让学习者在认知负荷可控时接管推理。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“撤去脚手架后的独立成功数/脚手架阶段成功数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Morrison、Margulieux 与 Guzdial,2015年《ICER会议录》,ACM。具体设计与读数是:受试者先看带子目标标签的完整例题,再完成逐步删减的题目;学习结果以新情境迁移而非原题复述计量。2010年代前半期编程教育实验把faded examples用于循环、方法和对象任务,常减少无效尝试;过度脚手架会抑制迁移。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“课程总分是否混入先备经验与评分规则”。对照证据见Sentance、Waite 与 Kallia,2019年《Proceedings of the 14th Workshop in Primary and Secondary Computing Education》:PRIMM固定预测、运行、调查、修改、制作五阶段,先让学生口头解释现成程序,再逐步承担创造;每一阶段可分别观察。它显示AI建议正确时也可能减少主动检索和调试;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告脚手架撤去之后的独立成功率,而不是脚手架阶段的成功率。后者几乎总是好看的,也几乎不能说明问题。同时应说明删减的次序与判据——先删哪一步、按什么信号决定该删了,这些决定了连续带是否真的连续,也是这类设计最容易做粗的地方。
与本块第十三条《自适应Parsons》是同一原则的静态与动态实现:一个按预设次序退,一个按错误类型退。两者共同的难点不在于如何给支持,而在于如何判断该撤——撤早了负荷失控,撤晚了学生停在被扶着走的状态,而后者在课堂指标上看起来一切正常。
辛、自动评测边界:可判输出不等于理解程序
自动评测把编程课从人工批改中解放出来,也随之带来一个默认:通过测试即掌握。这个前提把行为结果等同于理解。实际上通过测试可能来自结构混乱但恰好可运行的代码,也可能来自针对样例的凑合,而调试过程、代码结构与能否解释自己的程序,全都不在自动判定的视野内。这条转向要求把自动评测的能力边界明确写出来,并为边界之外的部分另行安排评价。
这条理论的可反驳命题是:自动评测擅长规模化判断行为结果,却可能漏掉结构、解释、调试过程与偶然过测。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“有学习价值反馈数/自动反馈总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Edwards 与 Pérez-Quiñones,2008年《Journal of Educational Resources in Computing》8(3)。具体设计与读数是:自动评测可在每次提交后返回测试结果、覆盖与风格信息,但“输出全对”仍无法区分理解、试错和对公开测试的投机。Web-CAT、Marmoset等在2006年后进入课程;高频即时反馈提升练习量,同时出现硬编码、猜测试与只追求绿灯的行为。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“自动反馈是否诱导试错投机”。对照证据见Rivers、Petersen 与 Koedinger,2016年《ProgSnap数据工作坊》;2017年形成ProgSnap2,页2016–2017:统一日志记录编辑、运行、测试、错误与时间戳,使研究者可重建每次尝试路径;最终得分相同的两人可能拥有完全不同的求解轨迹。它显示脚手架可能提高当堂表现却延迟独立性;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告自动反馈中真正具有学习价值的比例,而不是反馈总数。数量在自动评测里是最没有意义的指标。同时应说明提交次数策略——不限次数的即时判定会把学习变成试错循环,这一点必须与反馈质量一起设计,否则反馈越快,试错越盲目。
与本块第十六条《测试投机》是能力边界与其被利用的后果,与第十五条《可行动反馈》则是判定与指导的分工。三条一起给出的判断是:自动评测是一个评分装置,把它当作教学装置使用时,它塑造的行为很可能与教学目标相反。
第二幕转向测量效度、过程日志和生成式工具清算,完成程序不再等同于发生了学习。 本幕十二条更关注部署、公开清算与方法自审,尤其要求把平均分数换成分布、边界、长期读数和责任链。
一、PRIMM次序:预测与阅读应先于修改和创造
入门课程的常见次序是先教语法再让学生自己写,阅读被当作附带发生的事。这个前提与追踪能力的研究相冲突——不会读的人写不出结构正确的程序。这条转向把次序显式化:先预测这段代码会做什么,再运行验证,再探究其结构,然后修改,最后才从零创造。阅读从被跳过的环节变成生成能力的脚手架。
这条理论的可反驳命题是:学习顺序可按预测、运行、探究、修改、创造推进,让代码阅读成为生成能力的脚手架。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“完整阅读—预测—运行—修改循环数/任务总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Sentance、Waite 与 Kallia,2019年《Proceedings of the 14th Workshop in Primary and Secondary Computing Education》。具体设计与读数是:PRIMM固定预测、运行、调查、修改、制作五阶段,先让学生口头解释现成程序,再逐步承担创造;每一阶段可分别观察。Sentance等自2017年推广PRIMM;学校课堂研究报告教师对讨论质量和信心的改善,但严格因果证据仍在累积。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“生成式帮助是否削弱判断和解释能力”。对照证据见Haynes与Ericson,2021年《CHI会议录》:1–15,页1–15:实验比较自适应Parsons题与从空白编写等价代码的解题时间、正确率和认知负荷;脚手架按错误增减后,可把学习成本集中到程序结构而非语法回忆。它显示过程日志会把可观察动作误当认知过程;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告完整走完预测—运行—探究—修改循环的任务比例,而不是只统计课时安排。次序写在教案上与真正在课堂上被执行是两回事,前几个环节最容易在赶进度时被压缩。同时应报告预测阶段的正确率变化,它是这套次序是否起作用的直接证据。
与本块第三条《代码追踪门槛》是证据与其课程化,与第十七条《生成式工具双效应》则在当下正面相撞:当生成工具可以直接产出代码时,最容易被跳过的恰恰是预测与阅读这两步,而它们正是这套次序认定不可省略的部分。这条冲突是本领域眼下最紧要的一处。
二、概念量表:编程知识不能只用课程总分测量
编程能力的测量长期直接采用课程成绩:作业加考试,分数就代表掌握程度。这个前提把测量工具与教学工具混为一谈——课程成绩里混着出勤、努力、题目难度与评分习惯,同一门课的分数在另一门课里不可比,也无法用来判断某项干预是否真的改变了概念理解。这条转向要求开发经过项目分析、信度与效度检验的概念量表,把知识构念与课程评分分开。
这条理论的可反驳命题是:应开发经过项目分析、信度与效度检验的概念量表,把知识构念与课程评分分开。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“量表解释课程成绩方差/成绩总方差”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Parker、Guzdial与Engleman,2016年《ICER会议录》:93–101,ACM,页93–101。具体设计与读数是:研究复制并验证语言无关的CS1量表,用等值题、认知访谈和项目反应分析检验分数含义;课程总分不能再自动充当概念掌握量。FCS1于2017年前后形成面向基础计算的概念测量工具;结果显示不同课程同分学生的概念结构可能不同。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“扩招后少数群体是否拥有同等支持路径”。对照证据见Venables、Tan 与 Lister,2009年《ACE会议录》:研究把追踪、解释和写代码分开评分,发现不少学生能拼出程序却不能正确手算变量变化;代码阅读成为独立门槛。它显示公平差距可能来自环境而非单一教学法;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告量表能解释课程成绩多少方差,以及量表本身的信度指标。这两个数决定了它是否可以承担研究结论。同时应公开题目与计分规则——量表若不公开,任何跨课程、跨学校的比较都无法被复核,这一点在教育研究里是硬性要求。
与本块第四条《同伴教学》和第五条《新手心智模型》是工具与应用:没有效度合格的概念题,误解测不出来,干预效果也无法归因。与第十七条《生成式工具双效应》则在方法上更关键——评估新工具的影响,几乎完全依赖于有一把不受工具影响的尺子。
三、空间技能可训练:编程困难并非固定天赋
编程学习的个体差异长期被解释为天赋:有人天生适合,有人不适合,早期测验的相关性被当作这一说法的证据。空间技能与编程成绩之间的相关尤其常被这样引用。这条转向指出相关不等于不可改变——定向的空间训练可以提高部分计算概念的学习表现,于是同一批相关数据从「筛选依据」变成了「干预入口」。
这条理论的可反驳命题是:定向空间训练可改善部分计算概念学习,相关性并不意味着不可改变。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“空间训练后编程增益/空间测验增益”。
主证据来自Cooper、Wang、Israni与Sorby等,2022年《ACM计算教育汇刊》22(2):Article 18。具体设计与读数是:六项研究比较接受与未接受空间训练的入门学生;干预不仅提高空间测验,也在多处伴随编程表现改善,削弱了“空间能力是固定准入天赋”的解释。2018年后多项CS教育干预把心理旋转与空间练习嵌入课程,报告对弱起点学生的收益;效果是否跨课程长期保持仍有争议。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“短期完成率是否迁移到新任务”。对照证据见Fitzgerald等的前身研究之后,McCauley等,2019年《Frontiers in Education Conference》调试研究,DOI:10.1109/FIE43999.2019.9028699:研究把编写与调试任务分开评分并记录定位路径;部分能完成编码的学生仍无法形成可重复的假设—检验循环,说明两种能力不能由同一总分替代。它显示量表跨语言并不等于跨文化等值;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告空间训练带来的编程增益与空间测验增益的对照,而不是只报训练后空间分提高。两者若不同步,说明迁移未发生,训练只是练会了测验本身。同时应说明干预时长与对照组安排,因为入门阶段任何额外练习都会带来非特异性的提升。
与本块第二十条《扩招不自动公平》构成同一议题的两侧:把差异归为天赋会让筛选合理化,把差异视为可训练则要求课程承担补齐的责任。两条一起读,可以看到本领域这二十年最有分量的转变之一,是把「谁适合学编程」这个问题从选拔语言改写成教学设计语言。
四、调试独立性:会写不等于会定位错误
调试长期被当作编程能力的自然附属:会写程序的人自然会找错。这个前提让调试从未被单独教过,也从未被单独测过——课程评的是最终能否通过测试,而学生用什么方式走到那一步无人过问。研究显示故障假设、证据收集、断点选择与修复验证构成一组独立的能力,写得好的学生未必找得到错。这条转向要求把它作为独立的教学与测量对象。
这条理论的可反驳命题是:故障假设、证据收集、断点选择与修复验证构成独立能力,应单独教学与测量。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“独立定位缺陷数/缺陷任务总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Fitzgerald等的前身研究之后,McCauley等,2019年《Frontiers in Education Conference》调试研究,DOI:10.1109/FIE43999.2019.9028699。具体设计与读数是:研究把编写与调试任务分开评分并记录定位路径;部分能完成编码的学生仍无法形成可重复的假设—检验循环,说明两种能力不能由同一总分替代。2017年后基于眼动、IDE日志和访谈的研究发现,新手常无系统地改代码;高成绩者也可能在诊断任务上表现不稳。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“课程总分是否混入先备经验与评分规则”。对照证据见Keuning、Jevtić 与 van Binsbergen,2018年《ACM Transactions on Computing Education》19(1):3:综述编码一百余项自动反馈研究,区分只报对错、定位、解释和下一步建议;能生成消息不等于消息可执行。它显示AI建议正确时也可能减少主动检索和调试;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告在给定缺陷任务中独立定位缺陷的数量,而不是修复后的通过率。通过率会被反复试错的结果掩盖,而定位数才是能力读数。同时应记录定位所用的手段——读代码、加打印、用调试器还是随机改动,手段分布本身就是教学诊断材料。
与本块第十四条《过程数据》是能力与其观测方式:调试过程恰恰是过程数据最能说明问题的地方。与第十八条《验证负担转移》则连上了当下的变化——当代码越来越多由工具生成时,学习者被推向的正是判断与定位这一侧,而这恰是长期未被教过的那一块。
五、自适应Parsons:脚手架应随错误类型变化
脚手架的传统实现是按预设次序退:所有学生走同一条从扶到放的路径。这个前提假定学习者的困难点是同质的。而排序类练习的错误其实分得很清楚——多余行、嵌套错误、次序颠倒各自指向不同的理解缺口。这条转向让系统读取尝试历史与错误类型,动态调整题目粒度,在需要时给出更细的分解,在不需要时淡出帮助。
这条理论的可反驳命题是:系统可依据多余行、嵌套错误和尝试历史动态调整粒度,在需要时淡出帮助。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“自适应题节省步骤数/固定题步骤数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Haynes与Ericson,2021年《CHI会议录》:1–15,页1–15。具体设计与读数是:实验比较自适应Parsons题与从空白编写等价代码的解题时间、正确率和认知负荷;脚手架按错误增减后,可把学习成本集中到程序结构而非语法回忆。Ericson等2019年前后的自适应Parsons研究显示练习效率提高;对开放性设计和大程序的迁移仍有限。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“自动反馈是否诱导试错投机”。对照证据见Parsons 与 Haden,2006年《ITiCSE会议录》,ACM:题目给出一组正确与干扰代码行,学生只负责排序和选择;语法生成负担被拿掉,但控制结构和算法次序仍可单独计分。它显示脚手架可能提高当堂表现却延迟独立性;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告自适应题相对固定题节省的步骤数,并说明淡出规则的触发条件。节省步骤是这类系统的直接收益读数,而淡出规则决定了它会不会变成一直扶着走。同时应说明错误分类的准确率——分类错了,自适应给出的帮助会精确地打偏。
与本块第七条《渐退脚手架》是同一原则的动态实现,与第十五条《可行动反馈》则共享同一个判据:帮助是否指向了违反的那个概念。三条一起看,本领域关于支持的共识可以概括成一句——**支持的价值不在给得多,而在撤得准**。
六、过程数据:最终答案会掩盖学习路径
学习评估长期只看结果:作业分、考试分、通过与否。这个前提把学习当成一个可以由终点状态代表的过程。编程环境天然记录了大量中间行为——编译次数、运行间隔、编辑序列与停顿模式,这些数据能区分有策略的探索、真正的卡顿与盲目试错,而三者在最终分数上可能完全相同。这条转向要求预测与诊断基于过程,而不是单点结果。
这条理论的可反驳命题是:编译、运行、编辑序列和停顿模式能区分探索、卡顿与盲目试错,预测应基于过程而非单点结果。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“可解释学习策略日志数/日志事件总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Rivers、Petersen 与 Koedinger,2016年《ProgSnap数据工作坊》;2017年形成ProgSnap2,页2016–2017。具体设计与读数是:统一日志记录编辑、运行、测试、错误与时间戳,使研究者可重建每次尝试路径;最终得分相同的两人可能拥有完全不同的求解轨迹。2016年后大规模IDE日志研究构造编程轨迹指标;预测准确率提升,但同一行为在不同任务中含义不同,且涉及隐私。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“生成式帮助是否削弱判断和解释能力”。对照证据见Keuning、Jevtić 与 van Binsbergen,2018年《ACM Transactions on Computing Education》19(1):3:综述编码一百余项自动反馈研究,区分只报对错、定位、解释和下一步建议;能生成消息不等于消息可执行。它显示过程日志会把可观察动作误当认知过程;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告可被解释为学习策略的日志事件占总事件的比例,而不是收集了多少数据。日志规模与诊断价值几乎没有关系。同时应说明数据的采集边界与学生知情方式——过程数据的敏感度远高于成绩,采集范围必须与用途相称,这一点应写在课程政策里而非埋在系统设置里。
与本块第五条《新手心智模型》和第十二条《调试独立性》是观测手段与观测对象,与第十九条《提示素养非编程素养》则在当下相接:当学习者与生成工具的交互也进入日志时,过程数据第一次有机会分辨「问出了答案」与「理解了答案」。这也是它眼下最有价值的用途。
七、可行动反馈:指出错误位置不等于帮助学习
反馈的默认标准是准确:指出错在哪一行、缺了哪个符号。这个前提把反馈当成定位服务。定位准确的反馈常常并不产生学习——学生按提示改掉那一处,不知道自己违反了什么概念,下一题同类错误照犯。这条转向要求反馈说明违反了哪一条概念、给出下一步线索,同时不直接代写答案,因为代写会让学生跳过恰恰要练的那一步。
这条理论的可反驳命题是:有效反馈应说明违反了哪一概念、给出下一步线索,并避免直接代写答案。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“被学生采纳且有效的反馈数/反馈总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Keuning、Jevtić 与 van Binsbergen,2018年《ACM Transactions on Computing Education》19(1):3。具体设计与读数是:综述编码一百余项自动反馈研究,区分只报对错、定位、解释和下一步建议;能生成消息不等于消息可执行。2018年后基于程序分析与历史解法的提示系统可生成分步反馈;过强提示会提高提交成功率却降低独立迁移。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“扩招后少数群体是否拥有同等支持路径”。对照证据见Messer、Brown、Kölling与Shi,2024年《ACM Transactions on Computing Education》24(1):10:1–10:43:系统综述纳入2017—2021年的121篇论文;多数自动评测依赖单元测试并允许多次提交,且隐藏测试常用于抑制硬编码“刷过公开样例”,说明反馈口径会直接改变学生的搜索策略。它显示公平差距可能来自环境而非单一教学法;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告被学生采纳且确实带来正确修改的反馈比例,而不是反馈的生成量或准确率。采纳率是唯一能说明反馈起没起作用的读数。同时应说明反馈的时机——即时与延迟给出的效果不同,尤其在需要学生先自行尝试的任务上,早给等于没给。
与本块第八条《自动评测边界》是判定与指导的分工,与第十七条《生成式工具双效应》则形成一处新的紧张:生成工具能提供最详尽、最即时的帮助,也最容易越过「不代写」这条线。本条给出的判据在工具时代反而更清晰——**有效的帮助让下一次不需要帮助,无效的帮助让下一次更需要**。
八、测试投机:评测规则会塑造学生写什么
自动评测系统给出的规则一旦公开,就成了学生优化的对象。这一点长期被当作个别学生的诚信问题。系统的观察显示它是可预期的普遍行为——面对一个可见的评分函数,硬编码样例输出、针对测试用例做最小修补、把不理解的部分凑到刚好通过,都是理性反应。这条转向把评测规则当作会塑造行为的制度,而不是中立的测量装置。
这条理论的可反驳命题是:学生会优化可见评分函数,可能用硬编码、过拟合样例或最小修补换取通过;评测设计本身是教学信号。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“无理解而通过测试数/全部通过测试数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Messer、Brown、Kölling与Shi,2024年《ACM Transactions on Computing Education》24(1):10:1–10:43。具体设计与读数是:系统综述纳入2017—2021年的121篇论文;多数自动评测依赖单元测试并允许多次提交,且隐藏测试常用于抑制硬编码“刷过公开样例”,说明反馈口径会直接改变学生的搜索策略。在线评测日志与代码相似性研究在2016年后持续记录test gaming;增加性质测试和解释任务可缓解但提高成本。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“短期完成率是否迁移到新任务”。对照证据见Edwards 与 Pérez-Quiñones,2008年《Journal of Educational Resources in Computing》8(3):自动评测可在每次提交后返回测试结果、覆盖与风格信息,但“输出全对”仍无法区分理解、试错和对公开测试的投机。它显示量表跨语言并不等于跨文化等值;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:估计并报告无理解而通过测试的比例,例如用隐藏测试或变体题复测。不做这项估计,通过率就无法作为掌握程度的证据。同时应说明测试用例的公开策略——全公开、部分公开与全隐藏所诱导的行为差别很大,这个选择本身就是教学设计的一部分。
与本块第八条《自动评测边界》是同一装置的能力界与副作用,与第十条《概念量表》则是问题与出路:要判断通过率里有多少水分,唯一可靠的办法是有一把不被评分规则塑造的独立尺子。缺了这把尺子,任何关于教学效果的结论都可能是在测量学生对评分函数的适应程度。
九、生成式工具双效应:完成更多不等于学得更多
生成式工具进入编程课堂时,最直接的观察是产出提高了:学生完成更多题、更快跑通、挫败更少。这个前提把当堂完成度当作学习的代理。更完整的观察显示两种效应同时存在——工具降低了搜索与语法成本,也减少了检索练习、调试与自我解释这些正是产生长期保持的环节。这条转向要求把完成与学得分开测量,并接受两者可能背离。
这条理论的可反驳命题是:工具可降低搜索和语法成本,同时减少检索练习、调试和自我解释;必须把即时产出与延迟迁移分开测。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“AI辅助后新题独立正确数/当堂完成数”。
主证据来自Prather、Reeves、Leinonen、MacNeil等,2024年《ICER会议录》:469–486,ACM,页469–486。具体设计与读数是:研究进行21次实验室观察、访谈与眼动记录;20名学生完成了任务,但加速者能拒绝无用建议,受阻者则出现新的元认知困难和能力错觉,完成率与独立学习发生分离。2023—2025年的课堂实验常观察到任务完成加快或分数提高,但在无工具测验、调试行为和概念保持上结果混合。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“课程总分是否混入先备经验与评分规则”。对照证据见Denny、Prather、Becker等,2024年《Communications of the ACM》67(2):56–67:该文把生成式工具带来的能力、评测、诚信与课程设计问题放在同一框架中;它强调完成代码与理解、解释、验证和迁移必须分开测量。它显示AI建议正确时也可能减少主动检索和调试;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告在无工具条件下、面对新题的独立正确率,与当堂完成量的对照。只报完成量的课程评估在工具时代已经失去意义。同时应说明工具的使用方式是否被记录——同样是「允许使用」,直接索要完整答案与用它解释报错,对学习的影响方向相反。
与本块第九条《PRIMM次序》正面相撞:最容易被工具跳过的,恰是预测与阅读这两步。与第十九条《提示素养非编程素养》则是现象与其构念澄清。三条构成本领域当下最要紧的一组问题——不是要不要用工具,而是哪些环节一旦被代办,能力就不再生成。
十、验证负担转移:AI结对把错误从语法层搬到判断层
编程教学的传统难点集中在生成侧:如何把想法变成语法正确、结构合理的代码。工具接手生成之后,难点没有消失,而是整体搬到了另一侧——需求是否被满足、边界条件是否被覆盖、有没有看起来正确却在特定输入下失效的漏洞。这条转向指出学习目标必须随之改写:学习者要练的不再只是写出来,而是判断眼前这段代码是否可以采信。
这条理论的可反驳命题是:学习者必须评估需求符合性、边界条件和隐藏漏洞;不会审查时,流畅代码会放大误信。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“人工验证时间/生成代码时间”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。它改写的不是工具名称,而是什么比较才算同一个问题。
主证据来自Vaithilingam、Zhang 与 Glassman,2022年《CHI Extended Abstracts》,ACM。具体设计与读数是:参与者能更快获得候选代码,却花额外时间理解、测试和修正隐蔽错误;负担从语法构造转到真实性判断。2023年后代码助手研究记录新手高接受率与低验证率;生成代码常通过样例却在边界、性能或安全上失效。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“自动反馈是否诱导试错投机”。对照证据见Rahe与Maalej,2025年《Proceedings of the ACM on Software Engineering》2(FSE):978–1000:37名学生中只有23人实际使用聊天工具;多数使用者最终要求生成完整答案,部分人反复提交错误生成代码再请求修补,验证和主体能动性成为新的瓶颈。它显示脚手架可能提高当堂表现却延迟独立性;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:把人工验证时间与生成代码时间的比值作为一项读数报告出来。这个比值直接反映验证是否真的发生——接近零意味着学生在直接采信。同时应说明验证的方式是否被教过:读、测、构造反例还是形式推理,这些能力过去从未被系统安排在入门课程里。
与本块第十二条《调试独立性》是同一能力在新条件下的凸显,与第十五条《可行动反馈》则一起指向一个尴尬的现实:学生最需要的判断能力,恰恰是最难由工具本身来训练的,因为提供判断的工具与被判断的工具是同一个。这也是本条与其他各条最不同的地方。
十一、提示素养非编程素养:会问出答案不代表能迁移
生成工具普及后出现了一种新的能力叙事:会提问就是新的编程能力。这个说法把提示构造、代码理解、修改能力与从零建模混成一件事。研究把它们分开测量后发现构念并不相同——能问出可用答案的学生,未必能读懂它、改对它,更未必能在没有助手的新情境中重建。这条转向要求这几项能力分别评估,尤其要在无助手条件与新情境中测。
这条理论的可反驳命题是:提示构造、代码理解、修改与从零建模是不同构念,应在无助手和新情境中分别测试。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“可解释提示选择数/提示交互总数”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Kazemitabaar 等,2023年《CHI会议录》,ACM。具体设计与读数是:实验把有无代码生成器的初学者分组,并加入无工具后测;即时完成率和后测迁移必须同时通过,才说明提示能力转成编程能力。2024年前后课程研究发现学生可借助手完成熟悉任务,却未必解释代码或迁移到结构变化题;测量口径仍在形成。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“生成式帮助是否削弱判断和解释能力”。对照证据见Prather、Reeves、Leinonen、MacNeil等,2024年《ICER会议录》:469–486,ACM,页469–486:研究进行21次实验室观察、访谈与眼动记录;20名学生完成了任务,但加速者能拒绝无用建议,受阻者则出现新的元认知困难和能力错觉,完成率与独立学习发生分离。它显示过程日志会把可观察动作误当认知过程;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:报告可被解释为有意选择的提示交互占全部交互的比例,并在无助手条件下另测一次。前者区分策略性使用与反复碰运气,后者才回答迁移问题。同时应说明测试情境与训练情境的差异程度——差异太小的迁移测试会给出虚高的乐观结论。
与本块第十七条《生成式工具双效应》是构念澄清与效应观测,与第十条《概念量表》是应用与工具。这里也暴露了本领域眼下最现实的困难:评估工具影响所需要的那把独立尺子,本身也在被工具改变,因为可搜到答案的题目正在迅速失去区分度。
十二、扩招不自动公平:准入扩大后归属与路径仍决定留存
扩大招生长期被当作解决计算机教育不平等的主要手段:让更多人进来,结构自然会改善。这个前提把不平等定位在入口。入口打开之后的数据显示差异在课程内部继续生成——先修经验的落差、身份威胁、同伴网络的排他与评价方式的偏向,都会在第一个学期里筛掉一部分人。这条转向把关注点从准入转到留存,问的是进来之后发生了什么。
这条理论的可反驳命题是:先修经验、身份威胁、同伴网络与评价方式会在课程内部继续制造差异。比较必须固定先备知识、任务难度、反馈时点与工具可用性,只改变题型、脚手架、反馈或协作方式,并以概念迁移、调试能力、独立完成率和留存为共同结果;量纲写成“少数群体课程留存率/总体留存率”。若同等预算下不优于强基线,或换数据、平台与人群便失效,命题只能收窄。
主证据来自Sax、Lehman、Jacobs、Kanny、Lim、Monje-Paulson与Zimmerman,2017年《高等教育杂志》88(2):258–293。具体设计与读数是:研究汇合1971—2011年1225所四年制院校约800万名学生的全国调查,并分析18830名计算机专业学生;准入规模扩大并未自动消除性别化兴趣、经验和归属路径。2016年后CS教育的多校数据持续显示入门人数上升但留存差距存在;结构化同伴支持和多路径课程可改善,效果依情境而异。这笔证据把认知负荷、测量效度、过程策略和归属感从背景变量改成可复算的中间量,并留下样本、版本、阈值或预算检查点。主证据年份决定幕归属;核验应以篇名反查作者、卷页或DOI以及这里采用的读数。
争议集中在“扩招后少数群体是否拥有同等支持路径”。对照证据见Salleh、Mendes 与 Grundy,2011年《IEEE Transactions on Software Engineering》37(4):509–525:系统综述汇集十八项高等教育实证,分别比较成绩、信心、满意度和留存;结对效应并不等同于“两个学生写得更快”。它显示公平差距可能来自环境而非单一教学法;换任务、分母或组织流程后,成本可能转移到未记录处。争论要收敛,须预注册口径、公开负结果并由独立站点重做,同时报告均值、尾部、失败类型与维护成本。
它改变的最低交付责任是:分组报告留存率,而不是只报招生结构。只报入口数字的机构可以在留存持续恶化的同时展示进步。同时应报告先修经验的分布,因为课程若默认学生有过编程经历,起点差异会被误读为能力差异,而这个误读会被评分固化下来。
与本块第二条《结对编程》和第十一条《空间技能可训练》构成一组具体的落点:归属感与可训练性正是留存差异的两个主要抓手。这三条一起,把「公平」从一句宣示变成三项可测量的教学安排——招生结构、课堂互动方式与对差异成因的解释框架。
◎ 二十年连起来看
第一幕把“从空白写代码”拆成结构、阅读、同伴解释、可视化与自动反馈等可分训练对象。 第二幕转向测量效度、过程日志和生成式工具清算,完成程序不再等同于发生了学习。 两幕不是工具换代,而是评价单位不断扩大:第一幕找出局部上界、误差、约束或行为机制,第二幕把它们放进真实系统、组织与生命周期。只有当旧默认被写成可检查条件,新方法才构成转向。
被继承的是任务分解:Parsons、PRIMM、概念量表、调试与过程数据都把一个总成绩拆成可诊断的学习动作。 这一判据在二十条里反复出现:条件、操作、读数与边界必须形成可复查链条。工具名可以变化,数据来源、分母、中止、未达阈值或无法归类的对象和复现路径却不能省;这也是碰撞行能够抽取并与别的领域通约的基础。
被推翻的是“编程能力是固定天赋”和“交出正确程序即可证明掌握”;仍未解决的是AI协作后的独立能力口径。 因而,本领域尚未解决的核心不是再提高一个百分点,而是如何测量工具辅助下仍可迁移、可解释并能独立验证的编程能力。若未来五年的工作仍只给均值和排行榜,不给真实部署、尾部和反例,它不会继续这条二十年主线。
◎ 三个常见误解
误解一:学生写得越多就学得越多。它容易被相信,是因为单次榜单只显示结果而隐藏先备知识、任务难度、反馈时点与工具可用性、中止、未达阈值或无法归类的对象与选择过程。正确表述是把收益限定在同一分母和同一边界内,再看是否跨环境保持。
误解二:自动反馈越即时越有效。它容易被相信,是因为工具把一部分依赖封装起来,看上去像整个系统已经被封装。正确表述是任何抽象都只覆盖一段链条,外部数据、版本、组织和硬件仍需单独核验。
误解三:会提示生成工具就是会编程。它容易被相信,是因为成功案例适合传播,而过程日志会把可观察动作误当认知过程通常不进入摘要。正确表述是收益与边界、代价、反例必须同时报告,不能把局部改进外推成普遍保证。
◎ 与相邻领域的接口
与〈形式化方法与程序验证〉的接口在于:学生使用生成代码后,验证、测试和规格阅读成为新的核心能力。 分工判据是,本块负责把计算对象、系统行为与可核对读数写清;相邻领域负责它自己的机制、制度或物理约束。若同一现象使用不同术语和分母,两边都保留,并在碰撞行登记异名。
与〈人机交互〉的接口在于:反馈界面、错误呈现与可解释提示决定学生实际看见什么。 分工判据是,本块负责把计算对象、系统行为与可核对读数写清;相邻领域负责它自己的机制、制度或物理约束。若同一现象使用不同术语和分母,两边都保留,并在碰撞行登记异名。
与〈学习科学〉的接口在于:迁移、认知负荷和自我调节提供测量框架,本面板聚焦编程任务。 分工判据是,本块负责把计算对象、系统行为与可核对读数写清;相邻领域负责它自己的机制、制度或物理约束。若同一现象使用不同术语和分母,两边都保留,并在碰撞行登记异名。
与〈软件工程〉的接口在于:代码审查、测试与调试实践为课堂能力提供真实部署参照。 分工判据是,本块负责把计算对象、系统行为与可核对读数写清;相邻领域负责它自己的机制、制度或物理约束。若同一现象使用不同术语和分母,两边都保留,并在碰撞行登记异名。
◎ 争议现场
未收敛的争论是:生成式工具应禁用、限用还是纳入考核。支持方强调已有正向设计,反对方指出分母、样本或环境不足以外推。要怎样才能收敛:用不少于三个独立平台或人群,预注册共同基线、预算和停止规则,并以概念迁移、调试能力、独立完成率和留存的分层分布比较;若方向一致且边界可预测,争论才收敛。
未收敛的争论是:概念量表能否跨语言和课程架构比较。支持方强调已有正向设计,反对方指出分母、样本或环境不足以外推。要怎样才能收敛:建立版本化公开基准,保存失败配置、调参轨迹和维护成本,以盲评方式复跑;若收益只在事后选择的路径上出现,应判为未收敛。
未收敛的争论是:过程日志是学习证据还是行为代理变量。支持方强调已有正向设计,反对方指出分母、样本或环境不足以外推。要怎样才能收敛:把局部结果接入真实工作流或制度现场,连续观测至少一个完整周期,并报告最差分位与反事实对照;只有端到端读数同向,才能排除成本转移。
◎ 往下五年看什么
观察点是撤去脚手架四周后的独立迁移正确率。应固定统计周期、样本覆盖与质量门槛,按年度公布分布而非只公布最好值;若连续两次独立复测方向相反,就说明该读数尚不足以承担领域判据。
观察点是代码正确但无法解释或修复的比例。应固定统计周期、样本覆盖与质量门槛,按年度公布分布而非只公布最好值;若连续两次独立复测方向相反,就说明该读数尚不足以承担领域判据。
观察点是AI辅助组与非辅助组在新题上的效应差。应固定统计周期、样本覆盖与质量门槛,按年度公布分布而非只公布最好值;若连续两次独立复测方向相反,就说明该读数尚不足以承担领域判据。
观察点是不同群体从入门到第二门课程的留存与归属变化。应固定统计周期、样本覆盖与质量门槛,按年度公布分布而非只公布最好值;若连续两次独立复测方向相反,就说明该读数尚不足以承担领域判据。
◎ 可与哪些领域对撞
本块第18条《验证负担转移:AI结对把错误从语法层搬到判断层》与第352号第十二条《机器建议、内核裁决》可以对撞。它们共享的预设是:两边都默认生成结果必须经过独立规则接受才算正确。相反点在于:验证负担转移要求学生审查生成代码,形式化证明要求小内核拒绝不成立的建议。若两边都成立,若两边都成立,第三项就是教育目标应从产出速度转到拒错能力。
本块第9条《PRIMM次序:预测与阅读应先于修改和创造》与第128号第一幕甲条《认知负荷理论的演化重构》可以对撞。它们共享的预设是:两边都默认学习任务的次序会改变工作记忆中可处理的元素数。相反点在于:PRIMM先读预测再运行修改,认知负荷理论则通过降低元素交互性解释其有效性。若两边都成立,若两边都成立,第三项就是教学序列应按可同时协调的关系数而非材料长度设计。
本块第16条《测试投机:评测规则会塑造学生写什么》与第149号第一幕乙条《真实活动盈余管理》可以对撞。它们共享的预设是:两边都默认被考核者会优化可见指标。相反点在于:测试投机让程序通过而理解缺席,真实活动盈余管理让利润达标却损毁长期价值。若两边都成立,若两边都成立,第三项就是指标达标可能与对象退化同时发生。
本块第20条《扩招不自动公平:准入扩大后归属与路径仍决定留存》与第086号第一幕甲条《参与式文化的乐观》可以对撞。它们共享的预设是:两边都默认降低创作或入门门槛会自动扩大有效参与。相反点在于:扩招不自动公平强调支持路径差异,参与式文化也把能发布误当成能被看见。若两边都成立,若两边都成立,第三项就是准入之后的持续支持与分发结构决定真实平等。
◎ 十条可做的研究命题
积木式入口的因果识别命题:在控制共同预算后,积木能减少语法错误并支持早期构造,但概念抽象与文本表达需显式桥接;怎么做:在真实部署中随机或准随机改变题型、脚手架、反馈或协作方式,固定先备知识、任务难度、反馈时点与工具可用性,比较前后与未处理组;什么算证伪:若效应低于测量误差、跨环境方向不一致,或短期完成率是否迁移到新任务不再预测失败,则命题被证伪。
自动评测边界的测量命题:在控制共同预算后,自动评测擅长规模化判断行为结果,却可能漏掉结构、解释、调试过程与偶然过测;怎么做:建立跨三种环境的统一日志,直接测量“有学习价值反馈数/自动反馈总数”并分层报告尾部;什么算证伪:若效应低于测量误差、跨环境方向不一致,或课程总分是否混入先备经验与评分规则不再预测失败,则命题被证伪。
概念量表的复现重估命题:在控制共同预算后,应开发经过项目分析、信度与效度检验的概念量表,把知识构念与课程评分分开;怎么做:用新版本、强基线和独立团队重做第5条的关键设计,保存全部失败路径;什么算证伪:若效应低于测量误差、跨环境方向不一致,或自动反馈是否诱导试错投机不再预测失败,则命题被证伪。
调试独立性的跨领域命题:在控制共同预算后,故障假设、证据收集、断点选择与修复验证构成独立能力,应单独教学与测量;怎么做:把相邻领域的审计、因果或能量账本移入本领域,以共同分母连接概念迁移、调试能力、独立完成率和留存;什么算证伪:若效应低于测量误差、跨环境方向不一致,或生成式帮助是否削弱判断和解释能力不再预测失败,则命题被证伪。
过程数据的因果识别命题:在控制共同预算后,编译、运行、编辑序列和停顿模式能区分探索、卡顿与盲目试错,预测应基于过程而非;怎么做:在真实部署中随机或准随机改变题型、脚手架、反馈或协作方式,固定先备知识、任务难度、反馈时点与工具可用性,比较前后与未处理组;什么算证伪:若效应低于测量误差、跨环境方向不一致,或扩招后少数群体是否拥有同等支持路径不再预测失败,则命题被证伪。
测试投机的测量命题:在控制共同预算后,学生会优化可见评分函数,可能用硬编码、过拟合样例或最小修补换取通过;怎么做:建立跨三种环境的统一日志,直接测量“无理解而通过测试数/全部通过测试数”并分层报告尾部;什么算证伪:若效应低于测量误差、跨环境方向不一致,或短期完成率是否迁移到新任务不再预测失败,则命题被证伪。
验证负担转移的复现重估命题:在控制共同预算后,学习者必须评估需求符合性、边界条件和隐藏漏洞;怎么做:用新版本、强基线和独立团队重做第13条的关键设计,保存全部失败路径;什么算证伪:若效应低于测量误差、跨环境方向不一致,或课程总分是否混入先备经验与评分规则不再预测失败,则命题被证伪。
扩招不自动公平的跨领域命题:在控制共同预算后,先修经验、身份威胁、同伴网络与评价方式会在课程内部继续制造差异;怎么做:把相邻领域的审计、因果或能量账本移入本领域,以共同分母连接概念迁移、调试能力、独立完成率和留存;什么算证伪:若效应低于测量误差、跨环境方向不一致,或自动反馈是否诱导试错投机不再预测失败,则命题被证伪。
结对编程的因果识别命题:在控制共同预算后,驾驶者—导航者轮换可促进解释、即时审查和归属感,效果应以学习与留存衡量;怎么做:在真实部署中随机或准随机改变题型、脚手架、反馈或协作方式,固定先备知识、任务难度、反馈时点与工具可用性,比较前后与未处理组;什么算证伪:若效应低于测量误差、跨环境方向不一致,或生成式帮助是否削弱判断和解释能力不再预测失败,则命题被证伪。
同伴教学的测量命题:在控制共同预算后,先独立作答、同伴辩论、再投票能让隐性误解显露,并用学生语言重构概念;怎么做:建立跨三种环境的统一日志,直接测量“解释后概念增益/课前概念分”并分层报告尾部;什么算证伪:若效应低于测量误差、跨环境方向不一致,或扩招后少数群体是否拥有同等支持路径不再预测失败,则命题被证伪。
◎ 资料核验
- Parsons, D., & Haden, P. (2006). Parson’s programming puzzles: A fun and effective learning tool for first programming courses. Proceedings of ITiCSE 2006. ACM.
- Salleh, N., Mendes, E., & Grundy, J. (2011). Empirical studies of pair programming for CS/SE teaching in higher education: A systematic literature review. IEEE Transactions on Software Engineering, 37(4), 509–525.
- Venables, A., Tan, G., & Lister, R. (2009). A closer look at tracing, explaining and code writing skills in the novice programmer. Proceedings of ACE 2009.
- Porter, L., Bailey-Lee, C., & Simon, B. (2013). Halving fail rates using peer instruction: A study of four computer science courses. Proceedings of SIGCSE 2013. ACM.
- Sorva, J. (2013). Notional machines and introductory programming education. ACM Transactions on Computing Education, 13(2), 8.
- Weintrop, D., & Wilensky, U. (2015). To block or not to block, that is the question: Students’ perceptions of blocks-based programming. Proceedings of ICER 2015. ACM.
- Morrison, B. B., Margulieux, L. E., & Guzdial, M. (2015). Subgoals, context, and worked examples in learning computing problem solving. Proceedings of ICER 2015. ACM.
- Edwards, S. H., & Pérez-Quiñones, M. A. (2008). Web-CAT: Automatically grading programming assignments. Journal of Educational Resources in Computing, 8(3).
- Sentance, S., Waite, J., & Kallia, M. (2019). Teaching computer programming with PRIMM: A sociocultural perspective. Proceedings of WiPSCE 2019. ACM.
- Parker, M. C., Guzdial, M., & Engleman, S. (2016). Replication, validation, and use of a language independent CS1 knowledge assessment. Proceedings of ICER 2016, 93–101. https://doi.org/10.1145/2960310.2960316.
- Cooper, S., Wang, K., Israni, M., Sorby, S., et al. (2022). Six studies of spatial skills training in introductory computer science. ACM Transactions on Computing Education, 22(2), Article 18. https://doi.org/10.1145/3494574.
- McCauley, R., et al. (2019). Debugging: The key to unlocking the mind of a novice programmer? Proceedings of the IEEE Frontiers in Education Conference. https://doi.org/10.1109/FIE43999.2019.9028699.
- Haynes, C. C., & Ericson, B. J. (2021). Problem-solving efficiency and cognitive load for adaptive Parsons problems vs. writing the equivalent code. Proceedings of CHI 2021, 1–15. https://doi.org/10.1145/3411764.3445292.
- Rivers, K., Petersen, A., & Koedinger, K. (2016–2017). ProgSnap and ProgSnap2: Standard formats for programming process data.
- Keuning, H., Jeuring, J., & Heeren, B. (2018). A systematic literature review of automated feedback generation for programming exercises. ACM Transactions on Computing Education, 19(1), 3.
- Messer, M., Brown, N. C. C., Kölling, M., & Shi, M. (2024). Automated grading and feedback tools for programming education: A systematic review. ACM Transactions on Computing Education, 24(1), Article 10, 1–43. https://doi.org/10.1145/3636515.
- Prather, J., Reeves, B. N., Leinonen, J., MacNeil, S., Randrianasolo, A. S., Becker, B. A., Kimmel, B., Wright, J., & Briggs, B. (2024). The widening gap: The benefits and harms of generative AI for novice programmers. Proceedings of ICER 2024, 469–486. ACM. https://doi.org/10.1145/3632620.3671116.
- Vaithilingam, P., Zhang, T., & Glassman, E. L. (2022). Expectation vs. experience: Evaluating the usability of code generation tools powered by large language models. CHI Extended Abstracts 2022. ACM.
- Kazemitabaar, M., et al. (2023). Studying the effect of AI code generators on supporting novice learners in introductory programming. Proceedings of CHI 2023. ACM.
- Sax, L. J., Lehman, K. J., Jacobs, J. A., Kanny, M. A., Lim, G., Monje-Paulson, L., & Zimmerman, H. B. (2017). Anatomy of an enduring gender gap: The evolution of women’s participation in computer science. The Journal of Higher Education, 88(2), 258–293. https://doi.org/10.1080/00221546.2016.1257306.
- Denny, P., Prather, J., Becker, B. A., et al. (2024). Computing education in the era of generative AI. Communications of the ACM, 67(2), 56–67. https://doi.org/10.1145/3624720.
- Rahe, C., & Maalej, W. (2025). How do programming students use generative AI? Proceedings of the ACM on Software Engineering, 2(FSE), Article FSE045, 978–1000. https://doi.org/10.1145/3715762.