CSC 216/s08/make clear

From Expertiza_Wiki
Revision as of 02:46, 28 March 2008 by Djbleaki (talk | contribs) (Added sample terms)
Jump to navigation Jump to search

Formatting Resources: Formatting Help Guide from MetaWiki


Javadash: Inheritance Edition

This is a game designed to aid students of Java with remembering inheritance methods and terminology. The original game with over-arching content was never produced since the related project detailed a topic choice of one and not all. If you would like to play the original game, please pick a topic or all topics and create the game in a similar fashion to this one.


Why play this game instead of another?

Inheritance can be a difficult topic for students to understand since linear code has been the standard for many generations in programming. This game attempts to remedy that by causing the students to analyze different definitions of varying degrees--from funny to serious to real--about the methodologies and concepts behind using inheritance to improve your program's flexibility and robustness.


Number of players

Javadash can be played with an array of players not less than 3, however the participants become more dissociated when there are greater than 30. The game may be played by individuals for up to 6 people, however for groups larger than 6 the game should be turned into teams of a mostly evenly divided player count. It is best played with three or four equal teams.


Items needed to play

The only props that you will need to play this game is a stack of index cards. It is convenient to have prepared "official" cards in advance on the same style index cards that will be used by the participants. While this step is largely unnecessary, it allows you to anticipate the content and be able to focus on the lesson involved with the game.


Rules of the game

Time required

This game is played in rounds, each typically lasting about 3 minutes, and should be played for at least 5 rounds to ensure fairness in scoring and to encourage optimal learning. Ensure every player/team has adequate index cards for the number of rounds you intend to play.

A typical round

Pick your first term, method, concept, etc to be defined by the players. Give them 2 minutes to write down (note: teams may discuss the answer amongst themselves) their imitation of a textbook definition that might be found in the Java manual. When time is up, remind all players to put an identifying name on the index cards before you collect them. The idea with this game is for the players to make the definitions as real and accurate as possible so that another player or team will pick on their definition over anyone other including the official one.

Shuffle the cards received with your official card, and read each one out slowly and confidently to the players. The players should be listening to determine which one they think is the official definition.

Read the cards a second time. After each card is read, ask the players (or team) to raise their hand if they believe it was the official definition. This is where you will score as follows:

Scoring

  • Each card gets as many points as the number of players who claimed it as official. These points go to the related player or team that created the definition.
  • If a player chooses a card that is not official, they lose a point.
  • Likewise, players who chose the official card receive a point.

Continue playing for the specified number of rounds.

Upon completion, the player or team with the highest score is the winner. Prizes are up to the game organizer, however they are highly suggested as it aids with the willingness to participate and learn.


Game cards (prepared for you)

Here are some sample terms and their official definitions that you can use to play Javadash: Inheritance Edition.

Term: Inheritance - A mechanism for extending existing classes by adding methods and fields. Subclass - A more specialized class that inherits from the superclass. Superclass - A more generalized class from which a subclass inherits. Super - A keyword used to call a method of the superclass. Instanceof - An operator that tests whether an object belongs to a particular type. Abstract Method - A method whose implementation is not specified. Abstract Class - A class that cannot be instantiated. Protected - Designates a feature that can be accessed by all subclasses and all classes in the same package. Clone - A method that makes a new object with the same state as an existing object.


References

This game was inspired by:

  1. Balderdash [1]
  2. GLOSSARY: A Framegame for Reviewing Concepts [2]