| Date | Title | Readings and Assignments | Activities | |
| 1/12 | Introduction to Graphics | |||
| 1/14 | Intro to C# | Assignment 1 Available | Hands-on: Creating a MonoGame Project | |
| 1/16 | Importing Assets | Hands-on: Importing Assets | ||
| 1/19 | Martin Luther King Jr Day | |||
| 1/21 | Coordinates and Color | Hands-on: Using Coordinates | ||
| 1/23 | Image Manipulation: Pixel Traversal | Assignment 1 Due Sunday | Hands-on: Creating Tint | |
| 1/26 | Image Manipulation: Filters | Hands-on: Understanding Convolutions | ||
| 1/28 | Image Manipulation: Convolutions | Teams Assigned | Hands-on: Using Convolutions | |
| 1/30 | Interactivity | Assignment 2 Due Sunday | Hands-on: Interactivity | |
| 2/2 | Strings and Text | Hands-on: Using Strings | ||
| 2/4 | Typography and Fonts | Hands-on: Displaying Text | ||
| 2/6 | Object-Oriented Programming | Assignment 3 Due Sunday | Hands-on: Creating Classes | |
| 2/9 | Object-Oriented Programming | |||
| 2/11 | Components and Inheritance | Hands-on: Building with Inheritance | ||
| 2/13 | Scene Hierarchies | Assignment 4 Progress Report Due | Hands-on: Creating Scene Hierarchies | |
| 2/16 | Transforms | Hands-on: Using Transformations | ||
| 2/18 | Interpolation | Hands-on: Using Linear Interpolation | ||
| 2/20 | Non-linear Motion | Assignment 4 Due Sunday | Hands-on: Using Non-linear Motion | |
| 2/23 | 3D Shapes | Hands-on: Using Shapes | ||
| 2/25 | Projections and Cameras | Hands-on: Moving Cameras | ||
| 2/27 | Lighting | Assignment 5 Progress Report Due | Hands-on: Using Lighting | |
| 3/2 | Textures | Hands-on: Using Textures | ||
| 3/4 | Simulation and Particle Systems | Hands-on: Basic Forces and Particles | ||
| 3/6 | Physical Simulation | Assignment 5 Due Sunday | Hands-on: Using Masses and Springs | |
| 3/9 | Cellular Automata | Hands-on: Game of Life and Ants | ||
| 3/11 | Event-driven Programming: GUIs | Hands-on: Buttons | ||
| 3/13 | GUI Interfaces | Assignment 6 Progress Report Due | Hands-on: Widgets | |
| 3/16-3/20 | Spring Break | |||
| 3/23 | Animation | Hands-on: Sprite Animations | ||
| 3/25 | Timers | Hands-on: A Timer Class | ||
| 3/27 | Data Structures and CSV | Assignment 6 Due Sunday | Hands-on: Using CSV | |
| 3/30 | XML | Hands-on: Using XML | ||
| 4/1 | JSON | Hands-on: Using JSON | ||
| 4/3 | Three.js | Assignment 7 Progress Report Due | ||
| 4/6 | Three.js Scenes | Optional Hands-on: Creating a Scene | ||
| 4/8 | Importing into Three.js | Final Project Available | Optional Hands-on: Loading Files | |
| 4/10 | Group Formation | Assignment 7 Due Sunday | ||
| 4/13 | Platforming Mechanics | Final Project Plan Submitted | ||
| 4/15 | Introduction to WebGL | |||
| 4/17 | Introduction to Shaders | |||
| 4/20 | Class Presentations | |||
| 4/22 | Class Presentations | |||
| 4/24 | Class Presentations | |||
| 4/27 | Awards Ceremony |
Final Project Due
Optional Assignment Due |
||