Python and JavaScript lessons, from scratch
Two courses, from the first line of code to what you get asked in an interview. Each lesson explains one idea with an example that runs and practises it with exercises that are checked on the spot. The first unit of each course is free.
Python course
143 lessonsUnit 1: First steps
FreeYour first program, printing to the screen and storing data in variables.
Unit 2: Conditionals
Full planMake your program decide based on the data.
Unit 3: Loops
Full planRepeat without copy and paste: count, add up and search.
Unit 4: Functions
Full planGive your code a name and use it as often as you like.
Unit 5: Lists
Full planKeep many values together and go through them.
Unit 6: Strings
Full planLoop over, slice, clean up and format text.
Unit 7: Dictionaries
Full planStore data by name: keys and values.
Unit 8: Tuples and sets
Full planData that doesn't change and collections without duplicates.
Unit 9: Errors and exceptions
Full planRead an error, understand it and keep your program from crashing.
Unit 10: More on functions
Full planFlexible functions and functions that take functions.
Unit 11: Recursion
Full planFunctions that call themselves.
Unit 12: Classes and objects
Full planCreate your own data types.
Unit 13: Inheritance
Full planReuse a class to create similar ones.
Unit 14: Modern classes
Full planLess repeated code with Python's built-in tools.
Unit 15: Comprehensions and generators
Full planTransform data in one line without wasting memory.
Unit 16: The standard library
Full planModules that come with Python.
Unit 17: Files
Full planSave data and read it back.
Unit 18: Regular expressions
Full planFind and validate patterns in text.
Unit 19: Clean code
Full planCode that other people (and you in a month) can understand.
Unit 20: Testing and debugging
Full planFind bugs before someone else does.
Unit 21: Advanced Python
Full planThe tools professional libraries use.
Unit 22: Complexity
Full planWhat O(1), O(n) and O(n²) mean, and why they matter.
Unit 23: Searching and sorting
Full planThe classic algorithms, step by step.
Unit 24: Data structures
Full planStacks, queues, heaps and graphs.
JavaScript course
132 lessonsUnit 1: First steps
FreeYour first program, printing to the console and storing data in variables.
Unit 2: Conditionals
Full planMake your program decide based on the data.
Unit 3: Loops
Full planRepeat without copy and paste: count, add up and search.
Unit 4: Functions
Full planGive your code a name and use it as often as you like.
Unit 5: Arrays
Full planKeep many values together and go through them.
Unit 6: Strings
Full planLoop over, slice, clean up and format text.
Unit 7: Objects
Full planStore data by name: properties and values.
Unit 8: More on arrays
Full planSearch, sort and copy without breaking what you had.
Unit 9: Errors and exceptions
Full planRead an error, understand it and keep your program from crashing.
Unit 10: More on functions
Full planFunctions that take functions, and functions that remember.
Unit 11: Recursion
Full planFunctions that call themselves.
Unit 12: Classes and objects
Full planCreate your own data types.
Unit 13: Inheritance
Full planReuse a class to create similar ones.
Unit 14: Modern classes
Full planComputed properties, private data and JSON.
Unit 15: Immutability
Full planChange data without breaking what others are using.
Unit 16: Iterators and generators
Full planLoop your own way and build endless sequences.
Unit 17: What JavaScript brings along
Full planTools that exist in every JavaScript.
Unit 18: Asynchronous code
Full planCode that waits: promises, async and await.
Unit 19: Clean code
Full planCode that other people (and you in a month) can understand.
Unit 20: Testing and debugging
Full planFind bugs before someone else does.
Unit 21: Complexity
Full planWhat O(1), O(n) and O(n²) mean, and why they matter.
Unit 22: Searching and sorting
Full planThe classic algorithms, step by step.
Unit 23: Data structures
Full planStacks, queues and graphs.