YouTube Tools

MIT 6.046J Design and Analysis of Algorithms: study plan and how long it takes

The MIT OpenCourseWare playlist is 34 videos and 39.5 hours long. Here's how long it takes at different paces, a week-by-week schedule built from the real videos, and a planner that turns it into your own daily plan.

34 videos · 39.5 hours · MIT OpenCourseWare

MIT 6.046J is the follow-on to 6.006 and covers advanced algorithm design: divide and conquer (including FFT), amortized analysis, randomization, augmented data structures, greedy algorithms and MST, network flow and matching, NP-completeness, approximation and fixed-parameter algorithms, distributed algorithms, cryptography and cache-oblivious algorithms.

The playlist mixes lectures and recitations from Spring 2015, with lecture notes and problem sets on MIT OpenCourseWare.

Who it's for: Students who have finished an introductory algorithms course like MIT 6.006 and are comfortable with proofs.

How long does it take?

The full playlist is 39.5 hours across 34 videos. Here's roughly how many days that is at different daily watch times and speeds, counting video time only:

Days to finish the playlist by daily watch time and playback speed
Daily timeAt 1xAt 1.5xAt 2x
30 min a day79 days53 days40 days
1 h a day40 days27 days20 days
2 h a day20 days14 days10 days

Make your own schedule

The playlist link is already filled in. Press Plan, set how much time you have each day and your speed, and you'll get a day-by-day schedule with a finish date and a calendar file. It reads the live playlist, so new videos are included.

Week-by-week schedule

A sample plan at 1 hour a day and normal speed, using whole videos so none is split across days. That's 5 weeks in total. For a different pace, start date or speed, use the planner above.

Week 1Videos 1–7 · 8h 6m
  1. Day 1 · 1h 24m

    • 11. Course Overview, Interval Scheduling1h 24m
  2. Day 2 · 1h 21m

    • 22. Divide & Conquer: Convex Hull, Median Finding1h 21m
  3. Day 3 · 54m

    • 3R1. Matrix Multiplication and the Master Theorem54m
  4. Day 4 · 1h 21m

    • 43. Divide & Conquer: FFT1h 21m
  5. Day 5 · 31m

    • 5R2. 2-3 Trees and B-Trees31m
  6. Day 6 · 1h 20m

    • 64. Divide & Conquer: van Emde Boas Trees1h 20m
  7. Day 7 · 1h 16m

    • 75. Amortization: Amortized Analysis1h 16m
Week 2Videos 8–14 · 8h 21m
  1. Day 8 · 1h 22m

    • 86. Randomization: Matrix Multiply, Quicksort1h 22m
  2. Day 9 · 40m

    • 9R4. Randomized Select and Randomized Quicksort40m
  3. Day 10 · 1h 21m

    • 107. Randomization: Skip Lists1h 21m
  4. Day 11 · 1h 22m

    • 118. Randomization: Universal & Perfect Hashing1h 22m
  5. Day 12 · 52m

    • 12R5. Dynamic Programming52m
  6. Day 13 · 1h 25m

    • 139. Augmentation: Range Trees1h 25m
  7. Day 14 · 1h 20m

    • 1410. Dynamic Programming: Advanced DP1h 20m
Week 3Videos 15–21 · 8h 6m
  1. Day 15 · 1h 22m

    • 1511. Dynamic Programming: All-Pairs Shortest Paths1h 22m
  2. Day 16 · 1h 22m

    • 1612. Greedy Algorithms: Minimum Spanning Tree1h 22m
  3. Day 17 · 22m

    • 17R6. Greedy Algorithms22m
  4. Day 18 · 1h 23m

    • 1813. Incremental Improvement: Max Flow, Min Cut1h 23m
  5. Day 19 · 1h 23m

    • 1914. Incremental Improvement: Matching1h 23m
  6. Day 20 · 51m

    • 20R7. Network Flow and Matching51m
  7. Day 21 · 1h 22m

    • 2115. Linear Programming: LP, reductions, Simplex1h 22m
Week 4Videos 22–28 · 7h 52m
  1. Day 22 · 1h 25m

    • 2216. Complexity: P, NP, NP-completeness, Reductions1h 25m
  2. Day 23 · 46m

    • 23R8. NP-Complete Problems46m
  3. Day 24 · 1h 21m

    • 2417. Complexity: Approximation Algorithms1h 21m
  4. Day 25 · 1h 18m

    • 2518. Complexity: Fixed-Parameter Algorithms1h 18m
  5. Day 26 · 32m

    • 26R9. Approximation Algorithms: Traveling Salesman Problem32m
  6. Day 27 · 1h 18m

    • 2719. Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees1h 18m
  7. Day 28 · 1h 12m

    • 2820. Asynchronous Distributed Algorithms: Shortest-Paths Spanning Trees1h 12m
Week 5Videos 29–34 · 7h 4m
  1. Day 29 · 50m

    • 29R10. Distributed Algorithms50m
  2. Day 30 · 1h 22m

    • 3021. Cryptography: Hash Functions1h 22m
  3. Day 31 · 1h 24m

    • 3122. Cryptography: Encryption1h 24m
  4. Day 32 · 50m

    • 32R11. Cryptography: More Primitives50m
  5. Day 33 · 1h 20m

    • 3323. Cache-Oblivious Algorithms: Medians & Matrices1h 20m
  6. Day 34 · 1h 18m

    • 3424. Cache-Oblivious Algorithms: Searching & Sorting1h 18m

Tips for finishing

  • Plan two or three videos a week and work through the problem sets on OCW; the maths is the real time cost.
  • Do MIT 6.006 first. 6.046 assumes you know its data structures and graph algorithms.