// Phase 1 · Start from zero · course 2
Programming Foundations with JavaScript
Learn how to think like a programmer: variables, conditions, loops, functions and data, using the language of the web.
Beginner22 lessons ready4 coming soon
You'll be able to
- Write and run JavaScript programs from scratch
- Break a problem into small steps and turn them into code
- Use variables, conditionals, loops and functions confidently
- Work with arrays and objects, including map, filter and reduce
- Read error messages and fix your own bugs
Syllabus
Start course →- 1How Code Runs & Your First ProgramWhat a program actually is, and how to write and run one in under a minute.Free8 min
- 2Printing Output & Writing CommentsShow anything on screen with console.log, and leave notes for humans with comments.Free6 min
- 3Numbers & MathUse JavaScript as a calculator, including the remainder operator programmers love.Free8 min
- 4Strings: Working with TextJoin text, measure it, change its case, and build sentences with template literals.🔒10 min
- 5Variables & Data TypesStore values with let and const, and meet strings, numbers and booleans.🔒10 min
- 6Types: Numbers vs TextWhy "5" + 3 gives "53", and how to convert between strings and numbers.🔒8 min
- 7True, False & ComparisonsAsk the computer yes/no questions. The foundation of every decision your code makes.🔒7 min
- 8Making Decisions with if / elseRun different code depending on the situation.🔒9 min
- 9And, Or, Not: Combining ConditionsCheck several things at once with &&, || and !.🔒7 min
- 10Repeating with while LoopsMake the computer do the boring repetitive work for you.🔒8 min
- 11for Loops (and Watching One Run)The loop you'll write most often, shown in slow motion.🔒10 min
- 12Practice: Conditions + LoopsMake decisions with if/else and repeat work with loops.🔒12 min
- 13FunctionsPackage logic into reusable, testable pieces with clear inputs and outputs.🔒12 min
- 14Parameters & Return ValuesGive functions inputs, get answers back, and reuse them everywhere.🔒9 min
- 15Scope: Where Variables LiveWhy a variable can exist in one place and not another, and why that's a good thing.🔒7 min
- 16Arrays: Lists of ThingsStore many values in one variable, then add, remove and read them.🔒9 min
- 17Looping Over ArraysVisit every item to total, count, search and find the biggest.🔒9 min
- 18Objects: Grouping Related DataDescribe real things (users, products, posts) with named properties.🔒9 min
- 19Debugging Like a DetectiveA step-by-step method to find any bug, practiced on code that "almost works".🔒10 min
- 20Mini Project: Bill SplitterCombine functions, math, conditions and strings into a small real-world tool.🔒15 min
- 21Mini Project: Class GradebookWork with an array of student objects the way real apps work with data.🔒18 min
- 22Arrays, Objects & map/filter/reduceModel real-world data and transform it the way production code does.🔒15 min
- 23ClosuresComing soon
- 24Async JavaScript: callbacks, promises & async/awaitComing soon
- 25Modules & npm packagesComing soon
- 26Project: a command-line quiz gameComing soon