Discussion prompt
20 minutes. Choose a routine task (making a report, planning a trip or running a club). In 150 to 200 words, split it into three or four parts, give each one an input and an output, and say which part you would test first.
Private: nothing you type here is sent or stored.
This course has no discussion board yet, so the prompt is a private reflection.
Recap
- Abstraction hides how and shows what; decomposition splits a task into parts.
- A function has inputs, working and an output, and the same inputs give the same output.
- Lists are found by position (from 0 in many languages); dictionaries by key.
- Test each part alone before the whole.
Module notes
Key terms. Abstraction: hiding detail behind a description. Decomposition: splitting a task into parts. Function: a named part with inputs and an output. Interface: what a part needs and gives back. Dictionary: pairs of key and value.
Rules and formulas. Last position of a list of n items: n − 1 (when counting from 0). average(a, b) = (a + b) ÷ 2.
Limits of this module. This module uses plain notation and invented examples. Language details, such as how a language counts list positions, must be checked for the language you use.
Next
Continue to Module 7: Inside the Machine: Memory, Processors and Operating Systems. You can also return to the course overview or the University Track.
References and further reading
- Specialty Digest encyclopedia: Algorithm, Programming Language and Object-Oriented Programming.
- Functions, lists and dictionaries are standard programming concepts described in introductory textbooks.
- All prices, tax rates, fines and extensions in this module are invented for teaching and labelled as such.