This course presents fundamental ideas and techniques of modern algorithm design and analysis. After completing this course, students should be able to formally analyze and design efficient algorithms for a variety of computational problems. Topics covered include Greedy Algorithms, Dynamic Programming, Network Flow, NP-Completeness, Linear Programming, Network Algorithms, as well as probabilistic and approximate algorithms.
| Spring | Summer | Fall | ||
|---|---|---|---|---|
| (Session 1) | (Session 2) | |||
| 2023 | ||||
| 2022 | ||||
| 2021 | ||||
| 2020 | ||||
| 2019 | ||||
| 2018 | ||||
| 2017 | ||||
| 2016 | ||||
| 2015 | ||||
| 2014 | ||||
| 2013 | ||||
| 2012 | ||||
| 2011 | ||||
| 2010 | ||||
| 2009 | ||||
| 2008 | ||||
| 2007 | ||||
| 2006 | ||||
| 2005 | ||||
| 2004 | ||||
| 2003 | ||||
| 2002 | ||||
| 2001 | ||||
| 2000 | ||||
| 1999 | ||||
| 1998 | ||||