Teaching: Sriram Pemmaraju


At the undergraduate level, I tend to teach courses on CSI, data structures, discrete math, algorithms, and theory of computation. At the graduate level, I teach courses in algorithms, approximation algorithms, randomization, graph theory, complexity theory and distributed algorithms.

Course evaluations are now done online at the University of Iowa and so it has become easy to share evaluations. If you are a student trying to decide whether to take my class, you're welcome to take a look at my recent course evaluations before making up your mind.

Current Teaching:: Limits of Computation

Past Teaching: