Algorithms and Data Structures
A classic course from a Carnegie Mellon professor, taught with William's flair and a little science seasoning. Free for everyone.
Welcome back 👋
Go to the Studio
Meet Yun William Yu
Associate Professor of Computational Biology, Carnegie Mellon University
Yun William Yu is a professor in the Ray and Stephanie Lane Computational Biology Department at Carnegie Mellon, where he teaches algorithms and data structures to computer science and computational biology students.
What you'll learn
Week 1: Minimum spanning trees, heaps, and union-find Thursday, September 17
The opening problem of the course, and a first look at how a greedy choice can turn out to be provably right, plus the two data structures that make it fast.
Week 2: Shortest paths: BFS, DFS, and Dijkstra's Thursday, September 24
The two ways to walk a graph, and how to get somewhere fast when the steps are not all the same size.
Week 3: Divide and conquer as a technique Thursday, October 1
The trick of splitting a problem into pieces that recombine, and why it keeps working on problems that look nothing alike.
Week 4: Binary search trees, splay trees, and amortized analysis Thursday, October 8
Keeping data in a shape that answers the questions you plan to ask, and the accounting trick that explains why an occasionally slow operation is still cheap.
Week 5: Text search and suffix structures Thursday, October 22
Finding a pattern inside an enormous amount of text, which is the problem behind everything from a search box to a genome.
Week 6: Dynamic programming Thursday, October 29
Recognizing when today's answer is built out of yesterday's, which is most of the hard problems you will meet.
Week 7: Network flow Thursday, November 5
Modeling a problem as flow through a network, and the surprising range of things that turns out to be.
Week 8: NP-hardness and the limits of exact algorithms Thursday, November 12
Where the wall is real: which problems have no fast solution, and what to do when you meet one anyway.
What makes it different
A classic, taught by someone who loves it
Algorithms is one of the oldest courses in computer science, and many versions of it are wooden and stale. Take it live with William and soak up the joy he has for teaching this timeless subject.
A little science seasoning
William is a computational biologist, so the problems come from real science rather than from a whiteboard interview. You get the classic material with examples that actually went somewhere.
Free, and staying free
Every session streams live and is recorded, open to anyone. No membership, no paywall, no catch.
This course is free. Membership is how you go deeper.
Every session here is open to everyone, with no paywall. Membership is what unlocks the rest of Philomath, and one membership covers all of it.
Everything unlocked
Every course, every companion e-book, every cohort. One membership, not one per course.
Course companion e-books
Programming for Lovers and Biological Modeling are free to take. Membership unlocks the companion e-book for each.
Cohort access and certificates
Full access to the Vibe Coding Studio cohort, and a certificate when you ship what you built.
Member Discord
A community of people who love to learn, plus direct access to instructors.
More courses on the way
Great Ideas in Computational Biology arrives in fall 2026, with more to follow.
One membership, many instructors
More teachers join over time, and your membership covers all of it.
One membership unlocks it all.
- Live Studio lectures, recorded for members
- Course companion e-books
- Member Discord
- Everything in Monthly
- Full Vibe Coding Studio cohort access
- Bring your own project, earn a certificate
- Programming for Lovers project cohorts
- Everything in the 6-Month plan
- A full year of access
- Best price, billed yearly
Secure checkout through Memberful. Cancel anytime, and everything unlocks the moment you join.