← Computing
ComputingAlgorithms and programming30 min★★★ difficulty

Variables, lists and debugging

Bugs are normal. Finding them quickly is a method, not a talent.

Part of your national curriculum
  • Algorithms and programming: Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems
  • Algorithms and programming: Use a variety of data structures, including lists, tables or arrays, and design modular programs that use procedures or functions
  • Algorithms and programming: Understand simple algorithms, expressed using sequence, selection and iteration, and correct errors in algorithms
  • Algorithms and programming: Design and develop modular programs that use procedures or functions, and test and correct them systematically

Lesson overview

What you'll learn in this lesson

Test and debug a program systematically

Key learning points

  • • Storing data
  • • Systematic testing

This lesson at a glance

  • 30 minutes
  • 10 parts to scroll through
  • 3 quick checks
  • Marked quiz at the end
  • Gentle pace: short sittings with pauses

Words to know

programsystematicallystoringsystematictesting

Scroll down — the lesson carries on below

Part 1 of 10 · Discover10%
1

Watch & discover

Part 1 of 10

Watch first

Variables, lists and debugging

An English teaching video on this topic from LearnFree. Watch it, then scroll down for the lesson.

In a nutshell

Test and debug a program systematically

2

Explore the idea

Part 2 of 10

Learn

Storing data

A variable holds one value; a list holds many, accessed by index. Meaningful names save more time than clever code.

3

Explore the idea

Part 3 of 10

Learn

Systematic testing

Test normal, boundary and invalid inputs. When something fails, change one thing at a time and print values to see what the program actually holds.

4

Quick check

Part 4 of 10

Quick check

A list stores…

5

Quick check

Part 5 of 10

Quick check

A boundary test uses…

6

Quick check

Part 6 of 10

Quick check

When debugging you should change…

7

Challenge round

Part 7 of 10

Game · Sort it

Which of these are true?

Drag each card into the right column. Tap a card first if dragging is fiddly.

True

Not true

8

Challenge round

Part 8 of 10

Game · Fill the gaps

Finish the sentences

Choose the word that belongs in each gap.

When something fails, change one thing at a time and print values to see what the ____ actually holds.

9

Mastery quiz

Part 9 of 10

Marked quiz

End of lesson quiz: Variables, lists and debugging

4 questions, marked with the reasoning shown. No timer.

  1. 1. Why use a list rather than 30 separate variables for 30 test scores?

  2. 2. A list stores…

  3. 3. A boundary test uses…

  4. 4. When debugging you should change…

10

Lesson round-up

Part 10 of 10

Lesson round-up

Ready when you are

Quiz score

Not sat

Games

Not played

Points this lesson

0

Best run

0 in a row

Luna: 0 out of 3 on the practice checks. Only if you feel up to it — one more?

Ask Luna

Do the work

Your written work for this lesson

This is the part you'd do in your book at school. Pick the pieces below, write here or on paper, and photograph anything you draw or work out.

Article

How a supermarket checkout knows the price

When a barcode is scanned, the checkout does not store the price itself. It sends the barcode number to a database and reads back a record: product name, price, whether it needs an age check. The record is the single place the price lives, so changing one row changes every till in the shop at once.

Problems come from bad data, not bad scanners. If two products share a barcode, or a price update reaches the shop overnight but the till holds an old copy in its cache, customers are charged the wrong amount. Shops check this with test transactions: scan a known item, expect a known price, record what actually happened.

Good systems also log every scan. If a customer complains, the log shows exactly which record was used and when.

Written for Good Learning Co.

Reading questions

  1. Write in your own words what the checkout sends and what it receives back.
  2. Explain one way bad data could cause a wrong price, and how logging helps find it.
  3. Design a test table with four tests for a new checkout, with expected and actual results.
  • Reading and notes

    Reading

    Read the lesson text again and note the key terms and how each one is used, in your own words — as you would for revision.

    Half a page of notes

  • Extended writing

    Writing

    Explain a real system that uses this idea — how it works, where it can go wrong, and how you would make it safer or better.

    250–350 words

  • Algorithm on paper

    Diagram

    Write your steps out as pseudocode or a flowchart before you type anything, then photograph it.

    1 flowchart or 10 lines

  • Code write-up

    Writing

    Copy your code in, then explain underneath what each part does and what you had to fix.

    Code + 5 sentences

  • Test table

    Working out

    Make a test table: what you tried, what you expected, what actually happened.

    4–6 tests

Saved as you type.

Part 1 of 10 · Watch & discover

How this is going

  • Not looked at yet

    Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems

  • Not looked at yet

    Use a variety of data structures, including lists, tables or arrays, and design modular programs that use procedures or functions

  • Not looked at yet

    Understand simple algorithms, expressed using sequence, selection and iteration, and correct errors in algorithms

  • Not looked at yet

    Design and develop modular programs that use procedures or functions, and test and correct them systematically

Good Learning Co. — personalised UK curriculum learning, built around what each learner loves.