CS680
Fall 2008
hw1 - Getting started

Due Thurs, Sept. 11, by midnight

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 director. Follow the initial software setup. If you don't want to use eclipse, explain why in memo.txt
  2. In class we've begun discussing the games project. In this first assignment you'll work on the supplied partial Pong project. All classes should be in package game. For this assignment, don't add any functionality, but refactor what's there. Don't be afraid to add new classes.
  3. Write a unit test for Ball, BallTest.java, preferably using JUnit.
  4. Write a memo discussing your development process. What system did you work on? What tools did you use (editors, IDEs, ant, debugger)? Did you encounter any problems? How did you solve them? List your refactoring steps, preferably with reasons for each. Describe what your unit test tests, and any untested functionality.
  5. Suppose you are thinking of making a business out of Pong and other games by selling ads that go with the games. Assume that Pong works over the Internet. Write up a scenario, in memo.txt. See pg. 132-133 in B&D for an intro to scenarios, and pg. 156 for an example. However, we are not going to set up tournaments, but just casual games between interested users and onlookers. See the problem statement on pp. 154-155 and remove tournaments and league owners from it.

Deliverables

We will collect 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. The supplied build.xml allows Swing programs to run on our UNIX systems even from a remote login, by using my office screen.

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 diagrams, you may bring them to class the day the assignment is due.

We will look in your cs680/hw1 directory. It should contain