In der Vorlesung wird der Entwurf effizienter Algorithmen für die Bereiche Suchen, Sortieren sowie Graphmethoden behandelt. Besonderer Schwerpunkt liegt hierbei auf allgemeinen algorithmischen Techniken, wie etwa divide-and-conquer, lokal-optimierender Berechnung ("greedy methods"), backtracking, branch-and-bound sowie dynamischer Programmierung.