About this Course

35,051 recent views

Learner Career Outcomes

62%

started a new career after completing these courses

50%

got a tangible career benefit from this course

12%

got a pay increase or promotion
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Course 4 of 4 in the
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level
Approx. 14 hours to complete
English
Subtitles: French, Portuguese (Brazilian), Russian, English, Spanish

Skills you will gain

Data StructureAlgorithmsNp-CompletenessDynamic Programming

Learner Career Outcomes

62%

started a new career after completing these courses

50%

got a tangible career benefit from this course

12%

got a pay increase or promotion
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Course 4 of 4 in the
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level
Approx. 14 hours to complete
English
Subtitles: French, Portuguese (Brazilian), Russian, English, Spanish

Instructor

Offered by

Placeholder

Stanford University

Syllabus - What you will learn from this course

Week
1

Week 1

4 hours to complete

Week 1

4 hours to complete
14 videos (Total 151 min), 4 readings, 2 quizzes
14 videos
Optimal Substructure10m
The Basic Algorithm I8m
The Basic Algorithm II10m
Detecting Negative Cycles9m
A Space Optimization12m
Internet Routing I [Optional]11m
Internet Routing II [Optional]6m
Problem Definition7m
Optimal Substructure12m
The Floyd-Warshall Algorithm13m
A Reweighting Technique14m
Johnson's Algorithm I11m
Johnson's Algorithm II11m
4 readings
Week 1 Overview10m
Overview, Resources, and Policies10m
Lecture Slides10m
Optional Theory Problems (Week 1)10m
2 practice exercises
Problem Set #130m
Programming Assignment #130m
Week
2

Week 2

3 hours to complete

Week 2

3 hours to complete
11 videos (Total 122 min), 2 readings, 2 quizzes
11 videos
Reductions and Completeness13m
Definition and Interpretation of NP-Completeness I10m
Definition and Interpretation of NP-Completeness II7m
The P vs. NP Question9m
Algorithmic Approaches to NP-Complete Problems12m
The Vertex Cover Problem8m
Smarter Search for Vertex Cover I9m
Smarter Search for Vertex Cover II7m
The Traveling Salesman Problem14m
A Dynamic Programming Algorithm for TSP12m
2 readings
Week 2 Overview10m
Optional Theory Problems (Week 2)10m
2 practice exercises
Problem Set #230m
Programming Assignment #230m
Week
3

Week 3

2 hours to complete

Week 3

2 hours to complete
6 videos (Total 68 min), 1 reading, 2 quizzes
6 videos
Analysis of a Greedy Knapsack Heuristic I7m
Analysis of a Greedy Knapsack Heuristic II9m
A Dynamic Programming Heuristic for Knapsack11m
Knapsack via Dynamic Programming, Revisited10m
Ananysis of Dynamic Programming Heuristic15m
1 reading
Week 3 Overview10m
2 practice exercises
Problem Set #330m
Programming Assignment #330m
Week
4

Week 4

4 hours to complete

Week 4

4 hours to complete
11 videos (Total 124 min), 3 readings, 3 quizzes
11 videos
The Maximum Cut Problem II9m
Principles of Local Search I8m
Principles of Local Search II10m
The 2-SAT Problem14m
Random Walks on a Line16m
Analysis of Papadimitriou's Algorithm14m
Stable Matching [Optional]15m
Matchings, Flows, and Braess's Paradox [Optional]13m
Linear Programming and Beyond [Optional]11m
Epilogue1m
3 readings
Week 4 Overview10m
Optional Theory Problems (Week 4)10m
Info and FAQ for final exam10m
3 practice exercises
Problem Set #430m
Programming Assignment #430m
Final Exam30m

Reviews

TOP REVIEWS FROM SHORTEST PATHS REVISITED, NP-COMPLETE PROBLEMS AND WHAT TO DO ABOUT THEM

View all reviews

About the Algorithms Specialization

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This specialization is an introduction to algorithms for learners with at least a little programming experience. The specialization is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this specialization, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists. About the instructor: Tim Roughgarden has been a professor in the Computer Science Department at Stanford University since 2004. He has taught and published extensively on the subject of algorithms and their applications....
Algorithms

Frequently Asked Questions

More questions? Visit the Learner Help Center.