JavaDUCK -- Building a Software Engineering Tool as a CS2 Project
You can download the SIGCSE paper,
and slides from the presentation as Powerpoint
or as PDF 6up
In the Spring term of 1998, I taught Cornell's CS2 course, CS211. As a
course project, the students were asked to create a tool much like the
javadoc
tool that comes as part of Sun's JDK. That is, the tool they were to
create would:
We called the tool JavaDUCK (Java DocUmenter of Code, oK?).
We gave the students a scanner generated using the tool JLex from Princeton University. We gave them a simplfied grammar for Java (e.g, no arrays, no initializing expressions) plus a simple interface to conform to (so that we could write a common test suite), and we turned them loose!
We think that the results were very impressive (we received some nice email from the javadoc folks at Sun). The winners of the coveted Golden Duck Award can be found here. Keep in mind that these pages were generated from test suites that the students did NOT get to see beforehand.
The course page on the project (i.e., the one the students saw) can be found here, and the project handout can be found here.
JavaDUCK was originally conceived by me (Mike Godfrey) ... but two of my TAs did most of the work. Max Khavin generated the JLex scanner and wrote up the preliminary version of the handout. Dan Grossman did just about everything else, including the development of a set of test files (which we kept secret).
Dan and I wrote a paper on the JavaDUCK experience, which I presented at SIGCSE '99 in March of 1999 in New Orleans.
If you are interested in using JavaDUCK for your course, please go ahead.
I would appreciate hearing about it, 'tho.
Michael W. Godfrey PhD
Professor,
School of Computer Science,
University of Waterloo
Waterloo, Ontario, N2L 3G1, CANADA
Office: DC2340
email:
URL: http://www.uwaterloo.ca/~migod
Last modification: Sunday January 11, 2015 at 19:51:01 (EST)