Here's the catalog description:

Algorithm analysis and asymptotic running time calculations. Algorighm design techniques and implementation details. Algorithms for sorting and searching, trees, graphs, and other selected topics.

So what does this mean?

This is a course in which you'll learn two things: Some of the most popular and useful techniques and data structures for solving common computational problems, and also mathematical techniques for analyzing and comparing solutions.

The course will be a combination of theoretical/mathematical analysis and practical implementation; there should be something for everyone! Along the way, you'll also pick up some practical knowledge, such as exposure to different programming environments, practice in working with external packages, and experience in developing larger (at least 200-300 lines) programs.

Some common questions: