₹0 for students · Certificate · Advanced

Algorithms

13 lessons: recursion, dynamic programming, greedy, graphs, flows and NP-hardness

13 lessons · ~13 hours · 26-question final exam · pass mark 70%

About the course

What you’ll learn

Learn to design and analyse algorithms the way top university courses teach it, using Jeff Erickson's open textbook Algorithms from the University of Illinois. Master recursion and divide and conquer, backtracking, dynamic programming, greedy algorithms, graph search, depth-first search, minimum spanning trees, shortest paths, maximum flows and their applications, and NP-hardness. This is the thinking that technical interviews test. Each lesson has a study guide, the book chapter and a quiz. Pass every quiz and the final exam to earn a verifiable certificate.

Algorithm designRecursionDivide and conquerDynamic programmingGreedy algorithmsGraph algorithmsShortest pathsNetwork flowNP-completenessInterview preparation

Part of the career track: Computer Science Foundations

How the certificate works

  1. Read each lesson’s study guide, then the full lesson and any notebooks or exercises.
  2. Pass every lesson quiz with 70% or more.
  3. Pass the final exam: 26 questions in 40 minutes.
  4. Get a certificate with a public verification link, and add it to LinkedIn.

Syllabus

13 lessons in 3 parts

Recursion and dynamic programming

1
Introduction: What Is an Algorithm?
40 min · An algorithm is a precise, unambiguous, mechanically executable sequence of instructions.
2
Recursion and Divide and Conquer
60 min · Recursion reduces a problem to smaller instances plus a base case.
3
Backtracking
55 min · Backtracking makes a sequence of decisions recursively, undoing dead ends.
4
Dynamic Programming
70 min · Dynamic programming avoids recomputing repeated subproblems.
5
Greedy Algorithms
55 min · Greedy algorithms make the locally best choice without reconsidering.

Graph algorithms

6
Basic Graph Algorithms
60 min · Graphs: vertices and edges; directed or undirected; possibly weighted.
7
Depth-First Search
60 min · DFS goes deep before backtracking; pre- and post-order times reveal structure.
8
Minimum Spanning Trees
55 min · An MST connects every vertex with minimum total edge weight; unique if weights are distinct.
9
Shortest Paths
65 min · Single-source shortest paths form a shortest-path tree; negative cycles break the problem.
10
All-Pairs Shortest Paths
50 min · All-pairs shortest paths fill a V × V distance table.

Flows and hardness

11
Maximum Flows and Minimum Cuts
65 min · Flow networks: source, target, capacities; flow conservation at other vertices.
12
Applications of Flows and Cuts
60 min · Many problems reduce to maximum flow or minimum cut.
13
NP-Hardness
65 min · P: solvable in polynomial time; NP: 'yes' answers verifiable in polynomial time.

Course content is based on "Algorithms" by Jeff Erickson (https://jeffe.cs.illinois.edu/teaching/algorithms/), licensed under CC BY 4.0. Study guides and quiz questions are written by Vikosha. Certificates are issued by Vikosha and are not issued or endorsed by the author or the University of Illinois. Licence: Creative Commons Attribution 4.0 International (CC BY 4.0), Copyright Jeff Erickson. View the original curriculum