An In-depth Exploration of Unit Testing Challenges in Data-Driven MOOCs
摘要
Automatically assessing code for learning purposes presents a significant challenge in educational contexts, particularly in online courses aimed at distance learning. With a large public and limited teaching staff, the need for automated ways to grade learners’ programs becomes paramount for scalability and effective management. Python's simplicity and readability have rendered it an ideal language for beginners to embark on their programming journey. Consequently, educators have widely adopted Python unit tests as a common practice in Massive Open Online Courses (MOOCs) to assess students’ programming skills and comprehension of fundamental concepts. Unit tests, automated tests designed to check the correctness of specific code units, including functions and classes, offer an efficient means of evaluating students’ progress and understanding in the world of programming education. The paper addresses the challenges of unit testing in programming education within MOOCs. The focus is on the underlying philosophy of designing exercises and tests, presenting essential technical decisions for MOOC instructors. While extensively tested in MOOC settings, these approaches are equally relevant and applicable to conventional educational environments, such as universities and high schools. This paper aims to provide valuable insights into effective testing mechanisms, promoting enhanced learning outcomes in programming courses through constructive feedback and auto-grading capabilities.