3 credit hours
Prerequisite: CSCI 241, CSCI 261, MATH 231; Students must have a grade of C or better in all prerequisites.
This course examines the design and efficiency of sequential and parallel algorithms. The algorithms studied include sorting and searching, pattern matching, graph algorithms and numerical algorithms. Standard algorithmic paradigms are studied such as divide and conquer, greedy methods and dynamic programming. We will consider the time and space complexity analysis of sequential and parallel algorithms and proofs of algorithm correctness.