This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.
20 hours of valuable lecture videos
24 lectures + recitation videos
7 problems sets with solutions and exams with answer keys
Cormen, Thomas, Charles Leiserson, Ronald Rivest, and Clifford Stein. Introduction to Algorithms. 3rd ed. MIT Press, 2009. ISBN: 9780262033848.
For the student who finds books helpful, we also suggest:
Miller, Bradley, and David Ranum. Problem Solving with Algorithms and Data Structures Using Python. 2nd ed. Franklin, Beedle & Associates, 2011. ISBN: 9781590282571.
You will mostly use Math Mode in LaTeX, so pay particular attention to it in these resources; other topics (like document structure and compiling documents in various environments) are less relevant.
Kopka, Helmut, and Patrick Daly. A Guide to LaTeX: Document Preparation for Beginners and Advanced Users. 3rd ed. Addison-Wesley, 1999. ISBN: 9780201398250.
Prof. Erik Demaine
Prof. Srinivas Devadas
Introduction to Algorithms by Prof. Erik Demaine & Prof. Srinivas Devadas is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/index.htm.