Run your first program

This is real Python, running in your browser. Press ▶ Run below. The first run takes a few seconds while Python loads.

# Marks as a bar chart. Change a number
# or the name, then press Run again.
name = "Asha"
marks = {"Maths": 72, "Physics": 85,
         "Coding": 93, "English": 64}

print("Report for", name)
for subject, mark in marks.items():
    bar = "█" * (mark // 5)
    print(f"{subject:8} {mark:3} {bar}")

average = sum(marks.values()) / len(marks)
print("Average:", round(average, 1))
print("Best:", max(marks, key=marks.get))

Now change it

Every course here works the same way: a short explanation, then real programs you can run and change.

Pick a free course

Java 17+

Advanced Object-Oriented Programming

Build a Smart Parking System in 12 weeks

A project-based course in software design: one Java codebase grows from four classes into a modular monolith with an architecture dossier, one design idea per week.

  • 12 weeks
  • 48 sessions
  • 6 course outcomes
  • 1 codebase
Open course →
Theory

Theory of Computation

Machines, languages and the limits of computation

Finite automata, regular expressions, grammars, pushdown automata and Turing machines, built up one topic at a time. Every topic ends with a self-marking quiz, and your marks are kept on a marks page.

  • 26 topics
  • 26 quizzes
  • 4 CO tests
  • 4 course outcomes
Open course →
Python

Advanced Algorithms and Data Structures

Balanced trees, string matching, graphs, design techniques and NP-completeness

34 topics, each with a picture-first explanation, a step-by-step trace, a short Python implementation, practice problems, a self-marking quiz and GATE-style questions with worked solutions.

  • 34 topics
  • 34 quizzes
  • 136 GATE-style questions
  • 15 lab programs
Open course →
Python

Machine Learning Fundamentals

Decision trees, Bayesian learning, neural networks and beyond, with programs that run in your browser

35 topics from decision trees to Q-learning, each with a clear explanation, Python programs you can run and edit on the page, practice problems and a self-marking quiz.

  • 35 topics
  • 280 quiz questions
  • 5 CO tests
  • 39 programs that run on the page
Open course →
Python

Learning ML through Project

Build, evaluate and deploy a real ML system, from day one

25 topics that open up a working placement-prediction service, one layer at a time: linear models, tree ensembles, clustering, honest evaluation and ML engineering. Programs run on the page, and every topic has a self-marking quiz.

  • 25 topics
  • 200 quiz questions
  • 6 CO tests
  • 25 programs that run on the page
Open course →

New to programming? Start with 5 Python errors every beginner meets, or try the weekly challenge.