Lecture notes, lecture videos, slides, lab handouts, homeworks, and exams are available for several past semesters of algorithms classes at Illinois. The TV emoji 📺 indicates classes with freely available lecture videos.
It has sadly become much less common for instructors to maintain course materials on the open web. Most instructors (or perhaps more accurately, most universities) either lock their course materials inside walled gardens (“learning management systems”) or simply delete them when the course is over. Here are some useful exceptions.
Coursera, EdX and Udacity all offer complete algorithms courses, with videos, readings, and automatically graded exercises. By necessity, these courses tend to focus more on implementation and less on proofs and open-ended design than either CS 374 or CS 473.
Udacity MOOCs are always freely available.
Courses from Georgia Tech's Online Master of Computer Science program:
Algorithms,
taught by Deepak Phatak, Nagesh Karmali, Ajit Diwan, and Ganesh Ramakrishnan at IIT Bombay
Most Coursera classes require a $49/month subscription to access. (Pfft. Please. One of the O's in "MOOC" is supposed to stand for "Open"!) But there are a few exceptions:
Algorithms Part 1 and Part 2, taught by Robert Sedgewick and Kevin Wayne, loosely based on undergraduate algorithms classes at Princeton
Analysis of Algorithms, taught by Robert Sedgewick, loosely based on a more advanced class at Princeton
The Coursera algorithms courses from Stanford and UCSD are avialable for free on EdX.
Khan Academy also hosts a free series of algorithms tutorials by Tom Cormen and Devin Balkcom.
Recommended:Introduction to Theoretical Computer Science by Boaz Barak. Non-standard but compelling introdution, using models of computation based on Boolean circuits instead of finite-state machines.
For students who prefer an offline reference made of bleached and stained cellulose, we recommend the following textbooks. The campus bookstore probably doesn't have them, but you can find them cheaper online anyway. And they're all in the library. You remember that big brick building with the coffee shop and the study tables in it? Yeah, believe it or not, they have actual books in the basement!
You can buy paper copies of Jeff's book on Amazon, if you're into that sort of thing.
Recommended: Algorithms by Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani (McGraw-Hill, 2006). Based on the undergraduate algorithms course at Berkeley. Drafts of individual chapters (0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10) are freely available. (Thanks, Umesh!)
Introduction to Algorithms (4th edition) by Tom Cormen, Charles Leiserson, Ron Rivest, and Cliff Stein (MIT Press/McGraw-Hill, 2022). Based on algorithms classes at MIT, and thick enough tostun an ox. A significant fraction of (earlier editions of) this book has been transcribed into Wikipedia. Remarkably inexpensive for a 1300-page full-color textbook.
There are several other algorithms and theory of computation textbooks I'd love to recommend, but not at the ridiculous prices that their publishers charge. Shame on you, Pearson. Fuck you, Cengage.
Review
For review of prerequisite material, we strongly recommend the following online resources. (This stuff is also covered in several dead-tree textbooks, but really, why bother?)
...which, at least at the advanced levels, are really algorithm design contests where you also happen to write some code. (But do remember that algorithms classes and programming contests have different goals, and therefore different expectations.)