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