1. Read Ch. 4 (p. 103-150) and Ch. 5
  2. Create a simple application where you are a Dog Trainer (to be completed in teams of 2)
    1. You have 5 dogs
    2. Each dog
      1. has a unique name
      2. responds by barking when called by his/her unique name
      3. can do one of the following tricks:
        1. sit
        2. fetch
    3. Demonstrate that you can
      1. get one of the 5 dogs to respond by name
      2. get all the dog who can sit by issuing the sit command

      dog trainer source

  3. Advanced assignment: Circus Animal Trainer (to be completed in teams of 2)
    1. You now train 5 dogs, 2 tigers, and 2 bears
    2. Each of the 3 animals has
      1. a unique name
      2. can jump
      3. can do a trick
        1. dog can
          1. sit
          2. fetch
        2. tiger can
          1. stand on back paws
          2. embrace human head in jaw
        3. bear can
          1. balance a ball on nose
          2. dance
    3. Demonstrate that you can
      1. call a bear by its unique name
      2. get a tiger to jump
      3. get each animal to do its unique trick
    4. hint1: what do the animals have in common and how do they differ
    5. hint2: create a UML diagram of your classes (scan of hand-drawn diagram is fine) to show relationships
    6. animal circus source

      Some Issues I had with this homework: in the documents, circusBear and circusTiger, I wasn’t able to use “this._name” to call the animals specifically by name for ages. Finally, I realized it was because I’d declared _name as  a private variable… duh.