floating balls
CMSC 451
Design and Analysis of
Computer Algorithms
Spring 2025
Dave Mount

Course Description

This course presents the fundamental techniques for designing efficient computer algorithms, proving their correctness, and analyzing their running times. We will discuss a number of topics, including graph algorithms, greedy methods, dynamic programming, network flow, NP completeness and computational intractability, and approximation algorithms.

Course Format

Lectures will be in person (see class time below). Please feel free to talk with me if you have any questions or concerns with the following.

  • Attendance in lectures is not mandatory, but it is strongly encouraged. All lectures will be recorded and posted, but much of the content will be presented on the white board, and the recording infrastructure provided in our classroom may not render the board with good fidelity.
  • Attendance is required for the midterm exam and the final exam. (See the Syllabus for dates and the excused-absence policy.)
  • Other than exams, all class work will be submitted electronically through Gradescope.
  • We will use Piazza for discussions and important announcements. Click here to sign up.
  • Office hours will be conducted both in-person and through Zoom. The schedule is given below. When there is a need to move from in-person to Zoom, we will post an announcement Piazza.

Class Time

Tue, Thu 11:00am-12:15pm, in KEY 0106 (Francis Scott Key Hall).

Course Staff

Name Role Contact
Dave Mount Instructor mount@umd.edu
Adi Acharya Graduate TA adach@umd.edu
Jeff Giliberti Graduate TA jeffgili@umd.edu
Mahdi Jafariraviz Graduate TA mahdij@umd.edu
Shuhao Tan Graduate TA shuhao@umd.edu

Web Accessibility