Schedule¶
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
Class Schedule¶
The schedule is subject to change based on class needs. It is your responsibility to catch up with any missed lecture material.
Date |
Topic |
---|---|
Jan 6 |
Class Introduction; High-Quality Software |
Jan 8 |
C# Introduction |
Jan 10 |
Visual Studio [Code]; MonoGame; User Input Handling |
Jan 13 |
2D Coordinate Systems; Textures; Sprites |
Jan 15 |
Sprint 0 Design Comparisons; Sprint 0 Q&A; Teamwork; Group Project Aspirations; Requirements Gathering; Project Layout |
Jan 17 |
Design Patterns; Command Pattern; Agile |
Jan 20 |
No Class |
Jan 22 |
Version Control; Git and GitHub |
Jan 24 |
State Machine; State Design Pattern; Separation of Sprites from Game Objects |
Jan 27 |
Decorator Pattern; Interaction Between Decorators and States; Link Decorator for Zelda |
Jan 29 |
Factory Pattern; Singleton Pattern; Sprint Evaluation; Peer Review / Team Topics |
Jan 31 |
Amdahl’s Law; Code Smells; Sprint 2 Object Diagrams |
Feb 3 |
Sprint Deliverables; In-Class Code Review Meeting Structure; Levels; File I/O |
Feb 5 |
Strategy Pattern; Null Pattern; Anti-Patterns; Refactoring; Technical Debt |
Feb 7 |
Movement; Collision Response; Software Organization for Game Physics |
Feb 10 |
Group Code Review |
Feb 12 |
Group Code Review |
Feb 14 |
Group Code Review |
Feb 17 |
Cameras; Camera Controls; Quality Assurance (QA); Unit Testing |
Feb 19 |
Playtesting; Planning For End Product |
Feb 21 |
Entity Component Systems; Mid-Semester Feedback |
Feb 24 |
Group Code Review |
Feb 26 |
Group Code Review |
Feb 28 |
Group Code Review |
Mar 3 |
Audio; Heads-Up Display |
Mar 5 |
Real-World Code Examples |
Mar 7 |
Flyweight Pattern; Object Pools; Builder Pattern; Memento Pattern |
Mar 10 |
Spring Break |
Mar 12 |
Spring Break |
Mar 14 |
Spring Break |
Mar 17 |
Group Work Time and Code Review |
Mar 19 |
Group Work Time and Code Review |
Mar 21 |
Group Work Time and Code Review |
Mar 24 |
Group Work Time and Code Review |
Mar 26 |
Group Work Time and Code Review |
Mar 28 |
Group Work Time and Code Review |
Mar 31 |
Group Work Time and Code Review |
Apr 2 |
Group Work Time and Code Review |
Apr 4 |
Group Work Time and Code Review |
Apr 7 |
Group Work Time and Code Review |
Apr 9 |
Group Work Time and Code Review |
Apr 11 |
Group Work Time and Code Review |
Apr 14 |
Group Work Time and Code Review |
Apr 16 |
Group Work Time and Code Review |
Apr 18 |
Group Work Time and Code Review |
Apr 21 |
Last Day of Class |
Apr 23 |
No Class |
Apr 25 |
Final Presentations |
Sprint Schedule¶
Jan 6 - Jan 10 Sprint 0 Assigned (Mon)
Jan 13 - Jan 17 Sprint 1 Assigned (Mon); Sprint 0 Early Submission (Fri)
Jan 20 - Jan 24 Sprint 0 Due (Wed); Sprint 2 Assigned (Wed)
Jan 27 - Jan 31
Feb 3 - Feb 7 Sprint 2 Check-in (Mon)
Feb 10 - Feb 14 Sprint 2 Due (Mon); Sprint 3 Assigned (Mon)
Feb 17 - Feb 21
Feb 24 - Feb 28 Sprint 3 Check-In (Mon)
Mar 3 - Mar 7 Sprint 3 Due (Mon); Sprint 4 Assigned (Mon)
Mar 10 - Mar 14 Spring Break
Mar 17 - Mar 21
Mar 24 - Mar 28 Sprint 4 Check-In (Mon); Sprint 5 Proposals Due (Fri)
Mar 31 - Apr 4 Sprint 4 Due (Mon); Sprint 5 Assigned (Mon)
Apr 7 - Apr 11
Apr 14 - Apr 18 Sprint 5 Check-In (Mon)
Apr 21 - Apr 25 Final Class (Mon); Final Presentations (Fri)