CSSE 220 – Object-Oriented Software Development

Homework 18

Objectives

Practice object-oriented design.

Tasks

  1. There is no reading for the next session. If you have not finished previous readings, please take this opportunity to do so.
  2. Get set up for compiling and running Java form the command line. Instructions here
  3. Written Assignment: You may work with one or two classmates from either CSSE220 section if you wish.  If you do that, turn in only one brainstormed class list, one set of CRC cards, and one UML diagram.  Put each person's name on the list and UML diagram, and each person's initials on the back of each CRC card.  Don't forget to get some cards!  If you have no place except the bookstore to get them, you'll need to do so before they close on Friday at 4 PM.

    Using the technique we practiced in class, complete an object-oriented design for a program that implements an appointment calendar. An appointment includes the date, starting time, ending time, description, and location; for example,
      Dentist 2008/30/10 17:30 18:30 1060 W. Addison
      CSSE220 2008/22/10 8:05 9:50 F230
    
    Your design must include a user interface to add appointments, remove canceled appointments, and print out a list of appointments for a particular day. Your design should include a class AppointmentCalendar that is not coupled with the Scanner or PrintStream classes.

    This exercise is from Big Java, P12.7.

  4. Pair Programming: Work with your assigned partner to finish the BallWorlds exercise by Friday at 2 PM.

    This is a pair programming assignment. You must work together following the rules of pair programming. That means one driver and one navigator working on a single copy of the program at a time. If I find that either member of your pair worked on any of the required stages of the assignment independently, that is grounds for that member to receive a zero for the assignment.

    Because this is a pair assignment, I don’t expect you to work on it over break. However, if you are really into the project and want to experiment, it is OK to independently add extensions to the project beyond what is required in the project specification.

Turn-in Instructions

Turn-in a hard copy of your list of potential classes and your UML diagram. Turn in your CRC Cards, initialed on the back.

Turn-in your programming work by committing it to your SVN repository.