## Jeff Erickson's Teaching

I mostly teach graduate and advanced undergraduate courses in algorithms, which is why I thought I was qualified to write an algorithms textbook. All of these links used to work, honest.

- Spring 2024: CS 225: Data Structures, honors section [tentative]
- Fall 2023: CS/ECE 374: Algorithms & Models of Computation
- Spring 2023: CS 598: One-Dimensional Computational Topology
- Fall 2022: CS 473: Algorithms (tentative)
Spring 2022:CS 498: Computational Geometry- Fall 2021: CS/ECE 374: Algorithms & Models of Computation (co-taught with Dakshita Khurana)
- Spring 2021: CS 498: Computational Geometry
- Fall 2020: CS 598: One-Dimensional Computational Topology
- Spring 2020: CS 473: Algorithms
- Fall 2019: CS/ECE 374: Algorithms and Models of Computation
- Spring 2019: on sabbatical
- Fall 2018: on sabbatical
- Spring 2018: CS/ECE 374: Algorithms and Models of Computation
- Fall 2017: CS 598: One-Dimensional Computational Topology
- Spring 2017: CS 473: Algorithms
- Fall 2016: CS/ECE 374: Algorithms and Models of Computation (co-taught with Alex Kolla)
- Spring 2016: CS 473: Algorithms
- Fall 2015: CS 598: Advanced Data Structures
- Spring 2015: CS 473: Algorithms

(pilot for a revised elective class)- Fall 2014: “CS 374”: Algorithms and Models of Computation (second pilot)
- Spring 2014: “CS 374”: Algorithms and Models of Computation

(pilot for a new course, co-taught with Lenny Pitt)- Fall 2013: CS 473: Undergraduate Algorithms
- Spring 2013: CS 598: Computational Topology
- Fall 2012: CS 473: Undergraduate Algorithms
- Spring 2012: on sabbatical
- Fall 2011: on sabbatical
- Spring 2011: CS 598: Advanced Data Structures
- Fall 2010: CS 573: Graduate Algorithms
- Spring 2010: CS 473: Undergraduate Algorithms
- Fall 2009: CS 598: Computational Topology
- Spring 2009: CS 473: Undergraduate Algorithms
- Fall 2008: CS 573: Graduate Algorithms
- Spring 2008: CS 598: Computational Geometry
- Fall 2007: CS 173: Discrete Mathematical Structures (co-taught with Cinda Heeren)
- Spring 2007: CS 473G: Graduate Algorithms
- Fall 2006: CS 473U: Undergraduate Algorithms
- Spring 2006: CS 573: Topics in Analysis of Algorithms (Advanced data structures)
- Fall 2005: CS 473G: Graduate Algorithms
- Spring 2005: on sabbatical
- Fall 2004: on sabbatical
- Spring 2004: CS 473U: Undergraduate Algorithms
— In January 2004, UIUC renumbered all courses —- Fall 2003 - CS 473: Topics in Analysis of Algorithms (Algorithms for massive data)
- Spring 2003: CS 497: Concrete Models of Computation
- Fall 2002: CS 373: Combinatorial Algorithms
- Spring 2002: CS 497: Computational Geometry
- Fall 2001 - CS 473: Topics in Analysis of Algorithms (Dynamic data structures and online algorithms)
- Spring 2001: CS 373: Combinatorial Algorithms
- Fall 2000: CS 373: Combinatorial Algorithms
- Spring 2000: CS 497: Computational Geometry
- Fall 1999: CS 173: Discrete Mathematical Structures
- Spring 1999: CS 373: Combinatorial Algorithms
- Fall 1998: CS 497: Geometric Data Structures
## Related stuff

- I maintain a huge collection of lecture notes and other course material from various theoretical computer science courses, which includes a free electronic copy of my Algorithms textbook. (Or perhaps more accurately, you can find a paperback edition of my free electronic Algorithms textbook on Amazon.) The most recent release of these materials was in June 2019, but you can find more recent versions of almost everything on my recent course web pages.
- I have some very bright students!
- I'm occasionally in charge of the theory qualifying exam.

As for a picture, if it isn't worth a thousand words, the hell with it.- Ad Reinhardt, quoted by Edward Tufte

Visual Explanations (Graphics Press, 1996)

Give a man a fish, and he'll eat for a day.

Teach a man to fish, and he'll eat for a lifetime.

Teach a man toteach, and the whole village will eat forever,

but you'll be out of a job.— folklore