Please be sure to view our course rotation guide and course flowchart (PDF).
Formal study of algorithms, including those for searching, sorting, and graph structure based ones. Addresses several algorithm design issues such as divide-and-conquer, greedy and dynamic programming. Defines, evaluates and analyzes the correctness, time, and space complexity of algorithms. Covers probabilistic, concurrent programming, and other topics such as P, NP, NP-Completeness and approximation algorithms. Springs. Prerequisite(s): CS 2381 and (MA 2250 or MA 3200).
*All course information is from the 2016-2017 Catalog.