Abstract :
This paper describes a system, built and refined over
the past five years, that automatically analyzes student programs
assigned in a computer organization course. The system tests
a student’s program, then e-mails immediate feedback to the
student to assist and encourage the student to continue testing,
debugging, and optimizing his or her program. The automated
feedback system improves the students’ learning experience
by allowing and encouraging them to improve their program
iteratively until it is correct. The system has also made it possible
to add challenging parts to each project, such as optimization
and testing, and it has enabled students to meet these challenges.
Finally, the system has reduced the grading load of University of
Michigan’s large classes significantly and helped the instructors
handle the rapidly increasing enrollments of the 1990s. Initial
experience with the feedback system showed that students depended
too heavily on the feedback system as a substitute for their
own testing. This problem was addressed by requiring students
to submit a comprehensive test suite along with their program
and by applying automated feedback techniques to help students
learn how to write good test suites. Quantitative iterative feedback
has proven to be extremely helpful in teaching students specific
concepts about computer organization and general concepts on
computer programming and testing.