Description: This is the undergraduate level course on Design and Analysis of Algorithms taught during Spring 2020 at UC San Diego. The (tentative) topics that will be covered in the course are graph algorithms, greedy algorithms, divide and conquer, dynamic programming, backtracking, network flow, and computational intractability. Here (PDF) is a short description.

Lecture and discussion: We are coordinating all three sections of the course and we will maintain this common page for all the sections.
Section 8121 Section 8122 Section 8123
Instructor Sanjoy Dasgupta
Russell Impagliazzo
Ragesh Jaiswal
Lecture time MWF, 11:00-11:50
MWF, 10:00-10:50
TuTh, 11:00-12:20
Discussion time F, 12:00-12:50
F, 4:00-4:50
F, 3:00-3:50

Textbook: Algorithms by Dasgupta, Papadimitriou, and Vazirani. (amazon link)

Final Exam: 3hr exam on Canvas you will be allowed to take at any point in the 48hr window starting 12:01AM June 6th and ending 11:59PM June 7th
Practice Final Questions
Practice Final Solutions

Grading: The grading information is given in the table below.
Grading component # % per unit Total weight
Homework 7 6% 30%
(Best 5 out of 7)
Quiz 4 5% 20%
Final 1 35% 35%
Comprehension quiz See below See below 15%
Comprehension quizzes are ungraded quizzes conducted through canvas that students are supposed to take for better understanding of the material. Students are supposed to complete at least 80% of these comprehension quizzes.