Version 1.30.011306 By: Dave Wittry and David Eitan Poll



Using:

Code Coverage by Clover

and

java junit jam tester automatic auto auto-mated automated grading teacher comp computer science ap troy high school class lab easy grade correct test unit testing david poll depoll automation jar time saver comma separated value csv java java junit junit jam tester automatic grading tool
  • What is JAM*Tester?
    2 Tools. A teacher tool to aid teachers with grading and a student tool to aid students in testing their code. Both tools utilize JUnit in order to automate tasks.

    • With the teacher tool you can completely test out the methods of a class - and do so for EVERY STUDENT AT ONCE! That means you can grade your students' labs for correctness in seconds. All results can be saved as a csv file to be imported into your favorite grading program. Also, working with JPlag, there is a built-in check for plagiarism.
    • With the student tool you, the student, can easily and even automatically create test cases for her classes. In addition, with the "code coverage" feature, she'll see exactly which statements in her code haven't yet been exercised with the test suite she created.
      The student tool is designed to work in cooperation with your favorite IDE (here are 2 good free ones - BlueJ and JCreator). If you wish, you don't even need to use another IDE - the tool has a built-in basic IDE (edit and compile from within the tool).
  • Why use it?
    You've already been teaching your students JUnit testing (or you want to learn - JUnit Demystified) - maybe you've even used the idea to grade their Java classes. The problem (used to be, anyway) is that you had to manually compile/run the test class for each student's class - then, write down the results(lots of methods per lab/per kid - lots of writing/notes, etc.). Now the entire process (from JUnit test class creation to running the tests to grading all labs) has been automated.
    (paper discussing the merits of JUnit in a cs classroom - Automated Unit Testing with JUnit - Copyright (c)2004 by College Entrance Examination Board. All rights reserved. Used with permission.)
    Tip
    If you've been designing labs with lots of (or any, for that matter) user input, stop. It's unnecessary and distracting to your students. There is a time for user/file input - when that's what you're trying to teach. If you want to fully automate grading, think about designing your labs without user input; it's not hard. This has the added side effect/benefit that you won't have to sit there answering questions when running their labs. So, when you design their lab, just design the class and its methods.
     

  • What does it cost?
    Absolutely nothing.  However, we'd love to know what you think and welcome ideas.  Please, contact us with your questions or comments.  See the Contact page.

  • What is my learning curve?
    Practically zero. What you'll spend time learning is JUnit.  If you use our JUnit Demystified tutorial which focuses on JUnit only, you'll spend 10-15 minutes and be good to go.

  • What platform will it run on?
    Well, it's written in Java, so as long as you have the Java SDK version 1.4 or better, you should be fine.  However, it has only been tested on Windows machines.  Let us know if you run into problems.

  • How does it work?
    It's not too hard.  All you need to tell the program is what folder contains the students' labs and where it can find the test file.  JAM*Tester will compile each lab and create a .csv (comma separated values, compatible with most spreadsheet programs) file with the results.  JAM*Tester makes lab evaluation simple!

  • I want more reading on related material.
    Unit testing is part of the Xtreme Programming methodology of letting the testing drive the design/coding. Since you are likely a high school teacher - maybe professor - we would suggest you focus on just 2 of the topics within XP (Test-Driven Development -- Pair-Programming). Here is some interesting food for your cs mind: What is XP? -- Pair-Programming -- Pair-Programming In the CS Classroom -- An XP Episode!

  • Whose project is this?
    Dave Wittry, a teacher at Troy High School, and a gifted/motivated student at Troy High School named David Poll (class of '05).

Dave Wittry and David Eitan Poll
About
Teacher Demo
Student Demo
Download
Help/How-to
News
Contact

(c) 2005 David Eitan Poll