CIT 594: What this course is about
This is not primarily a Java course. As most of the programming assignments are to be written in Java, you are expected to already know Java, and you should be reasonably comfortable constructing GUIs with the AWT. The only significant new Java that we will cover is the Collections Framework (see http://java.sun.com/docs/books/tutorial/collections/index.html for an excellent introduction).
The main topics of CIT 594 will be:
We will begin with a new programming language, Lisp. I believe that this language is the best way to introduce the fundamental concepts of recursion and linked lists. We will only cover the most basic aspects of Lisp. There will be (probably) two programming assignments in Lisp; the remainder will be Java.
You will be expected to use Forté and Swing for some of the programming assignments. Forté is an IDE similar to BlueJ, but much more powerful; it will automatically generate all the Swing code that you need. This is not actually a part of the formal CIT 594 curriculum, but I'm including it because I believe that you cannot be a good craftsman without a mastery of your tools.
If you prefer JBuilder, Visual Age, or another good Java IDE, you may use those instead--after the first few assignments that require Forté. It won't hurt you to learn a second IDE! If you want to use an IDE other than one of these three, clear it with me first. In particular, you may not use J++ unless you first convince me you know how to work around its shortcomings.
Style is important. In CIT 591 we did not spend nearly enough time on coding style--how to lay out and document your program. In CIT 594 we will approach programming style from a much more general and philosophical--and more important!--level.