CS 680
Spring, 2005
Ethan Bolker and Michael Weiss
hw1 - Getting started
DRAFT

Due at the start of the first class in the second week of the semester: Monday January 31 or Tuesday February 1.

In this first assignment you will

  1. Apply for a CS680 account on the Department's unix system. Do this even if you already have an account, so that the system can create a cs680 directory in your home directory.

  2. Get Jia's book, which you will need right away.
  3. In class we've begun discussing the trainset project, which will occupy us for much of the first half of the semester. In this first assignment you'll write the equivalent of the "hello, world" program for that application. Your program should have three classes: TrainSet , Train and Layout, with main in class TrainSet. All should be in package trainset. Compile your program and create a jar file for the classes so that the program can be run this way with trainset.jar in the current directory:
    	> java -classpath trainset.jar trainset.TrainSet
    	Ethan Bolker's TrainSet
    	Jan 22, 2005 7:30:14 PM
    	Train trainset.Train@35ce36 running on Layout trainset.Layout@757aef
    
    Of course your output should have your name and the date when the program was run (the date format need not be exactly the one above). The actual values from the invocations of the default toString methods may differ too - they are determined by the JVM.

    Write a memo discussing your development process. What system did you work on? What tools did you use (editors, IDEs)? Did you encounter any problems? How did you solve them?

  4. Pretend that you are an 8 or 12 year old child (or a grownup who likes to play) and imagine some of the things you want your virtual trainset to do. Write a short story, and then break it down into small enough pieces so that each could serve as a piece of a specification you could actually code from. (These are use cases, which we will discuss in class.) Put your work in your memo.)

    You may illustrate your story with pictures if you like, but do not spend lots of time trying to create them on a computer. Sketches are fine.


Deliverables

We will collect some your work electronically from a hw1 subdirectory of the cs680 directory the Department's unix system created for you when it approved your account for this course. Do not modify the permissions for that directory.

You may work on any machine with any operating system and development environment you choose, but the programs you deliver must compile and run on the Department's unix system.

Your memo should be pure ascii text, with no markup (no html, no MS Word). When printed on the Department printers no text should be lost at the ends of lines. If you want to submit some hard copy of possible screens, you may bring them to class when the assignment is due.

We will look for the following files:

Turn in hard copy of ...