There is a difference between algorithm and program. An algorithm is a mechanical procedure written in such a way that human beings can understand it, but a program is a mechanical procedure written in such a way that a computer can execute it. Since computers are quite inflexible compared to the human mind, programs usually contain more details than algorithms. Because in this module we want to ignore such details, we consider the design of algorithms rather than programs. Programming is the topic of the software workshop module. In fact, we will often see the same topics in both modules from different perspectives. Very often, however, we will write down actual programs in order to clarify certain aspects. But, as discussed above, the task of implementing the algorithms discussed here as computer programs is left to the software workshop module.