Tim Roughgarden

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.

Sort options

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

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).
Average: 1 (4 votes)

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming (Coursera)

The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).
Average: 5 (4 votes)

Graph Search, Shortest Paths, and Data Structures (Coursera)

The primary topics in this part of the specialization are: data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of breadth-first and depth-first search, connectivity, shortest paths), and their applications (ranging from deduplication to social network [...]
Average: 10 (4 votes)

Divide and Conquer, Sorting and Searching, and Randomized Algorithms (Coursera)

The primary topics in this part of the specialization are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), and randomized algorithms (QuickSort, contraction algorithm for min cuts).
Average: 7 (4 votes)

Algorithms: Design and Analysis, Part 2 (edX)

Self Paced
Algorithms: Design and Analysis, Part 2 (edX)
Course Auditing
Welcome to the self paced course, Algorithms: Design and Analysis, Part 2! Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This course is an introduction to algorithms for learners with at least a little programming [...]
Average: 10 (3 votes)