CSC 216/s08/strive for happiness: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 16: Line 16:
An Action Card will be a small index card with a class definition and one or two methods. For example,
An Action Card will be a small index card with a class definition and one or two methods. For example,


public class Dog extends Quadruped {
    public class Dog extends Quadruped {
    public void talk() {
        public void talk() {
        System.out.println("Woof");
            System.out.println("Woof");
        }
     }
     }
}


public class Quadruped extends Animal {
    public class Quadruped extends Animal {
    public void walk() {
        public void walk() {
        System.out.println("Walk");
            System.out.println("Walk");
}
        }
    }


more to come...
more to come...

Revision as of 21:23, 26 March 2008

Formatting Resources

Formatting Help Guide from MetaWiki

What is Polymorphism?

The problem

Describe what you are attempting to teach students by this exercise.

Polymorphism is derived from Greek, meaning "many forms". Therefore, in Java, polymorphism is using a super class variable to refer to a subclass object, the "many forms" of the super class variable. It is useful because interfaces and inheritance can be used more abstractly.

Participants and props

The class will be divided into small groups of 3-5 people. Each group will receive a number of Animal Cards (explained below) and a list of exercises will be shown on the board.

An Action Card will be a small index card with a class definition and one or two methods. For example,

   public class Dog extends Quadruped {
       public void talk() {
           System.out.println("Woof");
       }
   }
   public class Quadruped extends Animal {
       public void walk() {
           System.out.println("Walk");
       }
   }

more to come...

--Deswartz 15:27, 26 March 2008 (EDT)

The script

A game loosely based on "Let's Make A Deal" would be played.

Teams would be formed (6-7 people or rows of students) would see a walk-through of 1 person going through the motions of choosing 1 of 4 doors and seeing what's behind each of the doors.

Behind each door would be an animal. Each animal would have maybe 2 methods, such as talk() or daySleeper().

A follow up of the exercise would be that each team would be given a pile of scraps of paper with single lines of code (from the animal abstract interface example that was talked about) written on it. The lines of code would need to be ordered correctly in the shortest amount of time. Huge hints would have been given in the walk through, so students would have been needing to pay attention earlier.

Next exercise: each team would attempt to write the code in order to make the walk-through work in a specified/requested fashion from the Powerpoint slide listed on the overhead. For example: Make an animal that is a carnivore, talk.

Next exercise: Each group needs to write a main method for testing purposes to create a working action, specified by the overhead, from the code that was ordered together from the previous exercise. Perhaps there is a time limit....

So there are 3 timed exercises with 3 prizes for the winning team:

  1. candy bars (miniatures)
  2. 6-pack of soda (making it 1 can per person on the winning team)
  3. +1 point on next test or program