Opening the iTunes Store.If iTunes doesn't open, click the iTunes application icon in your Dock or on your Windows desktop.Progress Indicator
Opening the iBooks Store.If iBooks doesn't open, click the iBooks app in your Dock.Progress Indicator

iTunes is the world's easiest way to organize and add to your digital media collection.

We are unable to find iTunes on your computer. To download from the iTunes Store, get iTunes now.

Already have iTunes? Click I Have iTunes to open it now.

I Have iTunes Free Download
iTunes for Mac + PC

Introduction to Algorithms

by MIT

To subscribe to an iTunes U course, click View in iTunes.

Course Description

This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing. 

The textbook for this course is: Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms. 2nd ed. Cambridge, MA: MIT Press. ISBN: 0262032937.

This content is provided under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 license.

Customer Reviews

Great content

The content of is course is very good but the video could def use some polishing (Would HD be too much to ask?). Aside from the poor video(I ended up listening to the audio and reading the slides instead of watching it), i was genuinely impressed. I am currently a Computer Science PhD candidate and I used the material to augment my algorithms course this semester (mostly to review prerequisite topics). I thought the professors laid out the topic very well and covered everything very well. I definitely recommend it to anyone that is studying BS or MS level algorithms.

This is the holy grail of Algorithms

If you have any interest in learning Algorithms the right way this is one of the best resources on the planet.

Every word spoken by Eric Demaine has so much information, and hidden gems its unbelievable.

You can read many algorithm books, take note of the end result of the running time analysis of the various algorithms, and the efficiency of the data structures. However unless you understand how to derive these performance metrics you will not be able to develop your own versions of these algorithms and be confident about the performance.

My suggestion to ppl interested would be to do this course as if they were at MIT. Watch 2-3 lectures a week, take notes and DO THE PROBLEM SETS! I find that most of the problem sets have helped me right better code for the analytics team at my full time job!

Bad video quality

I usually treat these video like actual course, so I take note and do exercises after finishing a lecture. However, due to the extremely low quality of the video it's quite difficult take some good notes. I need to enlarge and shrink the screen to see what the professor wrote. Also I only enjoyed the sorting algorithms but not too concern about the derivation (since that's all i need to digest in order to implement certain methods in my code anyway). The derivation part is just way too tedious. In fact sometime I wasn't sure if the professor knows what he's talking about.