Courses · Beginner · no experience needed
Python
Python as a programming language, not as a step towards something else. You start from your first line and finish able to read unfamiliar code, trace it by hand, find its bugs, and write your own solutions.
- Modules
- 21
- Lessons
- 103
- Time
- ~19 hours
- Projects
- 9
What you'll be able to do
- Write programs with variables, conditions, loops and functions
- Choose between lists, tuples, sets and dictionaries, and combine them
- Trace code by hand and predict its output, including nested loops and recursion
- Find and fix bugs, and handle errors with exceptions
- Read and write files, and split a program into functions and modules
- Model things with classes and objects
Who it's for
Beginners who want to learn programming properly, and students whose course or exam is in Python. Every module includes the kinds of questions exams ask: what does this print, where is the bug, complete this function.
What you need
None. School-level arithmetic is enough. Python runs in your browser, so there is nothing to install.
What you'll build
- Profile Generator
- Number Guessing Game
- Student Gradebook
- Expense Tracker
- Text Report
- Class Register
- File Report
- Library System
- Quiz Engine
Curriculum
FoundationsThink like a programmer. From your first line to a complete program. 7 modules · 43 lessons
- 0 Welcome, DeveloperWhat programming really is, and your first line of Python.
- 1 Teach the Computer to RememberVariables, text, numbers, and programs that talk to people.
- 2 Make DecisionsPrograms that react differently to different situations.
- 3 AutomationMake the computer do the repetitive work, a thousand times if needed.
- 4 Build Your Own ToolsFunctions, so you write something once and use it everywhere.
- 5 Organise Your DataLists and dictionaries, for when one variable per value stops working.
- 6 Your First Real ProgramBuild a complete expense tracker, one feature at a time.
Working with DataText, grids, the right container, and what a variable really is. 5 modules · 23 lessons
- 7 Text, Up CloseReach inside a string. Positions, slices and the methods you'll use every day.
- 8 Loops Inside LoopsGrids, tables and patterns, and how to trace them without getting lost.
- 9 The Right ContainerTuples, sets and dictionaries in depth, and how to choose between them.
- 10 Names and ValuesWhat a variable really is, and why two names can share one list.
- 11 Mastery Check: Working with DataNo new material. Find out what has really stuck.
Real ProgramsErrors, files, modules and tests. Code that survives contact with reality. 5 modules · 19 lessons
- 12 When Things Go WrongRead tracebacks, catch exceptions, and write programs that survive bad input.
- 13 Beyond One RunFiles that remember, and modules full of code you don't have to write.
- 14 Prove It WorksTest your own functions, hunt bugs with a method, and think about edge cases.
- 15 Say It ShorterComprehensions, enumerate, zip and the built-ins that replace whole loops.
- 16 Mastery Check: Real ProgramsErrors, files, tests and compact Python, mixed together.
Algorithms and ObjectsSearching, sorting, recursion and classes. The ideas every language shares. 4 modules · 18 lessons
- 17 Search and SortClassic algorithms, traced by hand, and why some are far faster than others.
- 18 Functions That Call ThemselvesRecursion, the call stack, and how to trace it without getting dizzy.
- 19 Make Your Own TypesClasses and objects. Data and the functions that work on it, in one place.
- 20 Final Assessment and ProjectThe whole course in one sitting, then a program that is entirely yours.