These are links to the lecture slides on the online editor that I use to create them. Since I have no way to block viewing while I edit the slides, you may find that certain slide decks are incomplete when you try to view them–this is usually because I am in the middle of editing them.
Slides are numbered by the class day (see syllabus) on which they appear. They are further subdivided by halves: “a” slides appear on the first half of the day and “b” slides appear on the second half. Slides without an “a” or “b” are intended to take the entire day, and days without an “a” slide usually have the first half filled by the previous day’s topics.
Slides #
| Lecture | PDF Link | HTML Link |
|---|---|---|
| 1a: Syllabus | Link | |
| 1b: Introduction | Link | |
| 2a: Attributes and Modes | Link | |
| 2b: Color | Link | |
| 3: Images | Link | |
| 4b: Interactivity | Link | |
| 5: Text and Typography | Link | |
| 6: Object Oriented Programming | Link | |
| 7a: Components and Inheritance | Link | |
| 7b: Scene Hierarchies | Link | |
| 8a: More Shapes | Link | |
| 8b: Transformations | Link | |
| 9: Interpolation and NLM | Link | |
| 10a: 3D Shapes | Link | |
| 10b: Lighting | Link | |
| 11: Materials + Texture | Link | |
| 12a: Simulation and Particle Systems | Link | |
| 12b: Physical Simulation | Link | |
| 13b: Cellular Automata | Link | |
| 14: GUI and Events | Link | |
| 15: Timers and Animations | Link | |
| 16: Data Storage Formats | Link | |
| 17a: Collisions | Link | |
| 17b: Platforming Mechanics | Link | |
| 18: Shaders | Link | |
| 19: Machine Learning | Link | |
| 20: Digitizing World | Link |
In-Class Examples #
Several larger programs were shown off in-class to answer certain questions or demonstrate concepts. The source code for these demo programs is given below.
| Program | Description |
|---|---|
| beepBeepButBetter | A program which demonstrates the power of transformations, by moving various objects within other objects’ coordinate systems. |
| CSV Demo | A demonstration of loading and visualizing CSV data. |
| millis_lerp | |
| Snowflakes | A demonstration of using procedurally-generated and animated snowflakes. |
| Spritesheets | An example of working with spritesheets |
| Wave | An example of how to use sines and cosines to draw a wave. |