CIT 594 Requirements and Resources
Spring 2006, David Matuszek

Hardware

Although it is possible to do all your homework on the CS department computers, it is much easier if you have your own computer.

Nearly any computer that runs Windows or Linux will do fine. If you use a Macintosh, you should have one that supports Mac OS X 10.4.2 ("Tiger"); basically, a G3 or better with Firewire: See http://www.apple.com/macosx/upgrade/requirements.html for specific hardware requirements.

Java 5

CIT 594 is taught in the Java language. You must already be a Java programmer before taking CIT594; Java is too complex to just "pick up" as you go. If you already know a previous version of Java, but not Java 5, you should get the book Java 2 v5.0 Tiger: New Features by Herbert Schildt ($16.49 from Amazon); this will get you up to speed quickly.

You will need the Java 5 JDK (Java Development Kit). Java 1.5 is exactly the same as Java 5, so don't be confused by the inconsistent numbering. Note that the JDK download includes the JRE (Java Runtime Environment).

I recommend that you download and install the Java API (that is, the documentation) at the same time.

You do not need to download the version that includes NetBeans; we will be using Eclipse instead of NetBeans in this course.

Some assignments will require Swing GUIs. For this, download the SwingExamples program from http://www.cis.upenn.edu/~matuszek/General/SwingExamples.jar. (If you have Java installed correctly, you can run this program just by double-clicking it.) This program provides sample code for the most commonly used Swing features.

Eclipse

We will be using the Eclipse IDE, available from http://www.eclipse.org/downloads/. CIT591 students have had minimal exposure to this IDE, and may or may not have used it. However, use of Eclipse is required in CIT594.

I have a Getting Started with Eclipse page, and also an Eclipse FAQ. There aren't many questions on the FAQ, because I haven't gotten many questions from students. I welcome suggestions for additions or improvements, on this or any other of my pages.

Eclipse also comes with some good tutorials, available from the "Welcome" page.

JUnit

JUnit is a framework for testing your programs. It was used extensively in CIT591, and will be again in CIT594. The software itself is easy to learn, but it takes some discipline to use it properly--you really should write the JUnit tests before you write the code that is to be tested. This is a difficult thing for some programmers to get used to.

To learn about JUnit, see the article Test Infected: Programmers Love Writing Tests at http://junit.sourceforge.net/doc/testinfected/testing.htm.

JUnit is included in Eclipse, so you don't need a separate download. See also my Getting Started with Eclipse page to learn how to use JUnit in Eclipse.