Discussion prompt
20 minutes. Choose a task from your work or studies that a computer might do for you. In 150 to 200 words, write its specification (input, output, constraints), name one edge case, and say what 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
- A computational problem has defined inputs and a required output; a specification adds constraints.
- An algorithm is finite, ordered and unambiguous, and correct for every valid input.
- A trace table shows how stored values change, step by step.
- Test typical, boundary and empty cases; tests can show faults but not prove correctness.
Module notes
Key terms. Computational problem: a question with defined inputs and a required output. Specification: a precise statement of inputs, output and constraints. Algorithm: a finite, ordered, unambiguous method that is correct for every valid input. Trace table: a record of stored values after each step. Pseudocode: a method in plain structured text. Boundary case: a smallest or largest valid input.
Rules and formulas. Running total starts at 0 and adds each item. Largest so far starts at the first item and is replaced by any bigger item.
Limits of this module. The lessons use small invented lists. Real systems have larger inputs, which Module 5 addresses.
Next
Continue to Module 2: Data and Representation: Bits, Binary and Text. You can also return to the course overview or the University Track.
References and further reading
- Turing, A. M. (1936). On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society. Background for the idea of a precisely defined method.
- Specialty Digest encyclopedia: Algorithm, Computer, Alan Turing and Programming Language.