======== 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. .. list-table:: :header-rows: 1 :align: left :width: 100% :widths: 10 90 * - 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 =============== .. code-block:: text 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)