| Week |
Day |
Date |
Discussion Topic |
Reading* |
Projects |
Slides |
| 1 |
T | 09/01 |
Introduction |
McC 1-2
Kessler: Why Projects Fail
Brooks: No Silver Bullet
Wiki: Legacy System
|
P1: teams and concepts |
pdf
Q&A |
| R | 09/03 |
Basic Project Skills |
McC 28.2
Kampe: Surviving Larger Projects
Kampe: What is a Post-Mortem?
Schaefer: Diablo Postmortem
Kampe: Reproducibility and Control
Keller: Goal Driven Project Management
Trac User Guide: (Wiki)
Trac User Guide: (Tickets)
Trac User Guide: (TracAdmin - Milestones)
Trac User Guide: (version control subsystem)
Subversion chap 2: Basic Concepts
|
pdf
Q&A |
| 2 |
T | 09/08 |
Requirements |
McC 3.3-4, 4, 20.1
Rakitin: What is Quality?
Wiki: Requirements Analysis
Kampe: User Requirements
Sweedyk: Requirements for Games
Wiegers: Requirements Traps
Wiegers: Prioritizing Requirements
| P1 - Initial Proposals |
pdf
Q&A
|
| R | 09/10 |
Users, Roles, and Use Cases |
Sisson: User Characterization
Rouse: What Players Want
usabilitynet: Task Analysis
Wiegers: Developing Use cases
Sweedyk: Use Cases for Games
Wells: User Story Cards
Wiki: UML introduction
UML use case diagrams
|
pdf
Q&A |
| 3 |
T | 09/15 |
Game Design |
Larsen: Design for Novices
Cook: Evolutionary Design
Allmer: Gameplay
Rollings & Adams: Gameplay
Constable: Gameplay
|
P1 - Requirements Elicitations |
pdf
Q&A |
| R | 09/17 |
DEMONSTRATION |
|
|
| 4 |
T | 09/22 |
U/I Design |
usability.net: User Centered Design
Talin: U/I Design Principles
Bay: Game usability
Wiki: Usability Testing
Thompson: Halo 3 Usability
Nielsen: Web U/Is are different from GUIs
Butler: Web U/Is aren't different from GUIs
Kampe: CLI Design
Kampe: Content Architecture
|
P1 - Final Proposals |
pdf
Q&A |
| R | 09/24 |
Principles of Architecture |
SEI: S/W Architecture
Garlan: S/W Architecture (ch 1-2)
McC 3.5-6, 5-5.2
Wiki: Mechanism/Policy Separation
Kampe: Software Testability
Kampe: Interface Stability
|
pdf
Q&A |
| 5 |
T | 09/29 |
Class Project Selection |
Kampe: Data Driven Decisions
Project 2 - candidate proposals
Project 2 - reviewers feedback
Project 1 - feedback packages
Project 2 - Suggested Team Organization
|
P2 - choice, organization |
pdf |
| R | 10/01 |
Evolving an Architecture |
McC 5.3-4, 34.1, 34.6
Garlan: S/W Architecture (ch 3-4)
Foote: Big Ball of Mud (Intro - "Keep it Working")
|
pdf
Q&A |
| 6 |
T | 10/06 |
System Models
& Modeling |
UML component diagrams
Kampe: Why we model
Ambler: Agile Modeling Principles
Gabler: Prototyping
Sweedyk: Game Prototyping
|
P2 - arch, dsgn, U/I, technology selection |
pdf
Q&A
|
| R | 10/08 |
Design Reviews |
McC 20.2-5, 21.1,3-4
Wiegers: Inspections
Wiegers: 7 Deadly Sins
|
pdf
Q&A |
| 7 |
T | 10/13 |
DEMONSTRATION |
Architectural Review |
take-home midterm |
solns |
| R | 10/15 |
DEBRIEF & PLANNING |
Proj 2, Phase 1, First Delivery
|
| 8 |
T | 10/20 |
FALL BREAK |
| R | 10/22 |
Project Scheduling and Tracking |
McC 34.7
Brooks: Mythical Man Month (digest)
Kampe: Project Milestones
Wiki: Gantt Charts
Wiki: PERT Charts
Wiki: Work Breakdown Structure
Kampe: Putnam Norden Rayleigh curves
Wiki: Earned Value Analysis
Idiot's Guide to Open Workbench (just skim)
Wiegers: Successful Project Management
Junk: Cost, Schedule, Features & Quality
Trac User Guide: (milestones, roadmap)
|
P2 - arch, dsgn, impl, unit test |
pdf
Q&A |
| 9 |
T | 10/27 |
Component, Class Designs |
McC 6, 34.4
Spolsky: What are specs?
Gabriel: Objects Have Failed
Steele: Objects have not failed
selected Class patterns
UML class diagrams
UML package diagrams
UML object diagrams
|
P2 - arch, dsgn, impl, unit test |
pdf
Q&A |
| R | 10/29 |
Testability & Test Cases |
McC 19.6, 22
Wiki: Software Testing
Kampe: Introduction to S/W Test Cases
Cornett: Code Coverage
(review)
Kampe: Software Testability
|
pdf
Q&A |
| 10 |
T | 11/03 |
Design Patterns |
Wikipedia: Design Patterns
"Model, View, Controller" architecture
the "Bridge" Design Pattern
the "Visitor" Design Pattern
Nguyen & Wong: Design Patterns for Games
|
P2 - new team & project selection |
pdf
Q&A |
| R | 11/05 |
Routine Level Design |
McC 7-7.2, 9-9.3, 18
|
pdf
Q&A |
| 11 |
T | 11/10 |
Bugs & Debugging |
McC 23
Kampe: Forensic Debugging
Kampe: Root Cause Analysis
Wiki: Defect Tracking
Black: writing a bug report
|
P2 - specification & design |
pdf
Q&A |
| R | 11/12 |
Integration Strategy
Testing Methodology
|
McC 29
Kampe: Integration Strategy
Fowler: Continuous Integration
Kampe: The Train Model
Wiki: Test Driven Development
Kampe: Test Harnesses
CUnit - a unit testing framework (just skim)
|
pdf
Q&A |
| 12 |
T | 11/17 |
System Testing
Performance |
McC 25
Wiki: System Testing
Kaner: Scenario Based Testing
Kampe: Load & Stress Testing
Kampe: Testing and Bug Discovery
Kampe: Release Phases & Criteria
Gnu: Gprof (just skim)
|
P2 - design review/revision |
pdf
Q&A |
| R | 11/19 |
S/W Process Models |
McC 3-3.2
Kampe: S/W Process Models
Boehm: Spiral Development
Laramee: Game Design Procees
|
pdf
Q&A |
| 13 |
T | 11/24 |
Agile Process |
McC 34.2, 34.9
Big Requirements up Front
Wiki: Agile Process
Wiki: eXtreme Programming
|
P2 - test plan, review, revision |
pdf
Q&A |
| R | 11/26 |
THANKSGIVING |
|
| 14 |
T | 12/01 |
Productivity & Collaboration |
McC 21.2, 28.1, 28.5, 33
Wiki: XP practices
Williams: Pair Programming
Rosenberg: Problems w/Pair Programming
Global Software Development
|
P2 - implementation & testing |
pdf
Q&A |
|
| R | 12/03 |
Robustness |
McC 8
Kampe: HA taxonomy
Kampe: S/W HA
|
pdf
Q&A |
| 15 |
T | 12/08 |
Maintainability |
McC 30.2, 32, 34.3, 34.5
you have already covered chap 11, 31
JavaDoc
|
P2 - final reports |
pdf
Q&A |
| R | 12/10 |
Task Estimation and Risk Assessment |
McC 27, 28.3
Kampe: S/W Estimation Principles
Wiki: COnstructive COst MOdel
Peters: S/W Project Estimation
Wiegers: Risk Assessment & Management
|
pdf
Q&A |
| 16 |
T | 12/15 |
2PM - FINAL EXAM |
everything since midterm |
|
info |