About this Course
4.8
1,063 ratings
119 reviews

Course 2 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. 18 hours to complete

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

English

Subtitles: English

Skills you will gain

GraphsData StructureAlgorithmsHash Table

Course 2 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. 18 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

Breadth-first and depth-first search; computing strong components; applications....
9 videos (Total 162 min), 4 readings, 2 quizzes
9 videos
Breadth-First Search (BFS): The Basics14m
BFS and Shortest Paths7m
BFS and Undirected Connectivity13m
Depth-First Search (DFS): The Basics7m
Topological Sort21m
Computing Strong Components: The Algorithm29m
Computing Strong Components: The Analysis26m
Structure of the Web [Optional]18m
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
2 hours to complete

Week 2

Dijkstra's shortest-path algorithm....
4 videos (Total 79 min), 2 readings, 2 quizzes
4 videos
Dijkstra's Algorithm: Examples12m
Correctness of Dijkstra's Algorithm19m
Dijkstra's Algorithm: Implementation and Running Time26m
2 readings
Week 2 Overview10m
Optional Theory Problems (Week 2)10m
2 practice exercises
Problem Set #210m
Programming Assignment #22m
Week
3
3 hours to complete

Week 3

Heaps; balanced binary search trees....
9 videos (Total 142 min), 1 reading, 2 quizzes
9 videos
Heaps: Operations and Applications18m
Heaps: Implementation Details [Advanced - Optional]20m
Balanced Search Trees: Operations and Applications10m
Binary Search Tree Basics, Part I13m
Binary Search Tree Basics, Part II30m
Red-Black Trees21m
Rotations [Advanced - Optional]7m
Insertion in a Red-Black Tree [Advanced]14m
1 reading
Week 3 Overview10m
2 practice exercises
Problem Set #310m
Programming Assignment #32m
Week
4
4 hours to complete

Week 4

Hashing; bloom filters....
9 videos (Total 171 min), 3 readings, 3 quizzes
9 videos
Hash Tables: Implementation Details, Part I18m
Hash Tables: Implementation Details, Part II22m
Pathological Data Sets and Universal Hashing Motivation21m
Universal Hashing: Definition and Example [Advanced - Optional]25m
Universal Hashing: Analysis of Chaining [Advanced - Optional]18m
Hash Table Performance with Open Addressing [Advanced - Optional]15m
Bloom Filters: The Basics15m
Bloom Filters: Heuristic Analysis13m
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
119 ReviewsChevron Right

38%

started a new career after completing these courses

45%

got a tangible career benefit from this course

Top Reviews

By JAOct 16th 2018

Interesting problems and explanations. But mathematical analysis is going off of my mind. It has very good explanation. Not sure, whether I can carry forward that knowledge or not.

By HCNov 12th 2017

Focused on principles and motivations behind algorithms. You might forget an algorithm you learned, but you will definitely be able to come up with one quickly after this course.

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.