This teaching module explains what an algorithm is and how algorithms are employed for systematic problem solving. Specifically, it covers the following questions and topics.
- What is an algorithm?
- What is a computer?
- Computation as the result of executing an algorithm by a computer
- Computation transforms representation
- What is a problem, and what does it mean to solve a problem?
- Not every algorithm solves a problem given constraints and context
- What does correctness mean?
- In what ways can an algorithm be incorrect? (wrong results, getting stuck, nontermination)
- How can we asses correctness? (testing, proof)
This module has no prerequisites.