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.
- Read what your child will learn together.
- 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.
- 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.
- Finish with the exit questions and the talk question: “Which kind of error do you find hardest to spot, and why?”
- 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
| Part | Time | How it is checked |
|---|---|---|
| Starter | 5 min | Graded by Classfern |
| Teaching input | 7 min | Read, watch and talk |
| See it, then predict | 7 min | Graded by Classfern |
| Put it in order, write it, fix it | 11 min | Graded by Classfern |
| Closure and exit ticket | 5 min | Graded 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
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.