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

Python lesson 3: Errors are normal

US version. US grades and US spelling. · UK version of this lesson

Errors are normal – every programmer gets them. The message tells you the kind of error and the line to look at. A complete 35-minute Python lesson for complete beginners (Grades 6–7), from Unit 1: Getting started. It runs right here in your browser – nothing to install.

Time
35 minutes + 20 min homework
Grade
Grades 6–7 (ages 11–12)
You need
A computer or tablet, paper and a pencil
Graded
Instantly, with explanations

For parents: how to use this lesson

You don't need to know Python yourself. The lesson explains each step on screen, the way Mr Babbage, our Head of Computing, likes it: a worked example first, then a go for your child. Code questions run your child's program in the browser and grade it straight away.

  1. Read what your child will learn together.
  2. Press Start the lesson below. Sit with your child for the teaching and the worked example (about 14 minutes): ask them to say what each line does.
  3. Let them do the practice on their own. When code goes wrong, the error message is a clue – let them read it out and try again before you help.
  4. Finish with the exit questions and the talk question: “Which kind of error do you find hardest to spot, and why?”
  5. Later that day or the next day: the homework (20 minutes), then a practice test.

Watch out for

  • No error message means no bug. Always check the output against what you expected.
  • The bug is always on the line in the message. For a SyntaxError, also check the line above.

Miss Lovelace's tip for home: ask your child to explain one line of their program to you in their own words. If they can explain it, they understand it – and every error message is a clue, not a failure.

What your child will learn

Learning goal: read an error message and find the line.

Success looks like

  • I can read an error message and find the line.
  • I can tell a SyntaxError from a NameError and a logic error.
  • I can fix one bug at a time and test again.

Key words

bug · debugging · SyntaxError · NameError · logic error

What to have ready

  • A device with a web browser (the code runs in the browser – nothing to install)
  • Paper for tracing
  • A keyboard helps for typing code (a tablet or phone works too)

The big ideas (for the adult)

Errors are normal – every programmer gets them. The message tells you the kind of error and the line to look at.

A SyntaxError means Python can't read a line (a missing quote mark, bracket or colon). A NameError means it doesn't know a word. A logic error gives no message at all, just a wrong answer.

Debugging means finding and fixing bugs. Change one thing, run again, and check.

Worked example

print("Goodbye!")
prnt("Oops")
print("I like apple")

It prints:

Goodbye!
…and then Python stops with a NameError.

The lesson, step by step

35 minutes in 5 parts
PartTimeHow it is checked
Starter5 minGraded by Classfern
Teaching input7 minRead, watch and talk
See it, then predict7 minGraded by Classfern
Put it in order, write it, fix it11 minGraded by Classfern
Closure and exit ticket5 minGraded by Classfern + self-check

The lesson

It runs here on the page. No sign-up and no names – progress is kept only in this browser. Each visit picks a new mix of questions.

Prefer a shorter, hands-on version? Lesson 3 as an interactive page has try-it boxes you can run and change.

Homework

20 minutes: 4 questions – predict what code prints, write or fix a short program, and check the key ideas – then a short reflection. New questions every time, all graded instantly.

Practice tests

All computer science practice tests · All 24 Python lessons

Curriculum

CSTA K–12 Computer Science Standards (2017), grades 6–8: 2-AP-17 – Systematically test and refine programs using a range of test cases.

The standard codes are CSTA's; the descriptions are our own words.

Our lessons and questions are our own. They are not written or endorsed by any government department, testing agency or exam board. Python is a registered trademark of the Python Software Foundation; Classfern is not affiliated with or endorsed by it.