Generative artificial intelligence poses new challenges around assessment and academic integrity, increasingly driving introductory programming educators to employ invigilated exams often conducted in-person on pencil-and-paper. But the structure of exams often fails to accommodate authentic programming experiences that involve planning, implementing, and debugging programs with computer interaction. In this experience report, we describe code interviews: a more authentic assessment method for take-home programming assignments. Through action research, we experimented with varying the number and type of questions as well as whether interviews were conducted individually or with groups of students. To scale the program, we converted most of our weekly teaching assistant (TA) sections to conduct code interviews on 5 major weekly take-home programming assignments. By triangulating data from 5 sources, we identified 4 themes. Code interviews (1) pushed students to discuss their work, motivating more nuanced but sometimes repetitive insights; (2) enabled peer learning, reducing stress in some ways but increasing stress in other ways; (3) scaled with TA-led sections, replacing familiar practice with an unfamiliar assessment; (4) focused on student contributions, limiting opportunities for TAs to give guidance and feedback. We conclude by discussing the different decisions about the design of code interviews with implications for student experience, academic integrity, and teaching workload.
翻译:生成式人工智能给评估与学术诚信带来了新的挑战,这正促使入门编程教育者越来越多地采用监考形式,通常是在线下进行纸笔考试。但考试的结构往往无法容纳涉及规划、实现和通过计算机交互调试程序的真实编程体验。在本经验报告中,我们描述了代码面试:一种针对带回家编程作业的更真实评估方法。通过行动研究,我们尝试了改变问题的数量和类型,以及面试是单独进行还是以学生小组形式进行。为了扩大项目规模,我们将大部分每周助教(TA)辅导课转换为对5个主要每周带回家编程作业进行代码面试。通过整合来自5个来源的数据,我们识别出4个主题。代码面试(1)促使学生讨论他们的作品,激发了更细致但有时重复的见解;(2)促进了同伴学习,在某些方面减轻了压力,但在其他方面增加了压力;(3)通过助教主导的课程实现了规模化,用不熟悉的评估取代了熟悉的练习;(4)聚焦于学生贡献,限制了助教提供指导和反馈的机会。最后,我们讨论了关于代码面试设计的不同决策,这些决策对学生体验、学术诚信和教学工作量具有影响。