I have taught Algorithms (CSCI 406) at the Colorado School of Mines almost every semester
since joining in 2000. The 4xx label means that Algorithms can count for undergraduate or
(limited) graduate credit. Algorithms is
Required for the Mines undergradute CS degree.
Required for the interdisciplinary Operations Research with Engineering degree.
Required for CS graduate students who have not taken an equivalent elsewhere.
Double-counted for a combined Bachelors-Masters degree.
Prerequisites
Data structures (CSCI 262).: this course includes material
on basic data structures such as arrays, linked lists, trees, etc., that
I will assume you know. It also means that you will have the necessary
programming skills. (Approximately 40% of the grade is programming projects!)
Discrete mathematics (CSCI 358).: this course includes material on
graph theory, proofs, and combinatorics that is needed for Algorithms. I have
been known to waive this requirement for Mathematics students who have the
necessary math maturity.
All material related to the course (lecture slides, assignments, projects, grades, etc)
are posted on Blackboard.
Graduate CS Courses
Other graduate courses I have taught recently are
Theory (planned for Fall 2014)
Applied Algorithms and Data Structures (Fall 2010, Spring 2013)