course
CSC 311 – Design and Analysis of Algorithms
Mathematical essentials; sorting; space and time complexity; algorithm design methods: greedy algorithms, divide and conquer, and dynamic programming; introduction to graph theory; and NP-completeness.