Choose one lesson flow for each 60–90 minute class session.
Free teaching resource
Eight ready-to-run TypeScript lesson plans
A practical 4–6 week sequence with focused browser exercises, timings, discussion prompts, and no local setup for students.
Public exercises do not require student accounts. Share: https://codington.io/typescript
How to use the sequence
Share the linked categories and let students solve 3–5 exercises.
Finish by reviewing common mistakes and the discussion prompt together.
Suggested lesson flows (60–90 min)
Each session combines current Codington categories into a practical progression from beginner to advanced TypeScript.
The sequence is aligned with the official TypeScript Handbook. Detailed reading links for each lesson are included in the class pack.
Lesson 1: TypeScript foundations (part 1)
BeginnerGoal: Set up a strong baseline for core types and function typing
- Primitives25 minEasy
- Functions Basics30 minEasy
Wrap-up: Use the final 15 minutes to review explicit vs inferred types and common parameter mistakes.
Lesson 2: TypeScript foundations (part 2)
BeginnerGoal: Move from basic syntax to object and collection modeling
- Object Types Basics30 minEasy
- Arrays25 minEasy
- Type Aliases20 minEasy
Homework: Assign one extra category drill and ask students to explain their type choices in comments.
Lesson 3: Safer data modeling
BeginnerGoal: Model real data and avoid runtime bugs
- Union & Litteral Types30 minEasy
- Interfaces30 minEasy
Discussion prompt: When to use `type` vs `interface`.
Lesson 4: Null safety and narrowing
IntermediateGoal: Handle uncertainty safely in TypeScript
- null & undefined25 minIntermediate
- Type Guards & Narrowing35 minIntermediate
Practice prompt: Ask students to rewrite one weakly-typed helper into a proper narrowing flow.
Lesson 5: Assertions and uncertainty
IntermediateGoal: Use assertions carefully and prefer safer alternatives
- Type Assertions25 minIntermediate
- any (vs unknown)30 minIntermediate
Key takeaway: Why `unknown` is safer than `any`.
Lesson 6: Generics fundamentals
IntermediateGoal: Build reusable, type-safe abstractions with type parameters
- Generics Fundamentals40 minIntermediate
Checkpoint: Have students explain where inference is enough versus where explicit type parameters help.
Lesson 7: Advanced function typing
AdvancedGoal: Understand how TypeScript models complex APIs
- Functions: Call Signatures & Overloads35 minAdvanced
- Object Types (Deep Dive)30 minAdvanced
Review: API design patterns and overload tradeoffs (15 min).
Lesson 8: Utility patterns from existing types
AdvancedGoal: Compose type-safe helpers from existing values and shapes
- Creating Types from Types (Utility Patterns)35 minAdvanced
- keyof, typeof & Indexed Access35 minAdvanced
Wrap-up: Show how TypeScript inference flows across function parameters, return types, and object access patterns.
Take the complete class pack
Keep the complete sequence handy so you can run class without rebuilding the lesson plan from scratch.
- Eight ready-to-run lesson plans
- Recommended category order for a 4–6 week module
- Discussion prompts for common student mistakes
- TypeScript Handbook reading links mapped to each lesson