Web-CAT stands for Web-based Center for Automated Testing. Web-CAT is a web application with a plug-in-style architecture. It was originally conceived as a platform for providing a number of student support services to help students learn software testing, although current work on the project focuses on automated grading of programming assignments.
Web-CAT's Grader Subsystem is its most prominent plug-in. It provides advanced automated grading capabilities with a high degree of flexibility and customizability. It is most well-known for supporting assignments where students are graded on how well they test their own code.
Web-CAT Information and Documentation
WebCatFaq (frequently asked questions)
InstructorGuide (in progress, needs to be moved to the cookbook)
InstallationGuide (in progress, needs to be moved to the cookbook)
UserInterfacePrototype This is a quick-and-dirty PHP mock-up of the UI, created in late 2004 as part of a complete "look and feel" redesign effort. While it does not completely capture the current features of the application, it provides a guest-accessible window into what Web-CAT is like.
Web-CAT's on-line help pages (in progress) This link points directly to the live help pages that Web-CAT users see within the application.
AdvisoryBoard (the Web-CAT Student Advisory Board)
In addition, there are a few documents we have not even started yet:
GradersGuide (for TAs and others who hand-grade assignments)
- Documentation on the pre-existing grading plug-ins supported by Web-CAT (the Java grading plug-in, the C++ grading plug-in, the various language-independent processors and feedback generators, etc.)
PluginGuide (for those who want to customize grading behavior)
If you know something about Web-CAT and want to contribute to these efforts, jump right in!
Downloads
Our SourceForge project download page provides access to all of our Web-CAT downloads. Individual files can also be accessed in our CVS repository.
The Web-CAT Story
The Web-CAT Grader was inspired by the Virginia Tech Curator, an earlier system developed independently of Web-CAT. The Curator is also a web-based, automated submission and grading system for programming assignments.
The Web-CAT Grader supports traditional models of automated program grading, but also supports grading of assignments where students do their own testing. It helps encourage TestDrivenDevelopment (also called test-first coding), where students write small unit tests for each piece of code they add. The Web-CAT Grader allows a student to submit his or her test cases along with the solution, and grades on test validity and test completeness as well as code correctness.
The current version of Web-CAT has processed approximately 100,000 student submissions since it was introduced in Spring 2003, serving around 1000 students spread across 60 course sections. Fall 2003 was the pilot semester for the project at high volumes but with a limited number of courses at Virginia Tech only. The first remote university began using Virginia's Web-CAT server for grading in Fall 2004, and in Fall 2005, a total of four universities were using Web-CAT. Fall 2005 also marks the activation of the first non-Virginia Tech installation of Web-CAT, which is being used at Franklin University.
Experimental results based on classroom use of Web-CAT are described in some of OurPublications. The most important result in a side-by-side comparison with a traditional output-based automatic grading strategy has been an aveage 28% reduction in the estimated bug density of student code (bugs per thousand non-commented source lines of code).