100 topics · Read, check sources and follow your curiosity.

A little room to wonder

Computing

Computing concerns representing information and designing processes that work on it. You can explore many of its ideas with paper before writing code.

How can I write instructions that still work when the input changes?

A grey IBM punched-card sorting machine with cards in a row of output compartments.
An IBM punched-card sorter: computing has a history of physical data and machinery as well as today’s screens.waelder · Source · CC BY 2.5

An algorithm is a process

An algorithm is a sequence of steps for a task. A program expresses instructions so a computer can carry them out. Instructions can include choices and repetition as well as a straight sequence. To check an algorithm, work through specific inputs rather than assuming that clear intentions produce clear instructions.

Representing information

Computers represent information using agreed codes. A picture can be described as pixels with numerical colour values; binary uses two digit values, 0 and 1. The representation affects what can be stored or processed. The card-sorting machine pictured here is an older example of physical information organised for a machine to read.

Simplify, divide and test

Abstraction leaves out details that do not matter for the current problem. Decomposition divides a larger task into smaller parts. Testing then asks whether those parts and their combination behave as intended. Try unusual inputs as well as convenient ones: a rule that works for three items may fail when the list is empty.

Only if you feel like trying

Test a sorting rule

  1. Write the numbers 8, 3, 3 and 1 on separate scraps of paper.
  2. Write an exact rule for arranging them from smallest to largest, then follow only what you wrote.
  3. Try your rule with one number and with no numbers. Add a missing instruction rather than hiding the awkward case.

Optional. Use paper or talk through the idea; no account, purchase or public sharing is needed.