Skip to content
HopperHopper

Course navigation

Self-paced course · In progress

Learn TypeScript in 25 Days

One hour a day from your first line of code to a typed, tested web app.

phases
5
days written
4 of 25
hours of study
~5
TypeScript examples
281

About the course

This course takes you from your first line of code to a small, typed, tested web app you built yourself, one hour a day for 25 days. It assumes you have never programmed before. The first three phases run programs in the terminal with Node; the fourth moves to the browser; the last is your own project. Each day teaches its ideas from the beginning, with examples you can download and run, practice with worked answers, and printable PDFs with or without answers.

How to use it

Block Time What you do
Review 5 min Reread yesterday’s code and retype one example from memory
Learn 25 min Work through the day’s page, typing every example as you go
Practice 25 min Do the day’s practice exercises, each in its own .ts file
Recap 5 min Write two or three sentences: what you learned and what confused you
  • Type the code instead of copying and pasting it.
  • Predict what each example prints, or which line the type checker rejects, before you run it.
  • Run the type checker before you run the program.
  • Keep each day’s work in its own folder (day01, day02, and so on) so you can look back.
  • If a day runs long, stop at an hour and finish the leftover exercise in the next day’s review time.

You need Node 24 or newer and a code editor such as VS Code. Day 1 walks you through setting them up.

5 phases · 25 days

Phases

Phase 1

Foundations

Write, type-check, and run your first programs with values, text, decisions, and loops.

  • ~5 hours of study
  • 5 days
Show days
  1. Day 1 Setup and your first program
  2. Day 2 Values, variables and types
  3. Day 3 Strings
  4. Day 4 Making decisions
  5. Day 5 Loops Coming soon

Phase 2

Data and functions

Describe data with arrays, objects, and types, and organize code into functions.

  • 7 days
Show days
  1. Day 6 Arrays and tuples Coming soon
  2. Day 7 Objects, type aliases, maps and sets Coming soon
  3. Day 8 Functions, part 1 Coming soon
  4. Day 9 Union types and narrowing Coming soon
  5. Day 10 Interfaces and functions, part 2 Coming soon
  6. Day 11 Array methods Coming soon
  7. Day 12 Checkpoint project 1 Coming soon

Phase 3

Real programs

Split programs into modules, reuse code with generics and classes, and handle errors and async work.

  • 5 days
Show days
  1. Day 13 Modules, npm and project setup Coming soon
  2. Day 14 Generics Coming soon
  3. Day 15 Classes Coming soon
  4. Day 16 Errors and unknown Coming soon
  5. Day 17 Async code and promises Coming soon

Phase 4

The browser

Build interactive pages with the DOM, events, and forms, save data, and test your code.

  • 5 days
Show days
  1. Day 18 Pages and the DOM Coming soon
  2. Day 19 Events and state Coming soon
  3. Day 20 Forms and validation Coming soon
  4. Day 21 Saving and loading data Coming soon
  5. Day 22 Testing with Vitest Coming soon

Phase 5

Capstone

Plan, build, and polish a small web app of your own.

  • 3 days
Show days
  1. Day 23 Plan and scaffold Coming soon
  2. Day 24 Build Coming soon
  3. Day 25 Polish and reflect Coming soon