
Prerequisites: CS 102, CS 201
Suggested course(s) to take next: CS 311, CS 312
It's easy to overlook the importance of algorithms compared to other, flashier areas of computer science, but this is what makes the difference between decent programs and great programs.
-- Duncan Sanford '06
I see this course as the heart of the major. Computation, ultimately, comes down to algorithms, and at the heart of our interest in algorithms is an interest in efficiency. (That's why we have computers do this stuff, rather than doing it by hand.!) This course is where we learn the tools, techniques, strategies, and data structures to design and analyze efficient algorithms for all areas of computing.
-- Prof. Dickerson