UPDATE: 4/13/2010 12:22pm: Comments turned on.
The topics in the class schedule have been modified. Check the repository for updated topic order.
Lecture notes and in-class activity worksheets are in the repository.
- UML reference sheet: http://www.holub.com/goodies/uml/
- Practical UML: http://edn.embarcadero.com/article/31863
- Programming concepts: http://www.landofcode.com/programming-intro/computer-programming-concepts.php
- Object-Oriented Game Design: http://www.devmaster.net/articles/oo-game-design/
Resources / optional reading:
- UML Diagram references: http://www.vinci.org/uml/
- UML Basics from IBM: http://www.ibm.com/developerworks/rational/library/769.html
- Description of the parts of a UML Diagram (the arrows, dots, etc.): http://www.agilemodeling.com/artifacts/activityDiagram.htm
UML Diagram Project:
- Decide on a classic arcade game to design. (You can play flash version of many arcade games here: http://www.classicgamesarcade.com )
- Write a textual description of the game, a few sentences describing the primary mechanic.
- Use your description to come up with an initial class diagram. You are modeling at the conceptual level.
- Create an object diagram by using post-it notes or movieclips etc to create instances of your objects.
- Move the objects around in to create scenarios that the objects need to interact. Develop an activity diagram for your simple game logic. Does this modify your design? If so, modify your design.
- You may work however you are most comfortable, using a whiteboard, pen & paper, post-it notes, drawing software, etc., but you will need to digitize your final submission (photo, scan, or render as bitmap). As long as it's legible, it's fine.
- Deliverables: place the text and diagrams on a single web page, in a doc, or in a folder so you can post one link to all of your materials.
- A description of your classic arcade game. Include a link to a flash version or a screenshot if handy.
- A high-level class diagram.
- A activity diagram for a sample interaction between the objects.