Curriculum
  /  
Descriptions
EECS 336: Design & Analysis of Algorithms

Quarter Offered

Fall : 3:30-4:50 TuTh ; Hartline
Winter : 11:00-12:20 TuTh ; Makarychev
Spring : 3:30-4:50 TuTh ; Kao

Prerequisites

EECS 212 (formerly EECS 310) and EECS 214 (formerly EECS 311) or Graduate (MS or Ph.D) student standing

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 & Technical Elective requirement.

REQUIRED TEXT: 'Algorithm Design by Kleinberg', Jon, Tardos, Éva [Addison-Wesley, 2005] (Hardcover) by Kleinberg

COURSE INSTRUCTOR: Prof. Jason Hartline (Fall), Prof. Konstantin Makarychev (Winter), Prof. Ming-Yang Kao (Spring)

COURSE COORDINATOR: Prof. Jason Hartline

HOMEWORK ASSIGNMENTS:

GRADES: