Teaching: Sriram Pemmaraju
Teaching
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 (Fall 2021): Design and Implementation of Algorithms
Past Teaching:
- Fall 2020: Distributed Systems and Algorithms
- Spring 2020: Topics in Computer Science II: Computational Epidemiology
- Fall 2019: Design and Analysis of Algorithms
- Spring 2019: Computing Research Ethics
- Fall 2018: Randomized Algorithms (Evaluations:
scores, comments).
- Spring 2018: Algorithms (Evaluations:
scores, comments).
- Spring 2018: Computing Research Ethics (Evaluations:
scores, comments).
- Fall 2017: Limits of Computation (Evaluations:
scores, comments).
- Spring 2017: Algorithms (Evaluations:
scores, comments).
- Spring 2017: Computing Research Ethics (Evaluations:
scores, comments).
- Fall 2016: Distributed Systems and Algorithms (Evaluations:
scores, comments).
- Spring 2016: Design and Analysis of Algorithms, (Evaluations:
scores, comments).
- Spring 2016: Computing Research Ethics (Evaluations:
scores, comments).
- Fall 2015: Algorithms (Evaluations:
scores, comments).
- Spring 2015: 22C:16 Computer Science I: Fundamentals
- Spring 2014: 22C:16 Computer Science I: Fundamentals
- Fall 2013: 22C:196 Topics in CS II: Randomized Algorithms
- Spring 2013: 22C:16 Computer Science I: Fundamentals
- Fall 2012 22C:131 Limits of Computation
- Fall 2012 First Year Seminar: An Algorithmic View of our Networked World
- Spring 2012: 22C:16 Computer Science I: Fundamentals
- Spring 2012: Social Networks: Models, Algorithms, and Applications
- Fall 2011 First Year Seminar: Algorithms: From Euclid to the IPad
- Spring 2011: 22C:16 Computer Science I: Fundamentals
- Spring 2010: 22C:31 Algorithms
- Fall 2009: 22C:31 Algorithms
- Spring 2009: 22C:80 Programming for Informatics
- Fall 2008: 22C:21 Computer Science II: Data Structures
- Fall 2008: 22C:196 Randomization in Computer Science
- Fall 2007: 22C:21 Computer Science II: Data Structures
- Spring 2007: 22C:21 Computer Science II: Data Structures
- Spring 2007: 22C:131 Limits of Computation
- Fall 06: 22C:196 Advanced Distributed Algorithms
- Spring 2006: 22C:131 Limits of Computation
- Spring 2006: 22C:21 Computer Science II: Data Structures
- Fall 2005: 22C:21 Computer Science II: Data Structures
- Spring 2005: 22C:137/22M:152 Theory of Graphs
- Fall 2004: 22C:21 Computer Science II: Data Structures
- Fall 2004: 22C:253 Algorithms in Discrete Optimization
- Fall 2003: 22C:30 Computer Science III
- Fall 2003: 22C:296 Seminar on Randomization
- Spring 2003: 22C:153 Design and Analysis of Algorithms
- Fall 2002: 22C:30 Computer Science III
- Fall 2002: 22C:253 Algorithms in Discrete Optimization
- Fall 2001: Computational Combinatorics, 22C:196
- Spring 2001: Algorithms, 22C:44