Learn to code.
Build practical skills.

Start from the basics or strengthen your skills with 426 exercises and projects in Python, JavaScript, SQL, and TypeScript.

# Two-pointer palindrome example
# Returns True if the string reads the same forwards and backwards

def is_palindrome(s: str) -> bool:
    left, right = 0, len(s) - 1
    while left < right:
        if s[left] != s[right]:
            return False
        left += 1
        right -= 1
    return True

print(is_palindrome("racecar"))  # True
print(is_palindrome("python"))   # False

Start here, even if you have never coded.

Choose Python or JavaScript. Both Foundations courses begin with the basics and include free lessons and practice.

Choose a path for your goal

Start with Foundations if you are new to programming, or skip to a course that matches your skills. These sequences are suggestions, not required prerequisites.

Build web applications

Choose a Python server application or an interactive JavaScript application. Both run locally.

Python

  1. Python Foundations — optional beginner start

    Before you start: No prior programming experience required.

  2. Debugging and Testing Code — Python

    Before you start: Python functions, loops, lists and dictionaries.

  3. Build and Deploy a Real Web App with Django

    Before you start: Python functions and collections. Classes, HTML, CSS, HTTP, and local setup are introduced in the course.

JavaScript

  1. JavaScript Foundations — optional beginner start

    Before you start: No prior programming experience required.

  2. Debugging and Testing Code — JavaScript

    Before you start: JavaScript functions, loops, arrays and objects.

  3. Build and Deploy an Interactive App with React

    Before you start: JavaScript functions, arrays, objects, events and promises. No Python or Django required.

Automate and analyze data

SQL is also an independent starting point; you do not need to finish Python first.

Suggested sequence

  1. Python Foundations — optional beginner start

    Before you start: No prior programming experience required.

  2. Debugging and Testing Code — Python

    Before you start: Python functions, loops, lists and dictionaries.

  3. Practical Python: Text and Data Automation

    Before you start: Python variables, loops, functions, lists and dictionaries.

  4. SQL for Real-World Data

    Before you start: Read a small table and follow basic programming examples; no prior SQL required.

Write more reliable JavaScript

Start with foundations or build on your existing JavaScript skills.

Suggested sequence

  1. JavaScript Foundations — optional beginner start

    Before you start: No prior programming experience required.

  2. Debugging and Testing Code — JavaScript

    Before you start: JavaScript functions, loops, arrays and objects.

  3. TypeScript for JavaScript Developers

    Before you start: JavaScript functions, loops, arrays and objects.

Prepare for coding interviews

Choose a language. Parallel tracks cover corresponding concepts with independent code and progress.

Python

  1. Python Foundations — optional beginner start

    Before you start: No prior programming experience required.

  2. Python String Interviews

    Before you start: Python variables, loops, functions, lists and dictionaries.

  3. Data Structures and Algorithms — Python

    Before you start: Python functions, loops, lists and dictionaries.

JavaScript

  1. JavaScript Foundations — optional beginner start

    Before you start: No prior programming experience required.

  2. JavaScript String Interviews

    Before you start: JavaScript functions, loops, arrays and objects.

  3. Data Structures and Algorithms — JavaScript

    Before you start: JavaScript functions, loops, arrays and objects.

Explore all courses

Choose your starting point

Simple, flexible options for your goals.

Course access

$79

198 written lessons across the standard course catalog, including Django

  • In-depth, easy to follow lessons
  • Code examples and explanations
  • One-time purchase
Buy course

Practice pack

$39

426 exercises and projects

  • 426 exercises and projects
  • Increasing difficulty
  • Detailed solutions and explanations
Buy practice pack

Complete bundle

$99

Course + practice pack

  • All 198 lessons
  • All 426 exercises and projects
  • One connected learning experience
Buy complete bundle