We introduced a JUnit like testing framework in an automated grading system for C programming assignments in order to reduce on the one hand the failure/ dropout rate of the course and on the other hand to master rising enrollments in the lab course. The testing framework is integrated into the Virtual-C IDE; a programming environment especially designed for learning and teaching the C programming language. In contrast to the previous system design, our new system provides detailed information on test results to the students. In order to prevent coding against the tests instead of coding according to the specification a high test coverage and randomized test data are used. The paper presents the results of a students’ evaluation of the course with two different student groups: one group uses the new testing framework, while the other group has no access to the detailed test reports. The results show a high acceptance of the new testing framework, which also is reflected in a distinct lower failure rate. Besides the positive feedback, the survey also indicates a shift from debugging code to solely applying tests.
«We introduced a JUnit like testing framework in an automated grading system for C programming assignments in order to reduce on the one hand the failure/ dropout rate of the course and on the other hand to master rising enrollments in the lab course. The testing framework is integrated into the Virtual-C IDE; a programming environment especially designed for learning and teaching the C programming language. In contrast to the previous system design, our new system provides detailed information...
»