Algorithms, Part I
Princeton's algorithms course on Coursera, taught by Robert Sedgewick and Kevin Wayne, covering union-find, analysis of algorithms, stacks and queues, elementary sorts, mergesort, quicksort, priority queues, symbol tables, balanced search trees, geometric search and hash tables, with ten demanding Java programming assignments. Every feature is free. It suits engineers and students who want a rigorous university-level foundation rather than interview shortcuts.
4.9/5 (12,147 reviews)
Coursera · Sept 2026
1,469,808 enrolled
Coursera · Sept 2026
13 modules, ~5 weeks at 10 h/week
Coursera · Sept 2026
10 (Java)
Coursera · Sept 2026
Free (all features)
Coursera · Sept 2026
No (Princeton policy)
Coursera · Sept 2026
Course
Interview Prep
Princeton University
6 weeks
Intermediate
Free
What it is
A university course from Princeton, based on the textbook Algorithms, Fourth Edition by the same authors. As of September 2026 the Coursera page shows about 1.47 million learners enrolled and a 4.9 rating from about 12,100 reviews. It is marked intermediate level and estimates 5 weeks at 10 hours a week, across 13 modules.
All features are free, including the graded assignments. There is no paid upgrade and, by Princeton policy, no certificate.
What it covers
The modules, in order:
- Course introduction
- Union-find: the dynamic connectivity problem and quick-find, quick-union and weighted implementations
- Analysis of algorithms: measuring running times experimentally, mathematical models, order-of-growth classifications and memory
- Stacks and queues: linked-list and resizing-array implementations, generics and iterators
- Elementary sorts: selection, insertion and shellsort, shuffling and convex hull
- Mergesort: top-down and bottom-up, the lower bound for comparison sorting, stability
- Quicksort: randomised quicksort, quickselect and duplicate keys
- Priority queues: binary heaps and heapsort
- Elementary symbol tables: binary search and binary search trees
- Balanced search trees: 2-3 trees and left-leaning red-black trees
- Geometric applications of BSTs: range search, kd-trees and interval search
- Hash tables: hash functions, separate chaining and linear probing
- Symbol table applications: sets, dictionaries, indexing and sparse vectors
Part II, a separate course, covers graphs and strings.
The assignments are the value
There are ten programming assignments in Java, specified precisely and graded automatically. They include Percolation (union-find), Deques and Randomized Queues, Collinear Points (sorting), 8 Puzzle (priority queues) and Kd-Trees. The course also includes weekly exercises, interview-style questions and a final exam. They are hard, and they give the closest thing to real feedback that a free course offers. Skipping them turns the course into a lecture series.
Before you start
You need to be comfortable programming in some language. The assignments use Java, but learners often report that you do not need deep Java knowledge, only the basics. Some comfort with high-school maths helps for the analysis lectures.
How it compares with interview preparation
Interview courses teach you to recognise and apply patterns. This course teaches why an algorithm has the complexity it has and how to implement it well, which is more than any interview strictly requires and produces a much sturdier understanding. It does not cover graph algorithms (that is Part II) or interview patterns such as sliding window and two pointers, so pair it with a problem list afterwards.
How to use it well
- Watch the lectures at normal speed and pause to predict what comes next.
- Start each assignment early in its week; most people need several submissions.
- Read the assignment FAQ and checklist before coding.
- Follow Part I with Part II for graphs, then move to NeetCode 150 or a pattern course for interview practice.
Best for: engineers who want the theory properly, and students who want a rigorous free algorithms course.
Ready to start?
Opens on Princeton University in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.