From: Kathi Fisler To: shriram@cs.rice.edu Cc: Matthew Flatt Subject: book for workshop Date: Sat, 1 Jul 2000 14:50:59 -0500 (CDT) Here are the notes from [the June 2000 Rice Workshop]: - We used the traffic light graphics exercises (6.2.2-6.2.6) in lab on Tuesday morning. The teachers disliked them because they could not follow a recipe for the programs. I just realized why. These examples use an enumerated-type data defn of traffic light colors. They don't encounter mixed-data recipes until chapter 7. - We used average to motivate the data defn for non-empty lists. Max would have worked better. The labs spent too much time debating the definition of average on an empty list and why average didn't follow the design recipe for list of numbers. Max focuses the exercise on the non-empty list data defn. - Matthias' HTML exercises used quoted lists, which they hadn't seen. - On ancestor trees, we spent a good 10-15 minutes addressing confusion over the use of empty to denote no parent information. Many teachers tried to interpret empty as the empty structure rather than the empty list. This lead to questions about how empty? knows whether to check for empty lists or empty structures. Next time, I'm going to use false in this context instead. - In the interpreter, the transition from the arithmetic interpreter to the interpreter with definitions needs more motivation than is in the book (for most teachers). Several teachers struggled to see why two new structure definitions (on for app, one for define) were required. - As Shriram mentioned, provide handouts. The mutual recursion lecture went very well, due in part to the handouts. - We originally planned to do the extended exercise on moving pictures (section 10.3) in lab. Robby and John used the inventory exercises in 10.2 instead. This worked better because moving pictures assumes that everyone completed the previous 2 labs (almost nobody had). In general, avoid dependencies between labs other than the interpreter labs. - From Thursday onward, we stopped lecturing in labs. The teachers liked that much better, as lab-lectures were consuming close to half of lab time. - Matthias' lecture outline for Wed morning does a list recursion, insertion sort, and an example with the planets database (to demo both lists of structures and pictures). It's far too much material. We need to rethink Wed morning. Those are all of the notes I have. I deviated slightly from the examples in Matthias' lecture outline (I tried to create examples that I thought were more fun), but retained the concepts of each example. I'll try to write up a more formal outline of my lecture notes this weekend. Other than Wed morning, I was quite pleased with the content of my lectures. Kathi