Choose a path for your goal

New to programming? Start with a Foundations course. Already know the basics? Choose a focused course and browser practice.

These are suggested sequences, not enforced prerequisites. Start with any course whose prerequisites match your skills.

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.

All courses

SQL for Real-World Data

Query synthetic data with SQLite: joins, grouped reports, CTEs, windows, and useful data-quality checks.

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

Explore course →

Data Structures and Algorithms — Python

Arrays, maps, trees, graphs, greedy methods, backtracking, and dynamic programming. Parallel language tracks cover corresponding concepts with independent code and progress.

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

Explore course →

Debugging and Testing Code — Python

Diagnose errors, isolate reproductions, repair boundary and mutation bugs, design regression tests, and review flawed generated code. Parallel tracks teach corresponding concepts with independent progress.

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

Explore course →

Debugging and Testing Code — JavaScript

Diagnose errors, isolate reproductions, repair boundary and mutation bugs, design regression tests, and review flawed generated code. Parallel tracks teach corresponding concepts with independent progress.

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

Explore course →

Python Foundations

Start programming with values, variables, conditions, functions and collections. Build small programs with guided practice and two projects.

Before you start: No prior programming experience required.

Explore course →

JavaScript Foundations

Start programming with values, variables, conditions, functions and collections. Build small programs with guided practice and two projects.

Before you start: No prior programming experience required.

Explore course →