Lecture Topics

The following topics will be introduced in lectures through-out the term:

  • High-Quality Software

    • Code Smells

    • Refactoring

    • Technical Debt

  • Programming Environment

    • C# Primer

    • MonoGame

    • Visual Studio

  • Version Control

    • Git and GitHub

  • Agile Development

    • Requirements Gathering

    • Sprint Evaluation

    • Sprints

  • Design Patterns and Fundamentals

    • Amdahl’s Law

    • Anti-Patterns

    • Builder Pattern

    • Command Pattern

    • Decorator and State Interaction

    • Decorator Pattern

    • Factory Pattern

    • Flyweight Pattern

    • Memento Pattern

    • Null Pattern

    • Object Pools

    • Singleton Pattern

    • State Machine

    • State Pattern

    • Strategy Pattern

  • 2D Game Fundamentals

    • 2D Coordinate Systems

    • Audio

    • Cameras and Camera Controls

    • Collision Detection and Response

    • Heads-Up Display

    • Input Handling

    • Levels and File I/O

    • Physics and Movements

    • Separation of Sprites from Game Objects

    • Testing

    • Textures and Sprites

  • Teamwork

    • Conflict Resolution

    • Peer Review