Skip to main content

Teachers should get FIT

Posted by daniel on August 28, 2003 at 7:35 AM PDT

Imagine a class where, as a student, you don't have to try to outguess the instructor. You know exactly what is required and there are acceptance tests you can run to see how you are doing. This sounds like a lot of work for an instructor - creating a test harness for each assignment. In the featured article Extreme Teaching: Introducing Objects you see how the FIT framework along with the open source project Fitnesse can be used to create acceptance tests in a first course in teach Java programming.

In theory, acceptance tests make good pedagogical sense in helping to specify what an assignment is supposed to do. The instructor or grader can concentrate on whether or not the coding techniques were appropriate to what is being tested and not on whether or not the code does what it is supposed to do.

In practice, a lot depends on the expectations set by the instructor. A couple of years ago I taught a Design Patterns class at John Carroll University. One group of graduating seniors submitted their first assignment to me and the code didn't compile. They had spent the entire week working with code that didn't compile and it hadn't concerned them. They then turned it in. One of the benefits of teaching an intro class using Java is that the compiler can point to the errors (particularly in a beginning assignment).

Once the students have learned that the compiler can be their friend, a suite of automated acceptance tests can help clarify what is expected of them on an assignment. This is not an argument for or against test driven development. In his presentation at O'Reilly's Emerging Technology conference, Ward Cunningham spoke about creating an executable spec. The customer or teacher is creating a detailed list of expectations that can be run by the teacher or student at any time against the current state of the students' project. Progress can be tracked and what remains to accomplish is always clear.

In today's featured Weblogs, we run Tom Clements poem on wireless called Generation Gaps. You can email your poetry submissions to Poetry Corner. Jack Shirazi provides a nice linked table of contents to the August Java Performance News. There are half a dozen new features hosted on the Java Performance Tuning site.

In the Also Today section, Adam Bosworth muses about how a Web Services Browser might work. Adam is beginning an exploration and invites you to raise issues you have with his suggestions. This entry riffs on the idea of a web services enabled calendar that "has a default page with the current month set up in the begin Action using the Selectors to pull in the items that make sense for each day in that month. Each day has URL's that point to Actions for Add, Delete, Modify and each action in the controller script will have access to $ElementContext to see which day was in question. They will then invoke the requisite Web Service Operations to add/delete/modify."

The other featured link is to Michael Powers tutorial on Do-it-yourself MIDP on Mac OS X. Michael gave a few of us an impromptu demo at JavaOne. Bill Day has blogged on java.net about whose responsibility it is (Sun's or Apple's) to bring J2ME development to the Mac. Meanwhile, Michael has found a nice way to use Apple's X11 port to make it happen.

From the Java Today News Page, news editor Steve Mallett, has gathered the following News Headlines .

Registered users can submit news items using our submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.

This blog is delivered weekdays as the Java Today RSS feed. Once this page is no longer featured as the front page of href="http://today.java.net"> Java Today it will be archived at href="http://today.java.net/today/archive/index_08282003.html">
http://today.java.net/today/archive/index_08282003.html. You can
access other past issues by changing the address appropriately.