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 |