Tim Roughgarden

 

 


 

Tim Roughgarden is an Associate Professor of Computer Science and (by courtesy) Management Science and Engineering at Stanford University, where he holds the Chambers Faculty Scholar development chair. At Stanford, he has taught the Design and Analysis of Algorithms course for the past eight years.


More info: http://theory.stanford.edu/~tim/




Customize your search:

E.g., 2017-01-23
E.g., 2017-01-23
E.g., 2017-01-23
Jan 23rd 2017

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: 5 (2 votes)
Jan 16th 2017

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: 6.5 (2 votes)
Jan 16th 2017

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 analysis).

Average: 5 (1 vote)
Jan 16th 2017

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: 3 (2 votes)
Oct 3rd 2016

In this course you will learn several fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures, randomized algorithms, and more.

Average: 6.4 (5 votes)
Oct 3rd 2016

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 experience. The course is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this course, you will have a greater mastery of algorithms than almost anyone without a graduate degree in the subject.

No votes yet