The official kursplan (an official document identifying the topics and goals of the course) is available on the course web site. A more offering-specific outline follows.
The course will be divided into two parts.
In this part of the course, some of the basic techniques used in the analysis and design of non-numerical algorithms which have become central to the study of computer science in recent years will be examined. Both the theoretical and experimental aspects of the subject will be covered. In particular, the following questions will be considered.
In this part of the course, the intrinsic complexity of problems (as opposed to algorithms) will be examined. After briefly examining the inherent complexity of solving certain ubiquitous problems (such as sorting and searching), attention will be turned to the important class of NP-complete problems. These are often considered “intractable” in the literature. In this course, the focus will be upon various approximation and heuristic techniques which have proven useful in solving such intractable problems in practice will be studied. A theoretical presentation of the properties of the class NP is now part of the course Complexity Theory, and so this topic is no longer covered in detail in this course on the Analysis of Algorithms.
Due to time constraints, and because there are other courses available, material on algorithms for parallel computation will not be covered in this course.
An outline of the course is shown below. The numbers shown in the rectangular brackets (i.e., [..]) identify chapters and sections in the textbook. The numbers in angle brackets (i.e., ⟨…⟩) indicate the approximate number of 45-minute lecture periods which will be devoted to the topic.