Unit 0 - Optional HTML/Javascript crash course
Object-oriented programming, best practices, debugging and tools
Unit 1 - Introduction to Canvas rendering
Introduction to Canvas, using images, and atlasing
Unit 2 - Map rendering
Packing and rendering sprites, and using third-party tools
Unit 3 - Basic Input, handling events
Event-based programming and the Javascript Event Model
Unit 4 - The entity hierarchy
Why object oriented models are important, what an entity is, and how to represent game objects
Unit 5 - Box2D, and using external libraries
What is a physics engine, how Box2D works, and how to interface to external javascript libraries
Unit 6 - Adding multimedia
The SoundManager wrapper, prefetching, supported formats and best practices
Unit 7 - Asynchronous Loading
Why asynchronous loading matters, custom asset caching and asset management
Unit 8 - Advanced Input and Events
Gamepad and custom events
Unit 9 - Adding menu user interfaces to the game
Dom manipulation, impress.js, and transitions
Unit 10 - Deploying your game
Toolchains, profiling and tracing tools, and player experience