Hold on just a sec...
3 credits
Fall 2026 Lecture Upper DivisionBasic techniques for designing and analyzing algorithms: dynamic programming, divide and conquer, balancing. Upper and lower bounds on time and space costs, worst case and expected cost measures. A selection of applications such as disjoint set union/find, graph algorithms, search trees, pattern matching. The polynomial complexity classes P, NP, and co-NP; intractable problems.
Learning Outcomes1Be familiar with topics in algorithms.
2Be familiar with how to design algorithms.
3Master a subset of algorithms: graph algorithms, linear programming.
4Be familiar with how to research the background of a topic in algorithms approximation algorithms.