|CIT 594 If you did not take CIT
Spring 2007, David Matuszek
If you did not take my CIT 591 course, or if you took it a long time ago, here are some things you need to know.
I will give mostly the same lectures as last year, probably slightly updated (data structures and algorithms don't change that fast), but almost certainly in a different order.
I give different assignments and different exams each year.
This year my daughter Laura is taking this course. Therefore, to avoid any conflict of interest, my TA, Saajan Patel, will be doing all of the grading. I will still look over some of your programs and may comment on them, but this will not directly affect your grade in this course.
We may use pair programming for at least some of the assignments. Or maybe not. I'm still trying to figure out the details.
If you are a reasonably competent Java programmer, but you are not yet familiar with enums and generics, I recommend that you purchase Java 2 v5.0 (Tiger) New Features by Herbert Schild. This book will bring you up to date.
If you are not already a reasonably competent Java programmer, you should drop this course. I don't care how good you are at C++, Java is not a language you can pick up as you go along. There's too much to learn all at once.
We are not yet using Java 6. If you prefer to use Java 6, please be sure that your assignments also compile and run under Java 5.
I provide a program, SwingExamples.jar, that will show you examples of coding the most common Swing components. This is a double-clickable application. It is designed to be run; I do not recommend trying to read and emulate the source code. If you need additional Swing components, you are expected to be able to read and understand the Java API.
If you already use NetBeans, IntelliJ IDEA, Borland JBuilder, or a similar high-end IDE, you will find Eclipse easy to pick up. If you write all your programs with Notepad, Eclipse will be harder to learn; do it anyway.
I emphasize TDD (Test-Driven Development) and JUnit testing. These are easy to learn. Read the following articles (preferably in this order):
The formatting conventions you are expected to use are (mostly) those defined in Eclipse as Java Conventions [built-in]. You should Javadoc all non-private fields and methods. You should follow good programming practices, such as (for instance) following the DRY principle. In all cases, the goal is to make your program as easy to understand as possible.