Learn to Code
Clear, practical tutorials that take you from the basics to confident, working code.
JavaScript Arrays — The Basics
Build a real mental model of JavaScript arrays: how indexing and length work, why arrays are shared by reference, how iteration leads to map/filter/reduce, and the sharp edge of sparse arrays.
JavaScriptJavaScript Objects — The Basics
Build a real mental model of JavaScript objects: properties and keys, dot vs bracket access, why objects are shared by reference, iterating with Object.keys/entries, and safe nested access.
JavaScriptJavaScript Strings — The Basics
Build a real mental model of JavaScript strings: why they're immutable, how indexing and length work, template literals, and how searching, slicing and transforming all return new strings.
Python Dictionaries — The Basics
Build a real mental model of Python dictionaries: key-value pairs, safe lookup with get, why a dict is shared by reference, iterating with items, dict comprehensions, and reaching into nested data.
PythonPython Lists — The Basics
Build a real mental model of Python lists: 0-based indexing and slicing, why lists are mutable and shared by reference, how iteration leads to comprehensions, and the shared-row pitfall to steer around.
PythonPython Loops — The Basics
Build a real mental model of Python loops: how the for loop walks any iterable without manual index work, when range() and while fit, how enumerate() hands you the index, and how break, continue and the loop else clause change the flow.
PythonPython Strings — The Basics
Build a real mental model of Python strings: why they are immutable sequences, how indexing and slicing reach into them, how f-strings assemble them, and how the everyday methods each return a new string.
These tutorials teach the fundamentals the way you actually use them: short explanations, concrete examples, and plenty of code you can run and change. No padding, no jargon for its own sake — just the ideas you need and the practice to make them stick.
Each topic builds on the last, so you can start at the top of a language and work down, or drop into any single lesson when you need it. Every example runs in the online editor.
Choose a language below to begin.