Stage 1 of 6 · 9 lessons · ~4 months
Your first language
Learn one language properly: variables, control flow, functions, the core collections and error handling. Python is the gentlest start and is used everywhere, from scripts to AI.
Start: Variables, types and inputLessons· one lesson for each topic, in this order
- 1Variables, types and inputLesson
- 2Strings and f-stringsLesson
- 3Conditionals and loopsLesson
- 4Functions, parameters and scopeLesson
- 5Reading tracebacks and debuggingLesson
- 6Lists, dictionaries and setsLesson
- 7References, mutability and copyingLesson
- 8Handling errors with exceptionsLesson
- 9Modules and reading filesLesson
Start with· follow one of these
- CoursePaidGrokking Python Fundamentals
Design Gurus · Beginner · $50
Beginner Python with an in-browser exercise after nearly every lesson
- CourseFreeCS50's Introduction to Programming with Python
Harvard University · Beginner
Free Harvard course whose weekly problem sets make you write real programs
Practise
Keep handy
Before moving on: Write a 150-line command-line program, such as a quiz or a budget tracker, that uses functions, lists, dictionaries, file reading and error handling, without following a tutorial.

Pick one language and do not switch for three months: the second language takes weeks once the first one is solid. Type every example yourself, and spend more time writing small programs than watching lectures.