loop
← home

The course

Python Essentials

Every section is open — start at the beginning, or jump to whatever you want to learn. Pick one to dive in.

Module 1

Getting Started

Set the foundations: what programming and Python actually are, and how to get Python running on your own computer.

  1. Section 1
    7 lessons

    Introduction to Programming

    Before a single line of Python, the basics that everything else rests on: what a program actually is, why we invented programming languages, and how your code becomes something a computer can run. Every idea here is animated — watch it happen.

    Open section
  2. Section 2
    6 lessons

    Introduction to Python

    Now meet the language itself. Where Python came from, what makes it a joy to use, who its rivals are, and where you'll find it running in the real world — the story before the syntax.

    Open section
  3. Section 3
    4 lessons

    Downloading and Installing Python

    Time to get Python running on your own machine. Download and install it, learn the different ways to run your code, write your very first program, and — just as importantly — break it and fix it.

    Open section

Module 2

Python data types, variables, operators, and basic I/O operations

The working core of Python: write and run real programs, get comfortable with print(), then move on to variables, data types, operators, and reading input.

  1. Section 1
    9 lessons

    Basics

    Where it gets hands-on: your first real programs, then a thorough tour of print() — the function you'll lean on to see what your code is doing.

    Open section
  2. Section 2
    6 lessons

    Python literals

    The raw values you write straight into your code — numbers, text, and true/false — and the type Python gives each one.

    Open section
  3. Section 3
    4 lessons

    Operators

    Your data-manipulation tools. The symbols that combine values into expressions — arithmetic and beyond — and the rules that decide what happens first.

    Open section
  4. Section 4
    8 lessons

    Variables

    Give your data a name so you can store it, reuse it, and change it. Named boxes that hold a value — the memory your programs run on.

    Open section
  5. Section 5
    2 lessons

    Comments

    Notes for humans that Python ignores. Why and when to leave them, how to write them, and how to switch lines of code off without deleting them.

    Open section
  6. Section 6
    6 lessons

    Interaction with the user

    Until now your programs only spoke. Now they listen: read what the user types with input(), and turn that text into numbers you can compute with.

    Open section
  7. Section 7
    4 lessons

    Working with strings

    Text is everywhere in real programs. Go beyond writing a string: reach inside it by index and slice, reshape it with built-in methods, and build new text cleanly with f-strings.

    Open section

Module 3

Boolean values, conditional execution, loops, lists and list processing, logical and bitwise operations

Until now your code has run straight through, top to bottom. Now it gains a will of its own — making decisions, repeating work, and handling whole collections of data.

  1. Section 1
    7 lessons

    Making decisions in Python

    Teach your code to choose. Ask yes/no questions with comparison operators, and run different code depending on the answer.

    Open section
  2. Section 2
    6 lessons

    Loops in Python

    The heart of the language's name: code that repeats. while and for loops, the range() function, and the break and continue controls that steer them.

    Open section
  3. Section 3
    6 lessons

    Logic and bit operations

    Combine conditions with and, or and not — then drop a level to the bits themselves, with the bitwise operators and shifts that work on individual 0s and 1s.

    Open section
  4. Section 4
    7 lessons

    Lists and list processing

    Hold many values under one name, in order. Index them, change them, grow and shrink them — the collection that loops were made to process.

    Open section
  5. Section 5
    2 lessons

    Sorting lists: bubble sort

    Put a list in order. Watch the classic bubble sort algorithm work step by step — then meet the one-line way Python does it for you.

    Open section
  6. Section 6
    5 lessons

    Operations on lists

    The surprising truth about how lists are stored — why copying a name doesn't copy the list — and the everyday tools that follow from it: powerful slices, negative indices, and the in operator.

    Open section
  7. Section 7
    3 lessons

    Lists in advanced applications

    Lists can hold other lists — and that one idea unlocks grids, boards, and tables. Nest them to build two-dimensional arrays and beyond, with comprehensions to create them in a single line.

    Open section

Module 4

Functions, tuples, dictionaries, exceptions, and data processing

Your code has been one long script. Now you give it structure: package logic into reusable functions, store data in tuples and dictionaries, and handle the unexpected with exceptions.

  1. Section 1
    4 lessons

    Functions

    The single most important tool for taming complexity: a named, reusable block of code. Learn why functions exist, how breaking a problem into them keeps it manageable, where they come from, and how to write your own.

    Open section
  2. Section 2
    5 lessons

    How functions communicate with their environment

    Functions get useful when you can feed them data. Meet parameters and arguments — the slots a function declares and the values you pass in — and the two ways to pass them: by position and by name.

    Open section
  3. Section 3
    4 lessons

    Function return

    If parameters are how data goes in, return is how it comes back out. Learn the difference between a function's effect and its result, meet the None value, see how lists travel in and out — then build five real functions.

    Open section
  4. Section 4
    3 lessons

    Scopes in Python

    Where does a variable live, and who can see it? Meet local and global scope, the global keyword that crosses between them, and exactly what happens to the values you hand a function.

    Open section
  5. Section 5
    5 lessons

    Creating multi-parameter functions

    Everything you've learned about functions, put to work on real problems. Build functions that take several inputs — BMI, triangles, factorials, Fibonacci — and finish with recursion, a function that calls itself.

    Open section
  6. Section 6
    6 lessons

    Tuples and dictionaries

    Two more collections, each with a superpower lists don't have. Tuples are fixed and safe; dictionaries look things up by name instead of position. Meet mutability, then both types — and watch them team up.

    Open section
  7. Section 7
    6 lessons

    Exceptions

    Real programs meet bad data and broken assumptions. Instead of letting them crash, you catch errors as they happen with try and except — then learn to test for and hunt down the bugs you write yourself.

    Open section

More modules coming soon.