Dinesh P. Mehta: Teaching
Dinesh P. Mehta
Teaching Overview


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
  1. Required for the Mines undergradute CS degree.
  2. Required for the interdisciplinary Operations Research with Engineering degree.
  3. Required for CS graduate students who have not taken an equivalent elsewhere.
  4. Double-counted for a combined Bachelors-Masters degree.


  1. 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!)
  2. 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
  1. Theory (planned for Fall 2014)
  2. Applied Algorithms and Data Structures (Fall 2010, Spring 2013)
  3. Algorithms for Cheminformatics (Fall 2012)
  4. Randomized Algorithms (Spring 2012)
  5. Principles of Embedded Systems (Fall 2011)

Send comments & questions to dmehta@mines.edu Disclaimer
Last Modified: July 29, 2014