Courses / DescriptionsEECS 336: Design & Analysis of Algorithms
Quarter OfferedFall : 3:30-4:50 TuTh ; Hartline
Spring : 3:30-4:50 TuTh ; Kao
PrerequisitesEECS 212 (formerly EECS 310) and EECS 214 (formerly EECS 311) or Graduate (MS or Ph.D) student standing
CATALOG DESCRIPTION: Algorithm design and analysis is fundamental to all areas of computer science and gives a rigorous framework for the study optimization. This course provides an introduction to algorithm design through a survey of the common algorithm design paradigms of greedy optimization, divide and conquer, dynamic programming, network flows, reductions, and randomized algorithms. Important themes that will be developed in the course include the algorithmic abstraction-design-analysis process and computational tractability (e.g., NP-completeness).
- This course fulfills the Theory breadth & Theory depth requirement.
Fall: Jon Kleinberg, Éva Tardos. Algorithm Design. 1st Edition, 2005, Pearson. ISBN-13: 978-0321295354ISBN-10: 0321295358
Spring: T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. 3rd Edition, 2009, MIT Press.
COURSE COORDINATOR: Prof. Jason Hartline
THE COURSE IS NOW FILLED. If you'd like to join the waitlist, please signup via CAESAR. If spots become available they will be distributed to those on the waitlist.
HOMEWORK ASSIGNMENTS: There will be weekly reading assignments and weekly problem sets.
- Problem sets – 60%
- Midterm – 10%
- Final exam – 30%