About this Course
43,947 recent views

Course 3 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. 22 hours to complete

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

English

Subtitles: English

Skills you will gain

Spanning TreeAlgorithmsDynamic ProgrammingGreedy Algorithm
Learners taking this Course are
  • Machine Learning Engineers
  • Software Engineers
  • Data Scientists
  • Tutors
  • Data Engineers

Course 3 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. 22 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
4 hours to complete

Week 1

16 videos (Total 160 min), 4 readings, 2 quizzes
16 videos
Application: Sequence Alignment8m
Introduction to Greedy Algorithms12m
Application: Optimal Caching10m
Problem Definition5m
A Greedy Algorithm12m
Correctness Proof - Part I6m
Correctness Proof - Part II4m
Handling Ties [Advanced - Optional]7m
MST Problem Definition11m
Prim's MST Algorithm7m
Correctness Proof I15m
Correctness Proof II8m
Proof of Cut Property [Advanced - Optional]11m
Fast Implementation I14m
Fast Implementation II9m
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 #16m
Week
2
4 hours to complete

Week 2

16 videos (Total 188 min), 2 readings, 2 quizzes
16 videos
Correctness of Kruskal's Algorithm9m
Implementing Kruskal's Algorithm via Union-Find I9m
Implementing Kruskal's Algorithm via Union-Find II13m
MSTs: State-of-the-Art and Open Questions [Advanced - Optional]9m
Application to Clustering11m
Correctness of Clustering Algorithm9m
Lazy Unions [Advanced - Optional]10m
Union-by-Rank [Advanced - Optional]12m
Analysis of Union-by-Rank [Advanced - Optional]14m
Path Compression [Advanced - Optional]14m
Path Compression: The Hopcroft-Ullman Analysis I [Advanced - Optional]9m
Path Compression: The Hopcroft-Ullman Analysis II [Advanced - Optional]11m
The Ackermann Function [Advanced - Optional]16m
Path Compression: Tarjan's Analysis I [Advanced - Optional]14m
Path Compression: Tarjan's Analysis II [Advanced - Optional]13m
2 readings
Week 2 Overview10m
Optional Theory Problems (Week 2)10m
2 practice exercises
Problem Set #210m
Programming Assignment #24m
Week
3
2 hours to complete

Week 3

11 videos (Total 105 min), 1 reading, 2 quizzes
11 videos
Problem Definition10m
A Greedy Algorithm16m
A More Complex Example4m
Correctness Proof I10m
Correctness Proof II12m
Introduction: Weighted Independent Sets in Path Graphs7m
WIS in Path Graphs: Optimal Substructure9m
WIS in Path Graphs: A Linear-Time Algorithm9m
WIS in Path Graphs: A Reconstruction Algorithm6m
Principles of Dynamic Programming7m
1 reading
Week 3 Overview10m
2 practice exercises
Problem Set #310m
Programming Assignment #36m
Week
4
3 hours to complete

Week 4

10 videos (Total 107 min), 3 readings, 3 quizzes
10 videos
A Dynamic Programming Algorithm9m
Example [Review - Optional]12m
Optimal Substructure13m
A Dynamic Programming Algorithm12m
Problem Definition12m
Optimal Substructure9m
Proof of Optimal Substructure6m
A Dynamic Programming Algorithm I9m
A Dynamic Programming Algorithm II9m
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 #44m
Final Exam20m
4.8
92 ReviewsChevron Right

38%

started a new career after completing these courses

45%

got a tangible career benefit from this course

14%

got a pay increase or promotion

Top reviews from Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

By SWFeb 25th 2019

One of the best courses to make a student learn DP in a way that enables him/her to think of the subproblems and way to proceed to solving these subproblems. Definitely helpful for me. Thanks.

By NTJun 14th 2019

As usual with Stanford and Tim Roughgarden, a high-quality course with an informal style but a lot of rigor. The assignments are challenging but doable. Highly recommended.

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.