Schedule
This is a 13-week program suited for a typical academic semester (buffering 3 weeks for holidays, breaks, and exams). The schedule is designed to provide a structured approach to learning. Earlier weeks offer smaller projects and include supplementary readings to help readers learn the ins and outs of JavaScript. Later weeks focus on building full-stack applications with React for the frontend and Convex for the backend.
Week 1
HTML, CSS, and JavaScript fundamentals; building and deploying a first web app
- Projects: WakeUp Times
- Supplementary Readings: Preliminaries, Basic Syntax, Objects, Structured Programming
Week 2
Styling with Bootstrap, DOM events, and form validation with array and string methods
- Projects: Rock Paper Scissors, Payment Form App
- Supplementary Readings: Procedural Programming, The DOM, Declarative Programming
Week 3
The same app built three ways: structured, functional, and object-oriented programming
- Projects: ToDo App
- Supplementary Readings: Functional Programming, Object-Oriented Programming
Week 4
Canvas-based games: classes, animation, and collision detection
- Projects: Brick Breaker, Snake Game
- Supplementary Readings: Modules, Event-Driven Programming
Week 5
Fetching data from web APIs; moving from JavaScript to TypeScript
- Projects: Weather App, Dictionary App
- Supplementary Readings: Asynchronous Programming, From JavaScript to TypeScript
Week 6
From vanilla JavaScript to React: components, props, state, and effects
- Projects: Counter App, Dice Roller App
Week 7
React with a component library and multiple external APIs
- Projects: Covid Dashboard App
Week 8
Client-side routing and state management with useReducer
- Projects: KudoBoard App
Week 9
Server state with TanStack Query and global state with TanStack Store
- Projects: Shopping Cart App
Week 10
A full-stack app with a Convex backend, real-time reactivity, and drag-and-drop
- Projects: Kanban Board App
Week 11
Convex schema design, relational data, indexes, pagination, and search
- Projects: Project Planner App
Week 12
Authentication and authorization with Convex Auth
- Projects: Issue Tracker App
Week 13
Working with AI coding assistants and testing with Vitest
- Projects: Wordle Game