MIT MIT-OCW
Introduction to Algorithms
Erik Demaine, Jason Ku, and Justin Solomon teach this MIT course on mathematically modeling computational problems and the algorithms, algorithmic paradigms, and data structures used to solve them. The course material includes lecture videos, lecture notes, quizzes with solutions, practice problems, and problem sets, emphasizing the link between algorithm design and the programming that implements it. Performance measurement and analysis techniques run throughout so you learn not just how an algorithm works but how to judge its efficiency. It is the standard undergraduate algorithms course at MIT and a common next step after an introductory programming class like 6.0001.