March 31:
Course overview, domain independent vs domain dependent design knowledge
April 2:
Introduction to XNA Game Studio Express, C# language overview
April 4:
C# language overview: properties, arrays, loops, lists
Due: Team selections
April 7
Drawing 2D sprites, 2D textures, and use of the SpriteBatch in XNA Game Studio Express
April 9
Handling game controller, keyboard, and mouse input in XNA Game Studio Express
Due: Game concept document
April 11
Tiled scrolling levels in XNA Game Studio Express
April 14
Decorator, proxy, and bridge patterns
Read: Chapter 2 (Structural Patterns: Decorator, Proxy, and Bridge) in C# 3.0 Design Patterns
April 16
No class, work on game design.
April 18
No class, begin work on technical design.
April 21
Strategy and state patterns
Read: Chapter 7 (Behavioral patterns: Strategy, State, and Template Method) in C# 3.0 Design Patterns
Due: Game design document
April 23
Command, template method, and chain of responsibility patterns
Read: Chapter 8 (Behavioral Patterns: Chain of Responsibility and Command) in C# 3.0 Design Patterns
April 25
Iterator and observer patterns
Read: Chapter 9 (Behavioral Patterns: Iterator, Mediator, and Observer) in C# 3.0 Design Patterns
April 28
Visitor and interpreter patterns
Read: Chapter 10 (Behavioral Patterns: Visitor, Interpreter, and Memento) in C# 3.0 Design Patterns
April 30
In-class design review
Due: Initial submission of detailed design document
May 1
In-class design review
May 5
Exam, all design patterns covered to date
May 7
Review of revised designs
Due: Project designs revised based on feedback from initial review
May 9
No class, work on implementation
May 12
No class, work on implementation
May 14
No class, work on implementation
May 16
Composite and flyweight patterns
Read: Chapter 3 (Structural Patterns: Composite and Flyweight) in C# 3.0 Design Patterns
May 19
Adapter and facade patterns
Read: Chapter 4 (Structural Patterns: Adapter and Facade) in C# 3.0 Design Patterns
May 21
Prototype, Factory Method, Singleton
Read: Chapter 5 (Creational Patterns: Prototype, Factory Method, and Singleton) in C# 3.0 Design Patterns
May 23
Abstract Factory and Builder
Read: Chapter 3 (Creational Patterns: Abstract Factory and Builder) in C# 3.0 Design Patterns
May 26
No class, academic holiday
May 28
Exam 2, covering design patterns since first exam
May 30
Introduction to refactoring.
Read: Chapter 1,
in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
June 2:
Refactoring Principles, Code Smells
Read: Chapter 2, in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
Read: Chapter 3, in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
June 4:
Refactoring: Composing Methods
Read: Chapter 5
in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
June 6:
Refactoring: Composing Methods
Read: Chapter 6
in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
TBD
Final project demonstrations
Due: Project demonstration, presentation on what worked, and did not work in the design.
June 13:
Due: Project users manual, final code submission (checked in to Subversion).