The story.
An algorithm is a recipe for mechanically, i.e.
without intuition, accomplishing a given task, typically
formulated over a number of input parameters. More
technically, it is a mathematical structure that consists
of a description of: (i) inputs, (ii) mechanical
steps, often in human-readable form, and
(iii) outputs. The intention is that, being
mechanical, the steps can be translated into a computer
program, called an implementation of the algorithm,
which then accomplishes the task, for a given concrete
input. The translation of the steps into a program depends
on other choices, such as appropriate data
structures.
In addition to the requirement of correctness of the algorithm (and its implementation), we typically have certain expectations on the amount of consumed resources, such as time and memory. The course. You will learn the foundations of designing, analyzing, (to an extent) implementing, and ultimately understanding algorithms. This involves questions like:
|
![]() |
(09/25 [1, Ch. 2.3, 2.1; 2, Ch. 4.1])
indicates that we covered/will cover the particular topic on September 25, and that the recommended reading for that lecture is from textbook reference 1, chapters 2.3 and 2.1, and textbook reference 2, chapter 4.1, in this order.A | A- | B+ | B | B- | C+ | C | C- | F |
95 | 90 | 85 | 80 | 75 | 70 | 65 | 60 | <60 |