============== 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