A two-hour exam will be given in the summer. No textbook is required. In each week, lecture notes or copies of book chapters covering the course material will be handed out. For recommended supplementary reading see reading list . The course aims to provide an introduction to the theory of algorithms, data structures, and computational complexity.
Algorithms are the methods by which a computer performs certain tasks.
The design of algorithms goes hand in hand with the design of data structures, which define how data are organised. An example of a data structure is a list of items that is accessed sequentially in order to find an item in there. It is easy to add an item to such a list, but finding an item may be much quicker if the list is sorted. Algorithms and data structures for sorting and searching are treated in the beginning weeks of this course. Later parts of the course concern complexity theory, which is the study of the difficulty of computational problems.