About this Course
4.8
591 ratings
68 reviews
Specialization

Course 3 of 4 in the

100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 21 hours to complete

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

English

Subtitles: English

Skills you will gain

Spanning TreeAlgorithmsDynamic ProgrammingGreedy Algorithm
Specialization

Course 3 of 4 in the

100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 21 hours to complete

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

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
Hours to complete
4 hours to complete

Week 1

Two motivating applications; selected review; introduction to greedy algorithms; a scheduling application; Prim's MST algorithm....
Reading
16 videos (Total 160 min), 4 readings, 2 quizzes
Video16 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
Reading4 readings
Week 1 Overview10m
Overview, Resources, and Policies10m
Lecture slides10m
Optional Theory Problems (Week 1)10m
Quiz2 practice exercises
Problem Set #110m
Programming Assignment #16m
Week
2
Hours to complete
4 hours to complete

Week 2

Kruskal's MST algorithm and applications to clustering; advanced union-find (optional). ...
Reading
16 videos (Total 188 min), 2 readings, 2 quizzes
Video16 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
Reading2 readings
Week 2 Overview10m
Optional Theory Problems (Week 2)10m
Quiz2 practice exercises
Problem Set #210m
Programming Assignment #24m
Week
3
Hours to complete
2 hours to complete

Week 3

Huffman codes; introduction to dynamic programming....
Reading
11 videos (Total 105 min), 1 reading, 2 quizzes
Video11 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
Reading1 reading
Week 3 Overview10m
Quiz2 practice exercises
Problem Set #310m
Programming Assignment #36m
Week
4
Hours to complete
3 hours to complete

Week 4

Advanced dynamic programming: the knapsack problem, sequence alignment, and optimal binary search trees....
Reading
10 videos (Total 107 min), 3 readings, 3 quizzes
Video10 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
Reading3 readings
Week 4 Overview10m
Optional Theory Problems (Week 4)10m
Info and FAQ for final exam10m
Quiz3 practice exercises
Problem Set #410m
Programming Assignment #44m
Final Exam20m
4.8
68 ReviewsChevron Right
Career direction

67%

started a new career after completing these courses
Career Benefit

83%

got a tangible career benefit from this course

Top Reviews

By JPOct 20th 2018

Great learning experience!!!\n\nI love dynamic p the most.\n\nAssignment 4 is so challenging that it takes me a week to finish the program and debug it!!!

By JFJan 14th 2018

I love Tim's excitement for algorithms. He really stands out as a quality teacher in his selection of content, explanations and enthusiasm.

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.