← Roadmap

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