CIT 594 Previous Announcements
Spring 2003, David Matuszek


May 5, 2003 According to the Registrar's schedule of exams, our final exam is in Towne 311, Tuesday, May 6, 1:30-3:30.
May 5, 2003 If you are having trouble with traversing Binary Trees, I've added a slide (#12) on the "flag" technique that David Duffy told us about.
May 1, 2003 I've posted a Study Guide for the final exam.
May 1, 2003 Fixed a broken link to the Animation pages.
April 23, 2003 If you have been having trouble in the last assignment with the board not being displayed, I have a new version of (and that may work better for you.
April 23, 2003 I've posted the animation pages, and added the missing page about how to do double buffering. (For a more thorough (but somewhat out of date) explanation, see This material will not be on the final exam.
April 22, 2003 Due to the upcoming CIT596 final exam, the due date for the final assignment is extended to Sunday, April 27, before midnight.
April 22, 2003 I've posted (on Blackboard) some preliminary grades. These are based only on assignments 1 through 5 and the two midterms.
April 10, 2003 The due date for the seventh assignment (Dijkstra's algorithm) has been changed to Tuesday, April 15.
April 10, 2003 A week or two ago I wrote up and posted some examples of Tree Traversals and Searches, but it looks like I forgot to link to it. The link is now there.
April 3, 2003 The Seventh Assignment is ready. Due April 10.
March 28, 2003   MCIT Pizza Social

         Wednesday, April 9, 5pm
         Raisler Lounge
March 25, 2003 Here's a study guide for the second midterm.
March 24, 2003 For the second midterm, please read through chapter 5 of The Pragmatic Programmer.
March 20, 2003 The Sixth Assignment is ready. Due date is April 1.
March 20, 2003 The due date for assignment 5, BinaryTree/BinaryTreeEditor, is now Tuesday, March 25.
March 20, 2003 My apologies--I had not, in fact, posted the date for the final exam. It is (according to Tuesday, May 6, 1:30-3:30.
March 18, 2003 I've posted my version of I think it's reasonably well written (bug reports would be appreciated), and it might be worthwhile to compare my version with yours.
March 12, 2003 The answers to the first midterm have been posted.
March 6, 2003 Here's a second version of the BinaryTreeEditor suggestions.
March 6, 2003 David Duffy found this really cool binary search tree applet on the Web.
February 27, 2003 In case you didn't notice, there is a new assignment posted. You have quite a lot of time on it because I expect the second part to be quite difficult.
February 18, 2003 Here is the new version of The version of toString(Sexpr) in it assumes that your atom(Sexpr) and isNull(Sexpr) methods each return a Sexpr, and that I can do an == comparison with your Sexpr.NIL.
February 18, 2003 We do have class today. I will probably be in for office hours as well.
February 16, 2003 If you need additional help with the assignment, here is an interpreter walkthrough page that may be of assistance. This page contains more detailed suggestions for how to write your interpreter; it does not include any new requirements.
February 15, 2003

Errata for fourth assignment:

  • I forgot to add the link for But it's the same as last semester.

  • I said that defun should return void. I also said it should return a Sexpr representing an atom whose value is a message saying that the function has been defined. The first statement (return void) is an error, the second one (return a Sexpr) is correct.

  • Windows does not recognize control-D as meaning end of file. In fact, Windows does not seem to recognize anything as meaning end of file. I suggest you add an exit function to your other Lisp functions to compensate for this problem.
February 14, 2003

BlueJ is supposed to be working on the machines in Moore 207 now. If it is not, here are two alternatives:

  • Use BlueJ in one of the Windows labs. It's under "Course-specific software/CIS."
  • Just use the command line and any editor. Here is a page on Doing Without BlueJ.
February 13, 2003 The first midterm will be on February 20. It will cover materials from the lectures up to and including the February 18 lecture, plus the Preface and Chapters 1 and 2 of "The Pragmatic Programmer."
February 13, 2003

Correction: Some of the methods I called in LispUtil were in the wrong class (I had car, cdr, atom, isNull in the Sexpr class instead of in the Lisp class). That and some other minor problems have now been corrected.

I've also updated the help page to discuss using .class files.

February 12, 2003 If you are still having trouble with assignment 3, here is some help.
February 6, 2003 Revised due date for assignment 3: Monday, February 10, before midnight.
February 5, 2003 I've verified that my slides on parsing Lisp are correct, and they are now posted.
February 3, 2003 For people that are still struggling with assignment 2 (sorting in Lisp) I've put up a page of hints. Very explicit hints, in fact. Pseudocode.
February 2, 2003 Important correction on assignment 3. You cannot name a function null, because that is a reserved word. Please use the name isNull instead.
January 30, 2003

Clarifications on Lisp sorting assignment:

  • As always, a "permutation" is an arrangement of the same elements. If one list is a permutation of another, they necessarily have the same number of elements. If a given element occurs N times in one permutation, it occurs N times in every other possible permutation.
  • If lists A and B are identical, then B is a permutation of A--this is the "trivial" permutation.
  • permutedp is supposed to work for lists of atoms, not just lists of integers.

January 30, 2003

Thursdays 2-4 is my time to be in the Linux lab (Moore 207) helping students with their programs. This coming Thursday, February 6, I plan to give a short presentation on using Linux. (It's not hard--honest!)

January 22, 2003

Blackboard has been set up for this course.

January 16, 2003

I finally have the links correct (and I'm sure you'll tell me if I'm wrong). Also, please read the following pages: Programming Requirements and About this course.

January 16, 2003

XLisp can be downloaded from The file you need is the last one on this page,