15-650 Algorithms and Advanced Data Structures
12 units, Carnegie Mellon University
The objective of this course is to study general computational problems, with a focus on the principles used to design those algorithms. Efficient data structures will be discussed to support these algorithmic concepts. Topics include: Run time analysis, divide-and-conquer algorithms, dynamic programming algorithms, network flow algorithms, linear and integer programming, large-scale search algorithms and heuristics, efficient data storage and query, and NP-completeness. Although this course will have several programming assignments, it is primarily not a programming course. Instead, it will focus on the design and analysis of algorithms for general classes of problems. This course is not open to CS graduate students who should consider taking 15-651 instead.
Prerequisites: none listed
Offered: Spring 2027, Fall 2026, Spring 2026, Fall 2025
Courseweave needs JavaScript to show sections, workloads and planning tools.