Algorithms & Advanced Data Structures 15-351/15-650/02-613 in Spring 2020
The objective of this course is to study general computational problems and their algorithms. We will focus on the principles used to design these algorithms, prove their correctness, and analyze their complexity. Efficient data structures will be discussed to support these algorithmic concepts. Topics include: Run time analysis, divide-and-conquer algorithms, dynamic programming algorithms, network flow algorithms, linear and integer programming, large-scale search algorithms and heuristics, efficient data storage and query, and NP-completeness. This course is not a programming course. Instead, it will focus on the design and analysis of algorithms for general classes of problems.
Course Materials
- Lecture slides, homework announcements, and discussions: Piazza [Signup Link]
- Submitting homework assignment: TBA
- Homework 1: hw1 [Click to download]
Course Syllabus
Textbook
- Algorithm Design, by Jon Kleinberg and Éva Tardos
Contact TAs
- Please use Piazza
All TA Office Hours will be held in GHC 7607
Mon 10:30am- 11:30am: Hosein Mohimani
Mon 6:00pm – 7:00pm: Mihir Mongia Tue 3:00pm – 4:00pm: Xiaodi Pan
Wed 3:00pm – 4:00pm: Jun Ho Yoon
Thu 1:00pm – 3:00pm: Matthew Wolff