Explaining to a Computer: Enhancing Student Assessment with Programming and Simulating Execution
摘要
Accurately assessing students’ understanding of knowledge is essential in the teaching process. Traditional assessment methods rely on static and standardized questions, which often lack personalization and diversity. This makes these methods susceptible to plagiarism or cheating with tools such as large language models (LLMs). Inspired by Donald Knuth, the Knuth Test is an assessment method designed to address these limitations. We formulate the definition of “explaining to a computer” in the Knuth Test, requiring students to transform the knowledge they have learned into computational processes that can be executed on computing systems. Under this refined definition, the Knuth Test includes both programming and simulating execution, aligning more closely with real-world teaching scenarios. We collected data from over 1,300 students enrolled in the CS101 course over the past four years. The results demonstrate that both programming and simulating execution methods exhibit comparable effectiveness in assessing student performance, and their performance surpasses that of non-Knuth Test methods. These findings suggest that our refined assessment approach can enhance the evaluation of student understanding in introductory computer science education, providing valuable insights for the development of more effective teaching strategies.