Software quality is becoming an increasingly important issue to organizations that use and develop software. Educators need to emphasize quality as a foundation concept in undergraduate computer science education. This project outlines a novel approach, called adversarial testing, that encourages students to develop high quality programs and to develop test cases for that program. This approach can be easily incorporated into any course that involves significant programming laboratory exercises. In adversarial testing, students are motivated by natural competitive instincts to attempt to expose faults in their classmates' solutions while at the same time defending against fault-revealing test cases produced by their classmates. This technique leads students to a deeper understanding of the sources of faults in software and of different techniques for building reliable, robust software. This project uses a World Wide Web-based testing server that manages the program and test data associated with courses and students, performs the tests, and accumulates and reports the results of testing. Adversarial testing is introduced into five required and two elective courses in the computer science curriculum. In the context of these courses, both the short-term and long-term effects of having students solve programming laboratory exercises with adversarial testing is studied empirically. *

Agency
National Science Foundation (NSF)
Institute
Division of Undergraduate Education (DUE)
Type
Standard Grant (Standard)
Application #
9751194
Program Officer
Lillian N. Cassel
Project Start
Project End
Budget Start
1997-05-15
Budget End
1999-04-30
Support Year
Fiscal Year
1997
Total Cost
$11,101
Indirect Cost
Name
Kansas State University
Department
Type
DUNS #
City
Manhattan
State
KS
Country
United States
Zip Code
66506