JavaScript & TypeScript Foundations

Master modern JavaScript ES2024, TypeScript 5, async/await, and professional tooling from first principles

The shared foundation for both the Node.js Backend and Frontend Engineering tracks. Build a complete, professional understanding of the JavaScript language and TypeScript type system before you write a single line of Express, React, Vue, or Angular code. This course covers JavaScript from variables and functions through closures, prototypes, Promises, and async/await, then TypeScript from basic types through generics, decorators, and strict mode tooling.

$99 $19 81% OFF
2.5 CEU Credits
25 Study Hours (3 Weeks)
Beginner
5 Modules
27 Hands-on Labs
Course Tuition
$99 $19 81% OFF
CEU Credits 2.5 CEUs
Study Workload Breakdown (25 Hours):
Architectural Reading & Theory: 9.6 hrs
Hands-on Labs & Coding Drills: 17.7 hrs
Live Mentorship Cohort $150

Prefer live accountability? Join a guided 4–6 week cohort with weekly live faculty calls, 1-on-1 code reviews & capstone grading. Subsidized by Savadub Limited CSR.

Join Cohort ($150)
Subsidized Tuition: This course is made accessible at $19 through the Corporate Social Responsibility (CSR) endowment from Savadub Limited and partner sponsors.

Course Prerequisites

  • Basic computer literacy. No prior programming experience required.
Part of Academy Track:
Node.js Backend & Server-Side Engineering Stage 1 of 5 Courses in this track progression.
Access Lab Materials on LMS
Competency Matrix

What You Will Master

Write modern JavaScript using ES2024 features: destructuring, spread, optional chaining, nullish coalescing
Master asynchronous programming: callbacks, Promises, async/await, and the event loop model
Design type-safe programs using TypeScript's full type system: types, interfaces, generics, and decorators
Configure a professional JavaScript/TypeScript project with tsconfig, esbuild, and pnpm
Apply functional and OOP patterns in TypeScript: composition, inheritance, and design principles
Detailed Syllabus

Curriculum Modules (5 Modules)

Explore the structured module breakdown, lesson outcomes, and practical lab exercises.

01

Module 1: JavaScript Core

6 Lessons • ~6.1 Study Hours (0.61 CEUs)
~6.1 hrs 0.61 CEUs

Module 1: JavaScript Core. Understand where JavaScript runs, why TypeScript matters, and how this course connects to both the Node.js Backend and Frontend Engineering tracks.. Master var, let, and const, understand lexical scope, the temporal dead zone, and the hoisting behaviour that catches every beginner off guard.

00
Course Introduction β€” The JavaScript Ecosystem in 2024

Understand where JavaScript runs, why TypeScript matters, and how this course connects to both the Node.js Backend and Frontend Engineering tracks.

~45 min Lab Exercise
01
Variables, Scoping & Hoisting

Master var, let, and const, understand lexical scope, the temporal dead zone, and the hoisting behaviour that catches every beginner off guard.

~65 min Lab Exercise
02
Functions, Closures & Higher-Order Functions

Understand function declarations vs expressions, closure mechanics, and how higher-order functions like map, filter, and reduce are built.

~70 min Lab Exercise
03
Objects, Prototypes & the Prototype Chain

Deep dive into JavaScript's object model: property descriptors, prototype-based inheritance, Object.create, and the __proto__ vs prototype distinction.

~65 min Lab Exercise
04
this Binding & Execution Context

Master the four binding rules for this, understand why arrow functions don't have their own this, and fix the most common class method pitfalls.

~60 min Lab Exercise
05
Arrays & Functional Collection Patterns

Master array methods: map, filter, reduce, flatMap, find, some, every, sort. Build functional data pipelines without mutation.

~60 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 2: Modern JavaScript (ES6+). Write concise arrow function syntax, understand template literal expressions, and learn tagged template literals for DSL construction.. Extract values from arrays and objects with destructuring, merge collections with spread, and collect remaining arguments with rest parameters.

01
Arrow Functions & Template Literals

Write concise arrow function syntax, understand template literal expressions, and learn tagged template literals for DSL construction.

~55 min Lab Exercise
02
Destructuring, Spread & Rest

Extract values from arrays and objects with destructuring, merge collections with spread, and collect remaining arguments with rest parameters.

~60 min Lab Exercise
03
ES Modules β€” import & export

Understand named vs default exports, re-exports, dynamic import(), and how ES modules differ from CommonJS require() in a Node.js context.

~60 min Lab Exercise
04
Classes & OOP in JavaScript

Use ES6+ class syntax for object-oriented design: constructors, getters/setters, static methods, private fields (#), and class inheritance with super.

~65 min Lab Exercise
05
Optional Chaining, Nullish Coalescing & Logical Assignment

Write safer, more concise code with ?., ??, ??=, &&=, and ||= β€” the modern null-safety operators every JavaScript developer needs.

~50 min Lab Exercise
06
Iterators, Generators & Symbols

Understand the iteration protocol, write custom iterables, use generator functions for lazy evaluation, and understand how Symbols enable framework internals.

~60 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 3: Asynchronous JavaScript. Understand how JavaScript achieves non-blocking concurrency with a single thread: the call stack, heap, task queue, microtask queue, and the event loop cycle.. Understand the callback pattern, why it was the original async model, and how deeply nested callbacks (callback hell) motivated the invention of Promises.

01
The Event Loop & JavaScript's Concurrency Model

Understand how JavaScript achieves non-blocking concurrency with a single thread: the call stack, heap, task queue, microtask queue, and the event loop cycle.

~65 min Lab Exercise
02
Callbacks & Callback Hell

Understand the callback pattern, why it was the original async model, and how deeply nested callbacks (callback hell) motivated the invention of Promises.

~55 min Lab Exercise
03
Promises β€” Chaining & Combinators

Master the Promise API: then/catch/finally chaining, Promise.all, Promise.allSettled, Promise.race, Promise.any β€” and how to avoid common Promise anti-patterns.

~70 min Lab Exercise
04
async/await & Error Handling

Write async code that reads like synchronous code. Master async functions, await expressions, try/catch with async, and patterns for parallel vs sequential async operations.

~65 min Lab Exercise
05
Fetch API & HTTP Data Fetching

Use the Fetch API to make HTTP requests, handle JSON responses, implement retry logic, use AbortController for cancellation, and understand fetch vs axios.

~55 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 4: TypeScript Foundations. Understand TypeScript's value proposition, how type inference works, the difference between structural and nominal typing, and when to annotate vs let TypeScript infer.. Master TypeScript's type vocabulary: string, number, boolean, null, undefined, symbol, bigint, arrays, readonly arrays, tuples, const enums, and the never type.

01
Why TypeScript & Type Inference

Understand TypeScript's value proposition, how type inference works, the difference between structural and nominal typing, and when to annotate vs let TypeScript infer.

~55 min Lab Exercise
02
Primitive Types, Arrays, Tuples & Enums

Master TypeScript's type vocabulary: string, number, boolean, null, undefined, symbol, bigint, arrays, readonly arrays, tuples, const enums, and the never type.

~65 min Lab Exercise
03
Interfaces & Type Aliases

Define object shapes with interfaces and type aliases, understand when to use each, compose types with intersection (&) and union (|), and use index signatures.

~65 min Lab Exercise
04
Generics & Type Constraints

Write reusable, type-safe functions and classes using generics. Apply constraints with extends, use conditional types, mapped types, and utility types (Partial, Required, Pick, Omit, Record).

~70 min Lab Exercise
05
Type Narrowing & Discriminated Unions

Use type guards (typeof, instanceof, in), discriminated unions for exhaustive type dispatch, and the satisfies operator to write safer conditional code.

~65 min Lab Exercise
06
Decorators & Metadata Reflection

Understand TypeScript decorators β€” class, method, property, and parameter decorators β€” and how NestJS and Angular use them as the basis for their dependency injection systems.

~60 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 5: Tooling & Project Setup. Install and manage Node.js versions with nvm, understand the npm ecosystem, package.json scripts, semantic versioning, and why pnpm is the modern choice for monorepos.. Configure TypeScript's compiler options: strict mode, module resolution, target, lib, paths aliases, and how to structure tsconfig for monorepo workspaces.

01
Node.js, npm & pnpm Essentials

Install and manage Node.js versions with nvm, understand the npm ecosystem, package.json scripts, semantic versioning, and why pnpm is the modern choice for monorepos.

~60 min Lab Exercise
02
tsconfig.json & the TypeScript Compiler

Configure TypeScript's compiler options: strict mode, module resolution, target, lib, paths aliases, and how to structure tsconfig for monorepo workspaces.

~60 min Lab Exercise
03
esbuild & Modern Bundling

Use esbuild for blazing-fast TypeScript transpilation and bundling, understand the difference between transpilation and bundling, and compare esbuild, tsc, Vite, and tsx.

~55 min Lab Exercise
04
Testing with Vitest & ESLint

Write your first unit tests with Vitest (the modern Jest alternative), configure ESLint with typescript-eslint for code quality, and set up Prettier for consistent formatting.

~60 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground