JavaScript and TypeScript online course
The JavaScript and TypeScript online course in CodeWorlds is 12 modules of short lessons with a code editor and 1062 hands-on exercises, told as a story-driven adventure. You can read the lessons for free on this site.
Dive into the JavaScript world, exploring Jurassic Park full of dinosaurs. Learn programming from the ground up, uncovering the secrets of digital genetics.
Your guide
Dr Henry Wu
Chief Geneticist
What you'll learn
- JavaScript fundamentals - variables, types, operators
- Functions, scope, closures, and hoisting
- ES6+ - arrow functions, destructuring, spread
- DOM manipulation and event handling
- Asynchronicity - callbacks, promises, async/await
- Classes and object-oriented programming
- TypeScript basics - types, interfaces, generics
- ES6 modules and bundlers
Main projects
During the course you will build real projects that you can add to your portfolio
Dino Tracker
Dinosaur tracking system with geolocation and alarms
DNA Sequencer
DNA sequencing simulator with visualization
Park Management System
Complete park management application
Course program
12 modules full of interactive exercises and practical projects
Gate to the Park
JavaScript Basics
JavaScript history and runtime, variables, data types, type conversion, operators, conditionals, loops and functions
96 exercises
- History and Significance of JavaScript
- JavaScript Runtime Environment
- First Steps - JavaScript Console
- Comments and Code Formatting
All lessons (16)
- Statements and Code Blocks
- Semicolons and Their Optionality
- Variable Declaration (var, let, const)
- Basic Data Types (string, number, boolean)
- Type Conversion and Type Operations
- Arithmetic and Assignment Operators
- Comparison and Logical Operators
- Operator Precedence
- Conditional Statements (if, else, switch)
- Loops and Iterations
- Functions
- Final Project: Dinosaur Registration System
DNA Laboratory
Functions, Arrays and Objects
Arrow functions, scope and hoisting, this, array methods, objects and prototypes, closures, try/catch, destructuring, spread and rest
121 exercises
- Variables and Data Types
- Arrow Functions
- Variable Scope (Global, Function, Block)
- Function Parameters and Arguments in JavaScript
All lessons (18)
- Hoisting in JavaScript
- Array Basics - Creating and Manipulating
- Array Basics - push, pop, shift, unshift, splice
- The this Keyword in JavaScript
- Iteration Basics - forEach, map, filter, reduce
- Object Basics - Literals and Constructors
- Object Basics - Properties and Methods
- Prototypes and Prototypal Inheritance
- Closures and Lexical Scope
- Error Handling Basics - try/catch
- Template Literals and String Methods
- Object and Array Destructuring
- Spread and Rest Operators
- Final Project: Dinosaur Monitoring System
Species Catalog
Classes and OOP
ES6 classes, inheritance, private fields, polymorphism, mixins, getters and setters, static methods, Map, Set, WeakMap and Symbol
94 exercises
- ES6 Class Syntax
- Constructors and Methods
- Class Inheritance (extends)
- Encapsulation and Private Fields (#)
All lessons (15)
- Polymorphism in JavaScript
- Abstract Classes and Patterns
- Mixins and Multiple Inheritance
- Map and Set
- Review: WeakMap and WeakSet
- Review: Symbol as a Data Type
- Static Methods
- Getters and Setters
- Review: Prototypes and Prototypal Inheritance
- Composition vs. Inheritance
- Final Project: Species Classification System
Alarm Systems
Asynchronous JavaScript
The event loop, callbacks, promises, async/await, error handling, parallel tasks, the Fetch API, JSON, iterators and generators
83 exercises
Code Evolution
Advanced JavaScript
ES modules and CommonJS, debugging and profiling, custom error classes, Builder and Observer patterns, regex, dates, Web Storage, ES2025
116 exercises
- Advanced Object and Array Patterns
- Array Methods in Practice - Chaining and Composition
- Advanced Iterations - reduce, flatMap, Composition
- Iterators and the Iterable Protocol
All lessons (23)
- ES Modules (import/export)
- CommonJS (require/module.exports)
- Dynamic Module Importing
- Browser Console and Its Functions
- Breakpoints and Step-by-Step Code Execution
- Profilers and Performance Tools
- Advanced Error Handling - Types and Hierarchy
- Builder Pattern in JavaScript
- Custom Error Classes
- Implementing the JurassicTracker Application
- Structuring Code in a Larger Project
- Programming Best Practices
- Observer and Pub/Sub Patterns
- Advanced Regular Expressions - Groups, Lookahead, Named Capture
- The Date Object and Working with Time
- Web Storage - localStorage and sessionStorage
- ES2024 and ES2025 - Latest JavaScript Features
- Web APIs: Intersection Observer and Resize Observer
- Final Project: Park Diagnostics System
TypeScript in the Lab
TypeScript Basics
What TypeScript is, tsconfig and tsc, basic and complex types, unions and intersections, interfaces, aliases, generics and utility types
95 exercises
- What is TypeScript and Its Benefits
- Environment Configuration (tsconfig.json)
- The TypeScript Compiler (tsc)
- Basic Types (string, number, boolean, any, unknown)
All lessons (15)
- Complex Types (array, tuple, enum)
- Union and Intersection Types
- Defining Interfaces
- Type Aliases
- Extending Interfaces (extends)
- Function Parameter and Return Types
- Generic Functions in TypeScript
- Function Overloading
- TypeScript Utility Types
- TypeScript Configuration and Tools
- Final Project: Typed Park Management System
Advanced Genetics
Advanced TypeScript
Access modifiers, type guards, generic classes, conditional and mapped types, discriminated unions, decorators and declaration merging
78 exercises
All lessons (15)
Control System
Events and the DOM
Event listeners, the event object, bubbling and delegation, mouse, keyboard and form events, throttling, debouncing and the DOM API
115 exercises
- Introduction to Events in JavaScript
- Event Listeners - Listening for Events
- The Event Object and Its Properties
- Event Propagation (Event Bubbling)
All lessons (20)
- Event Delegation
- Mouse and Keyboard Events
- Form Events
- Removing Event Listeners and Memory Cleanup
- Throttling and Debouncing
- Custom Events
- Building Interactive Components
- Best Practices for Event Handling
- Advanced Event Handling Techniques
- Event Performance and Optimization
- Event Bus and Application Architecture
- Unit Testing Event Handlers
- Summary - Events in JavaScript
- Custom Events and dispatchEvent
- Advanced DOM API
- Final Project: Interactive Control Panel
Park Restoration
Design Patterns and Architecture
Module, Factory and Observer patterns, SOLID, functional programming, state management, code splitting, lazy loading and bundle size
71 exercises
Research Station
TypeScript in Practice
Web Workers, memory management, .d.ts files, template literal types, TypeScript with Node.js and frameworks, module augmentation and TDD
65 exercises
Fence Inspection
Testing with Jest
Why we test, Jest and matchers, setup and teardown, mocking, testing asynchronous code, TDD and testing TypeScript
63 exercises
Dinosaur Breeding
Functional Programming
Higher-order functions, compose and pipe, currying, closures, recursion, immutable data, functors and monads
65 exercises
Course theme
Dinosaurs and Genetic Labs
Each module is set in a unique theme that makes learning an adventure.
Your guide
Dr Henry Wu
Chief Geneticist
Will guide you through all challenges and help you gain new skills.
JavaScript and TypeScript course FAQ
Is the JavaScript and TypeScript course free?
Partly. You can read the JavaScript and TypeScript lessons for free on this site. The course tasks in the app require a premium plan, while a free account lets you complete the HTML and CSS course in the app with 10 fuel units a day.
How long does the JavaScript and TypeScript course take?
The estimated learning time for the JavaScript and TypeScript course is 60-90 hours. The course has 12 modules and more than 1062 tasks, and you set the pace.
Do I need previous experience for the JavaScript and TypeScript course?
Before the JavaScript and TypeScript course it helps to know: HTML and CSS basics, Logical thinking.
What will I learn in the JavaScript and TypeScript course?
In the JavaScript and TypeScript course you will learn, among other things: JavaScript fundamentals - variables, types, operators, Functions, scope, closures, and hoisting, ES6+ - arrow functions, destructuring, spread, DOM manipulation and event handling.
What is learning in CodeWorlds like?
In CodeWorlds, every module is a series of short lessons with a live code editor, check questions and hands-on tasks. Progress earns you XP and unlocks new locations in the Jurassic Park world.
Start learning JavaScript today
Join CodeWorlds and discover modern learning methods that make programming fascinating and accessible to everyone.
