This course is an introduction to the design and analysis of algorithms. Students study algorithmic design techniques including greedy algorithms, divide-and-conquer, dynamic programming, and backtracking. This course also provides an introduction to advanced data structures such as Red-Black trees, AVL trees, 2-3 trees, and graphs. Students will also be exposed to notions of computability and NP-completeness.
Natural Scientific and Mathematical Perspectives
Prerequisites
CSCI 210 or 261, and MATH 210 with a grade of C- or higher. In lieu of MATH 210, students may take MATH 290 and MATH 300 with a grade of C or higher.
Course UID
001303.1
Course Subject
Catalog Number
330
Long title
Algorithms and Advanced Data Structures