In principle, all of theoretical computer science. In practice, a subset that includes primarily parts of computational geometry, but also optimization problems on graphs and the like and polynomial time computability of equilibria in games and some economic models.
A selection of some papers that I have placed online should give a better idea. For a more complete list, check out DBLP's list of my publications.
In Spring 2019, I am teaching Design and Implementation of Algorithms
Courses I have taught since Spring 2005:
3:00--4:30 pm Monday, and 1:30--3:00 pm Wednesday.Kasturi Varadarajan ( firstname-lastname AT uiowa DOT edu )