Course Overview
JavaScript: From First Values to Reliable Programs
JavaScript runs in the browser and can make a page respond to people. Here you will learn the language itself first: calculate values, choose what happens next, organize data, and coordinate work that finishes later. The built-in editor lets you run each example without installing anything.
What you will learn
- Core language fundamentals: values, variables, operators, and control flow.
- Functions — how to define, call, and compose them.
- Arrays and objects — the two data structures you will use every day.
- Built-in helpers for strings, numbers, dates, and math.
- Functional patterns:
map,filter,reduce, and recursion. - Object-oriented programming with ES6 classes and inheritance.
- Asynchronous JavaScript: callbacks, Promises, and
async/await.
Course outline
- Introduction — run your first script and inspect values and types in the Console.
- Variables and Operators — name values, update totals, convert text to numbers, and fix a calculation.
- Control Flow — choose a path with conditions and repeat work with loops.
- Functions — turn repeated steps into reusable jobs, then explore scope and closures.
- Arrays — keep ordered collections, find entries, and transform lists.
- Objects and Built-ins — name related facts and work with
Map,Set, numbers, JSON, math, and dates. - Strings and Regular Expressions — prepare messages and validate text patterns.
- Functional Programming — pass functions as values and combine transformations into a pipeline.
- Object-Oriented Programming — give objects behavior, then build classes with inheritance and private state.
- Asynchronous JavaScript — understand delayed work, await Promises, combine independent results, and retry failures.
After this course, continue with a dedicated JavaScript DOM course to learn browser interactivity, or move into Node.js and frameworks like React.
How to work through the lessons
Start with a tiny connection between an HTML page and script.js. After that first lesson, write JavaScript in script.js and check its output in the Console; this course does not ask you to edit page elements. Each section starts with a concrete problem, shows a runnable example, and lets you use the idea in a different exercise. The situations change—from a scoreboard to reservations, records, and deliveries—but the same language skills carry forward. Work through each section in order: later tasks reuse earlier ideas. The asynchronous section uses an offline preview to capture delayed Console output; its sample services do not make network requests.
Intentionally later
This beginner course includes the built-ins you will use regularly for application logic: arrays, objects, Map, Set, Number, BigInt, JSON, Math, and Date. ArrayBuffer is for low-level binary data and belongs in a later browser or data-processing course. eval() executes a string as code, so it is intentionally not taught as a tool for application code; write direct functions and data transformations instead.
Syllabus
- Conditionals
- Demo: Combined Conditions Before FizzBuzz
- Challenge: FizzBuzz Announcer
- Switch Statement
- Demo: Switch a Venue Sign
- Challenge: Power Loadout
- For Loops
- While Loop
- Break and Continue
- Demo: Stop a Ticket Scan
- Challenge: Number Guess Referee
- Demo: Rainfall Routing Walkthrough
- Exercise: Score Batch Report
- ✦Module Quiz
- Arrays
- Demo: Student Scoreboard
- Challenge: Student Course Scoreboard
- Array Mutation Methods
- Array Slice and Concat
- Array Iteration Methods
- Multidimensional Arrays
- Destructuring
- Array Reverse and Sort
- Array Fill
- Array Find and Includes
- Array Flat and FlatMap
- Array Reduce, Some, and Every
- Demo: Charging Rack Restock Report
- Exercise: Pantry Restock Plan
- ✦Module Quiz
- Object Key-Value Pairs
- Student Course Record
- Object Methods and Destructuring
- Map and Set Collections
- Playlist Lookup
- Number and BigInt Boundaries
- Ticket Ledger
- JSON
- Math and Date
- Date Basics
- Demo: Supply Bin Audit
- Exercise: Volunteer Shift Audit
- Demo: Workshop Attendance Feed
- Exercise: Parcel Scan Feed
- ✦Module Quiz
- Higher-Order Functions
- Callbacks
- map, filter, and reduce
- Demo: Student Register with map
- Challenge: Student Register
- Recursion
- Project - Data Transform Pipeline
- Demo: Handle an Error-First Callback
- Exercise: Report Seat Reservation Results
- Demo: Summarize Completed Bike Rides
- Exercise: Summarize Delivered Parcels
- ✦Module Quiz
- Demo: Callback Timing
- Exercise: Asynchronous JavaScript
- Demo: Promise Rehearsal
- Exercise: Promises and Async Await
- Demo: Offline API Coordination
- Exercise: Async API Simulation
- Demo: Partial Results Bulletin
- Project: Resilient Awards Feed
- Demo: Retry a Local Delivery
- Project: Reliable Score Delivery
- ✦Module Quiz