▶ TrainingGet Pro
All tools & lessonsAll toolsAllGet the appApp
Learning departments Music, Cookery, Programming and Art are open – explore →

Computing Department · Mr Babbage

Python for complete beginners

A free, step-by-step Python course for people who have never written a line of code – from grade 6 up, and adults too. Every lesson explains things in plain English, then lets you run real Python right here in your browser.

Start lesson 1 Continue Glossary of code

0 of 24 lessons finished

How each lesson works

  • Clear explanations, built up step by step, with everyday examples and diagrams.
  • Worked examples that explain the code line by line.
  • Try it boxes: change the code and run it straight away.
  • Exercises checked by Classfern, with a nudge, a hint and the answer if you're stuck.
  • Common mistakes, a quick quiz, a recap and key words linked to the glossary.
  • Your progress is remembered on this device – no account needed.

The course: 7 units, 24 lessons

Unit 1 is ready now. More lessons are being added – each one opens here as soon as it's ready.

Unit 1: Getting started

What programming is, your first program, and what to do when things go wrong.

  1. Lesson 1: What is programming?Programs, Python, the editor and your first print.
  2. Lesson 2: print() and stringsQuote marks, numbers and sums, commas and +.
  3. Lesson 3: Errors are normalReading error messages, three kinds of error, debugging.
  4. Lesson 4: Comments and how Python reads codeNotes with #, planning with steps, tracing line by line.Coming soon

Unit 2: Variables and data

Make programs remember things, do sums and work with text.

  1. Lesson 5: Variables: boxes with labelsStoring values, naming rules, changing a variable.Coming soon
  2. Lesson 6: Numbers and mathint and float, + - * /, //, % and **, the order of operations.Coming soon
  3. Lesson 7: Working with textlen(), upper() and lower(), f-strings, joining with variables.Coming soon
  4. Lesson 8: Data types and convertingint, float, str and bool; int(), float(), str(); type().Coming soon

Unit 3: Input and decisions

Ask the user questions and make your programs choose what to do.

  1. Lesson 9: Asking questions with input()Reading what the user types, and turning it into numbers.Coming soon
  2. Lesson 10: True, False and comparisonsBooleans, ==, !=, <, >, <= and >=.Coming soon
  3. Lesson 11: Making decisions: if and elseConditions, colons and indentation.Coming soon
  4. Lesson 12: More choices: elif, and, or, notSeveral cases in the right order; combining conditions.Coming soon

Unit 4: Loops

Make the computer repeat things – the job it's best at.

  1. Lesson 13: Repeating with for and range()Counting loops, range(start, stop, step).Coming soon
  2. Lesson 14: while loopsRepeat until something changes; avoiding endless loops.Coming soon
  3. Lesson 15: Loop patternsCounting, running totals, break, and nested loops.Coming soon

Unit 5: Lists

Store lots of values together and work through them one by one.

  1. Lesson 16: Lists and indexesMaking lists, counting from 0, negative indexes.Coming soon
  2. Lesson 17: Changing listsappend, insert, remove, sort and in.Coming soon
  3. Lesson 18: Looping through listsfor item in list, totals, finding the biggest.Coming soon

Unit 6: Functions

Write your own reusable instructions, and use Python's ready-made ones.

  1. Lesson 19: Your own functionsdef, calling, why functions make code tidy.Coming soon
  2. Lesson 20: Parameters and returnGiving functions values and getting answers back.Coming soon
  3. Lesson 21: Modules: ready-made codeimport, random numbers, square roots, scope.Coming soon

Unit 7: Mini projects

Put it all together to build complete programs of your own.

  1. Lesson 22: Project: number guessing gamerandom + while + if, planned step by step.Coming soon
  2. Lesson 23: Project: a quiz programLists of questions, scores and feedback.Coming soon
  3. Lesson 24: Project: your own program + course checkPlan, build and test a program you choose; final check.Coming soon

Who it's for

Complete beginners of any age. The lessons are written for students in grades 6–8, but adults learning to code will find them just as useful. You need no experience, no account and nothing to install – only a web browser. Lessons take about 30–40 minutes each.

Teachers and parents: use a lesson as a whole class session (project it and run the examples together), as homework, or as a station in a rotation. Learners' code and progress stay in their own browser.

Curriculum links

UnitWhat learners doEngland KS3 computing (for reference)CSTA (grades 6–8)
1Write and run simple programs; find and fix errorsUse a textual programming language; design, write and debug programs2-AP-11, 2-AP-17, 2-AP-19
2Variables, numbers, strings and data typesUse a textual language; data types; Boolean logic (begins)2-AP-11
3Input, Boolean conditions and selectionSelection; simple Boolean logic (AND, OR, NOT)2-AP-12, 2-AP-13
4for and while loopsRepetition (iteration) in programs2-AP-12
5ListsUse data structures such as lists2-AP-11, 2-AP-12
6Functions, parameters, modulesDesign and develop modular programs that use procedures or functions2-AP-14, 2-AP-16
7Projects: plan, build, testDesign, write and debug programs that solve problems2-AP-10, 2-AP-13, 2-AP-15, 2-AP-17

Classfern isn't connected with or endorsed by the Department for Education or CSTA.

How it's marked: marked by Classfern in the browser – a practice check, not an exam.

Python is a registered trademark of the Python Software Foundation. Classfern is independent and is not affiliated with or endorsed by it.

Back to the Programming Department · All Classfern departments