About this Course
23,695 recent views

Course 4 of 4 in the

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 19 hours to complete

Suggested: 4 weeks of study, 4-8 hours/week...

English

Subtitles: English

Skills you will gain

Data StructureAlgorithmsNp-CompletenessDynamic Programming
Learners taking this Course are
  • Machine Learning Engineers
  • Tutors
  • Data Scientists
  • Software Engineers
  • Data Engineers

Course 4 of 4 in the

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 19 hours to complete

Suggested: 4 weeks of study, 4-8 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
3 hours to complete

Week 1

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 #110m
Programming Assignment #12m
Week
2
3 hours to complete

Week 2

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 #210m
Programming Assignment #22m
Week
3
2 hours to complete

Week 3

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 #310m
Programming Assignment #32m
Week
4
3 hours to complete

Week 4

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 #410m
Programming Assignment #42m
Final Exam20m
4.8
60 ReviewsChevron Right

62%

started a new career after completing these courses

54%

got a tangible career benefit from this course

14%

got a pay increase or promotion

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

By AAFeb 28th 2017

This challenging course improves understanding of algorithms and is intellectually stimulating. I learnt the theory behind algorithms and how they are applied to solve real world problems.

By ASAug 23rd 2018

This is the most challenging course in this specialization. Assignments as well as test questions require good amount of thinking.\n\nOne of the best courses I did on Coursera.

Instructor

Avatar

Tim Roughgarden

Professor
Computer Science

About Stanford University

The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is an American private research university located in Stanford, California on an 8,180-acre (3,310 ha) campus near Palo Alto, California, United States....

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

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.