15-251 Great Ideas in Theoretical Computer Science
12 units, Carnegie Mellon University
This course is about how to use theoretical ideas to formulate and solve problems in computer science. It integrates mathematical material with general problem solving techniques and computer science applications. Examples are drawn from algorithms, complexity theory, game theory, probability theory, graph theory, automata theory, algebra, cryptography, and combinatorics. Assignments involve both mathematical proofs and programming. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course.
Prerequisites: (15-122 (min C) or 15-150 (min C)) and (21-128 (min C) or 15-151 (min C) or 21-127 (min C))
Offered: Spring 2027, Fall 2026, Summer 2026, Spring 2026, Fall 2025
Courseweave needs JavaScript to show sections, workloads and planning tools.