Skip to content
The Lumenary
Grades 6–8ComputationPlanned

Programming for mathematics

Writing short Python programs that use variables, loops, conditionals and functions to explore mathematics: generating sequences, testing conjectures on many cases, and representing numbers in binary.

math.comp.programming-intro

The lesson for this topic has not been written yet. The outline below is part of the curriculum map and has not been reviewed.

Builds on

Required prerequisites, all the way down: 9

You will learn to

  • Write programs with variables, loops, conditionals and functions to compute sums, tables and sequences.
  • Use a program to test a conjecture on many cases, and explain why this is evidence but not proof.
  • Convert between decimal and binary representations, by hand and in code.

Definition

  • A program variable names a stored value that can change while the program runs.
  • A program function takes inputs (arguments) and returns an output, possibly with other effects.
  • In base 2, the digits 0 and 1 count ones, twos, fours, eights and so on.

Theorem

  • Every positive whole number has exactly one binary representation without leading zeros.
  • Checking a statement for the first million cases is experimental evidence, not a proof.
  • Floating-point numbers are approximations: in Python, 0.1 + 0.2 == 0.3 evaluates to False.

Common misconceptions

  • Reading '=' in a program (assignment) as mathematical equality.
  • Believing a program that runs without errors must compute the right answer.
  • Assuming computer arithmetic with decimals is exact.

Leads to

Optional discoveries

Learning pathways

Further reading

  • Allen B. Downey, Think Python