Schedule¶
Lecture Schedule¶
The schedule is subject to change based on class needs. It is your responsibility to catch up with any missed lecture material. The following is the planned list of lecture topics in the order they will be covered. The exact dates of each topic will vary based on the time we spend on each topic and on in-class discussion of sprints and technical details of your projects.
Course Introduction
High-Quality Software
C# Introduction
Visual Studio [Code] and MonoGame
Sprites/Textures and 2D Drawing
User Input Handling
Git and GitHub
Design Patterns Overview
Design Patterns 1
Command Pattern
Observer Pattern
State Machines and State Design Pattern
Decorator Pattern
Decorator and State Interaction
Factory Pattern
Singleton Pattern
Separation of Sprites from Game Objects
Agile Development
Sprint Evaluation/Deliverables
Peer Reviews
Teamwork
Amdahl’s Law
Code Smells
Refactoring
Technical Debt
Levels and File I/O
Physics and Movement
Collision Detection and Response
Camera Systems
Testing
Audio
Heads-Up Displays
Design Patterns 2
Flyweight Pattern
Object Pools
Builder Pattern
Memento Pattern
Strategy Pattern
Null Pattern
Anti-Patterns