Tim Roughgarden is a Professor of Computer Science and (by courtesy) Management Science and Engineering at Stanford University. He received a BS in Applied Mathematics from Stanford in 1997, and a PhD in Computer Science from Cornell in 2002. His research interests include the many connections between computer science and economics, as well as the design, analysis, applications, and limitations of algorithms. For his research, he has been awarded the ACM Grace Murray Hopper Award, the Presidential Early Career Award for Scientists and Engineers (PECASE), the Kalai Prize in Computer Science and Game Theory, the Shapley Lecturership of the Game Theory Society, the Social Choice and Welfare Prize, INFORM’s Optimization Prize for Young Researchers, the Mathematical Programming Society’s Tucker Prize, the EATCS-SIGACT Gödel Prize, and a Guggenheim Fellowship.


Algorithms: Design and Analysis, Part 1

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

Graph Search, Shortest Paths, and Data Structures

Algorithms: Design and Analysis, Part 2

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming