PART I: LANGUAGE
- VALUES, TYPES AND OPERATORS
- No exercises for this chapter
- PROGRAM STRUCTURE
- Looping a triangle ❌
- FizzBuzz ❌
- Chessboard ❌
- FUNCTIONS
- Minimum ✅
- Recursion ✅
- Bean Counting ✅
- DATA STRUCTURES: OBJECTS AND ARRAYS
- HIGHER-ORDER FUNCTIONS
- Flattening ❌
- Your Own Loop ❌
- Everything ❌
- Dominant Writing Direction ❌
- THE SECRET LIFE OF OBJECTS
- A Vector Type ❌
- Groups ❌
- Iterable Groups ❌
- Borrowing a Method ❌
- PROJECT: A ROBOT
- Measuring a Robot ❌
- Robot Efficiency ❌
- Persistent Group ❌
- BUGS AND ERRORS
- Retry ❌
- The Locked Box ❌
- REGULAR EXPRESSIONS
- Regexp Golf ❌
- Quoting Style ❌
- Numbers Again ❌
- MODULES
- A Modular Robot ❌
- Roads Module ❌
- Circular Dependencies ❌
- ASYNCHRONOUS PROGRAMMING
- Tracking the Scalpel ❌
- Building Promise.all ❌
- PROJECT: A PROGRAMMING LANGUAGE
- Arrays ❌
- Closure ❌
- Comments ❌
- Fixing Scope ❌
PART II: BROWSER
- JAVASCRIPT AND THE BROWSER
- No exercises for this chapter
- THE DOCUMENT OBJECT MODEL
- Build a Table ❌
- Elements by Tag Name ✅
- The Cat's Hat ❌
- HANDLING EVENTS
- Balloon ✅
- Mouse Trail ✅
- Tabs ❌
- PROJECT: A PLATFORM GAME
- Game Over ❌
- Pausing the Game ❌
- A Monster ❌
- DRAWING ON CANVAS
- Shapes ❌
- The Pie Chart ❌
- A Bouncing Ball ❌
- Precomputed Mirroring ❌
- HTTP AND FORMS
- Content Negotiation ❌
- A Javascript Workbench ❌
- Conway's Game of Life ❌
- PROJECT: A PIXEL ART EDITOR
- Keyboard Bindings ❌
- Efficient Drawing ❌
- Circles ❌
- Proper Lines ❌
PART III: NODE
- NODE.JS
- Search Tool ❌
- Directory Creation ❌
- A Public Space on the Web ❌
- PROJECT: SKILL-SHARING WEBSITE
- Disk Persistence ❌
- Comment Field Resets ❌
- JAVASCRIPT AND PERFORMANCE
- Pathfinding ❌
- Timing ❌
- Optimizing ❌