April 5:
Course overview, overview of game design process
April 7 :
Design as a problem solving process
Due: Review of "The
Nature of the Design Process"
Due: Team selections
April 10:
In-class presentation on use of OneNote, headsets
Design tradeoff spaces
Game concept documents
Use of the stylus in creating core game mechanics
April 12:
Elements of the design process, choosing design strategies
Due: Review of Chapter 5 ("The Design Process Disintegrated") of Design Methods
Due: Game (or Project) Concept document
April 14:
Design patterns introduction
Due: Review of Chapter 1 ("Introduction") of Design Patterns
April 17:
Design patterns use scenario
Read: Chapter 2 ("A Case Study: Designing a Document Editor") of Design Patterns
April 19:
Survey of design patterns (1)
Due: Review of Abstract Factory (87), Factory Method (107), Adapter (139) from Design Patterns
Due: Game Design document
April 21:
In-class presentations of detailed game designs
April 24:
C# overview
April 26:
Survey of design patterns (2)
Due: Review of Observer (293), Composite (163), Decorator (175) from Design Patterns
April 28:
No class, work on technical design documents
May 1:
Survey of design patterns (3)
Due: Review of Strategy (315), Template Method (325), Chain of Responsibility (223) from Design Patterns
May 3:
Survey of design patterns (4)
Due: Review of Singleton (127), Facade (185), Flyweight (195) from Design
Patterns
May 5:
Survey of design patterns (5)
Due: Review of Interpreter (243), Visitor (331), Memento (283) from Design Patterns
May 8:
In-class review of project design
Due: Initial technical design document
May 10:
In-class review of project design
May 12:
In-class review of project design
May 15:
In-class review of revised project designs
Due: Revised technical design document
May 17:
In-class review of revised project designs
May 19:
Micropatterns
May 22:
Micropatterns
May 24:
Security in the development lifecycle
Read: Review of The Trustworthy Computing Development Lifecycle
May 26:
Buffer overflow
Read: Chapter 7, "Buffer
Overflows", in Building Secure Software, John Viega, Gary McGraw,
2002. Read only to p. 153.
May 29:
No class. Memorial Day.
May 31:
Introduction to Refactoring
Read: Chapter 1, in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
June 2:
Refactoring Principles
Read: Chapter 2, in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
June 5:
Refactoring: Bad Smells in Code
Read: Chapter 3, in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
June 7:
Refactoring: Composing Methods
Read: Chapter 5 and
Chapter 6
in Refactoring: Improving the Design of Existing Code, Martin Fowler, 1999.
June 9:
Final project demonstration.
Due: Project demonstration, presentation on what worked, and did not work in the design.
June 15:
Due: Project users manual, final code submission (check in to Subversion).