Dev.to WebDev πŸ›  Dev πŸ‘ 0 πŸ“– 6 min read

A free, beginner-friendly TypeScript course for JavaScript developers: 33 written sessions, from your first type to a complete Node.js API.

What Is This Course? TypeScript: Basics to Advanced is a free course that teaches TypeScript step by step, the way companies use it. It is made for developers who already know JavaScript. You start with your first typ

A free, beginner-friendly TypeScript course for JavaScript developers: 33 written sessions, from your first type to a complete Node.js API.

What Is This Course?

TypeScript: Basics to Advanced is a free course that teaches TypeScript step by step, the way companies use it.

It is made for developers who already know JavaScript. You start with your first type and finish by building a complete REST API with Node.js, Express and MongoDB.

  • 33 sessions, each one a single page on GitHub
  • 1 to 2 hours per session, including practice
  • Completely free: no signup, no paywall, no videos to sit through

GitHub logo mohin-sheikh / typescript-basics-to-advanced

A beginner-friendly TypeScript course for JavaScript developers, from your first type to typed Node.js, Express and MongoDB APIs. 33 step-by-step sessions with tested examples, real tsc error messages, animated diagrams, exercises and interview questions. Uses TypeScript 7.

TypeScript: Basics to Advanced

A free, beginner-friendly TypeScript course for JavaScript developers. You know JavaScript. In 33 sessions you learn TypeScript the way companies use it: from your first type to generics, classes, validation, and a fully typed Node.js API. Everything runs with Node.js, and every example is tested.

Sessions TypeScript 7 Tested on Node.js 24 Published Free

The course in seven parts, from your first type to a typed Node.js API, followed by the Node.js course

Table of Contents

What Makes This Course Different

Built on TypeScript 7 Most tutorials online use TypeScript 5. This course uses the newest version, 7.0, and tells you when an older tutorial shows something different.
Backend from day one No web pages or browser code. You run everything with Node.js, with examples from real servers: users, orders, carts, logins and
…

Is This Course for You?

This course is for you if:

  • You know JavaScript and want to learn TypeScript
  • Your team uses TypeScript and you want to understand it properly
  • You build backends or full-stack apps with Node.js
  • You are preparing for a TypeScript or Node.js interview

What you need before you start

  • Basic JavaScript: variables, functions, arrays, objects, classes and promises
  • Node.js 24 or newer
  • A code editor, such as VS Code

You do not need any TypeScript experience. If JavaScript is also new to you, start with the free JavaScript course first.

What Is TypeScript?

TypeScript is JavaScript with types. You describe what your data should look like, and TypeScript checks your code before it runs.

In JavaScript a bug is found when the code runs, often by a user; TypeScript finds it before the code runs

Here is a small example from Session 09. An order can have only four statuses, and someone makes a typo:

type OrderStatus = "pending" | "paid" | "shipped" | "cancelled";

interface Order {
  readonly id: number;
  status: OrderStatus;
}

const order: Order = { id: 1001, status: "pending" };
order.status = "shiped";

TypeScript catches the mistake before the code ever runs, and even suggests the fix:

error TS2820: Type '"shiped"' is not assignable to type 'OrderStatus'. Did you mean '"shipped"'?

In plain JavaScript, the wrong status would be saved without any warning, and someone would find the bug much later. TypeScript is built to catch mistakes like this early.

VS Code suggests pending, paid, shipped and cancelled after order.status = "; then the typo shiped is underlined, with "Did you mean shipped?"

What You Will Learn

The course has 7 parts. Each part builds on the one before it.

The course in seven parts, from your first type to a typed Node.js API, followed by the Node.js course

Part Sessions What you learn
1. Getting Started 01 to 05 Setting up TypeScript, basic types, and reading error messages
2. Typing Your Data 06 to 11 Arrays, objects, interfaces, union types, and handling null safely
3. Functions 12 to 13 Typing functions, as const and satisfies
4. Generics and Type Tools 14 to 19 Generics, keyof, and utility types like Partial and Pick
5. Classes 20 to 22 Classes, inheritance, interfaces and decorators
6. Real Programs 23 to 29 Async code, modules, validation with Joi, tsconfig, testing with Vitest
7. TypeScript with Node.js 30 to 33 Node.js, Express and MongoDB with TypeScript, and a final project

See the full list of all 33 sessions

What Makes It Different

  • Up to date. Most tutorials online use TypeScript 5. This course uses the newest version, TypeScript 7, and tells you whenever an older tutorial shows something different.
  • Every example is tested. All the code was run. Every output and every error message in the course is real, so you can compare it with yours.
  • Easy to picture. 362 animated diagrams show what happens inside your code.
  • Learn from mistakes. Every session shows common beginner mistakes, with the real error and the fix.
  • Backend focused. No browser code. The examples come from real servers: users, orders, carts, logins and APIs.
  • One step at a time. A session only uses what earlier sessions have already taught.

What Every Session Contains

Part of a session What it gives you
Simple explanations One idea at a time, in plain words
Tested code examples Code to type and run, with the real output
Animated diagrams A picture of what is happening
Mini examples Small real programs that combine the session's topics
Beginner mistakes The wrong code, the error, and the fix
Practice exercises Tasks to try on your own
Interview questions Short questions with clear answers

Across the course, that adds up to 352 beginner mistakes, 261 practice exercises and 406 interview questions.

The Final Project

In the last session you build a complete Task Management API in TypeScript, using everything from the course:

  • Users register and log in (JWT tokens and hashed passwords)
  • Each user adds, updates and deletes their own tasks
  • Tasks can be filtered by status and loaded page by page
  • Admins can see all users
  • 25 automated tests check that everything works

How to Start

Step 1: Check that Node.js is installed. Open a terminal and run:

node -v

You need version 24 or newer. If you don't have it, install the LTS version from nodejs.org.

Step 2: Create a practice folder. Make a folder called ts-practice and open it in VS Code (File > Open Folder).

Step 3: Open Session 01. Read it and do the "Try It Yourself" part. Session 02 then installs TypeScript with you, step by step.

Tips to get the most out of it

  1. Go in order. Every session builds on the ones before it.
  2. Type the code yourself. Don't copy and paste. Typing helps you learn.
  3. Check and run. Run npx tsc to check your code and node to run it, then compare with the session.
  4. Do the exercises before you move on to the next session.

At one session a day, most learners finish in 6 to 7 weeks.

A Free Learning Path

This course is one of three free courses that work together:

Step Course What it teaches
1 JavaScript: Basics to Advanced The JavaScript language (25 sessions)
2 TypeScript: Basics to Advanced TypeScript (33 sessions, this course)
3 Node.js Learning Path Servers, APIs and databases (30 sessions)

All three use the same simple style and the same kind of examples, so moving from one to the next is easy.

FAQ

Is it really free?
Yes. No signup, no paywall, no email list.

Are there videos?
No. Everything is written, with animated diagrams for the hard parts, so you can learn at your own pace.

I have never used TypeScript. Can I follow it?
Yes. Session 01 starts from zero. You only need basic JavaScript.

My company uses an older version of TypeScript. Is this still useful?
Yes. The language is the same, and the course points out the places where older versions behave differently.

I found a mistake. What should I do?
Please open an issue on GitHub. Every report helps the next learner.

Thanks for Reading

If this course helps you, please give it a star on GitHub. It helps other developers find it. And if you know someone who wants to learn TypeScript, share it with them.

Are you learning TypeScript right now? Tell me in the comments what you find hardest.

Start with Session 01: Introduction to TypeScript

Author: Mohin Sheikh. Follow me on GitHub for more free courses.

πŸ“° Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.