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