# CMSC 451 - Design and Analysis of Computer Algorithms

### Course Description

Fundamental techniques for designing efficient computer algorithms, proving their correctness, and analyzing their complexity. General topics include sorting, selection, graph algorithms, and basic algorithm design paradigms (such as divide-and-conquer, dynamic programming and greedy algorithms), lower bounds and NP-completeness.

### General Information

- Class Time/Location
- The class meets Tuesdays and Thursdays, 9:30-10:45am in CSI 2107
- Instructor
- Clyde Kruskal
- Office Hours
- Tuesday, Thursday 10:45am-12:00pm; AVW 3215
- Teaching Assistant
- MohammadReza Ghodsi
- TA Office Hours
- Tuesday 12:30-2:30pm, Thursday 12:30-1:30pm; AVW 1112

### Syllabus

ps pdf

### Homeworks

*Homeworks are due at the start of class.*

- Homework 1 ps pdf (Due Thursday September 20)
- Homework 2 ps pdf (Due Thursday October 4)
- Homework 3 ps pdf (Due Thursday October 18)
- Homework 4 ps pdf (Due Thursday November 15)
- Homework 5 ps pdf (Due Tuesday December 11)
- Practice problems for the final exam ps pdf

### Exams

- The midterm exam will be on Tuesday October 30th
- Practice problems for the final exam ps pdf