Web-CAT blog resumes! PDF Print E-mail
Friday, 29 February 2008

I am resuming the Web-CAT development blog, and its about time! After a hiatus for over a year, I'll start regularly posting our development news once more. A lot has happened with Web-CAT in the intervening time, but there's too much to cover it all here. However, I will give you an overview of the highlights I'll be presenting at the Web-CAT User Group meeting at SIGCSE08.

As part of the user group meeting, I'll briefly be describing some of the most interesting things that are new with Web-CAT:

  • Multi-tab browser support: Now using multiple browser tabs to view separate Web-CAT pages at the same time works (in most cases).

  • Better support for multi-semester usage: Admins no longer have to start with a fresh database each semester, and users get a choice of which semester they are interested in when picking courses.

  • Safari WYSIWYG code markup: Safari used to cause Web-CAT exceptions due to a bug deep in WebObjects, but it is now fixed.

  • Automatic hint controls for Java: Cool and smart hint gneeration using only test case method names to make it easy for new instructors to get good hinting; advanced features can be controlled using Java annotations. Automatic hinting even works for untrapped exceptions.

  • Reflection-based test cases for Java: Now you can turn compile-time problems like mismatched signatures, missing methods, or non-public constructors into run-time test case failures, so students still get credit for what does work even if some things are invalid. This is possible using some nifty add-ons that make it easy and typesafe, without requiring you to use raw reflection (cumbersome and error-prone).

  • Dereferee: powerful pointer checking and memory management analysis for C++ programs, including stack trace generation and complete detection of all invalid memory operations right at the point of failure.

  • Visual Studio submissions: The submission plug-in has been ported to Visual Studio.

  • AJAX support: We added it for the Reporter subsystem, and will start integrating it into other parts of the Web-CAT interface over time.

  • User-definable stats reporting for course staff: The Reporter subsystem will be demonstrated at SIGCSE and is almost ready to release.

For more detail on what other things have changed, take a look at the change logs on the wiki. Three that contain many of the changes relevant to students and instructors are:

If course, those are just three. All of the subsystems and plug-ins have their own change histories. If you really want, you can take a look at the complete list of subsystems and visit their individual change history pages.