If you're interested in Data Structures classes, I also strongly recommend Keith Schwartz's CS166. Unfortunately there are no public video recordings afaik, but slides and handouts are available, and also of exceptional quality: <a href="http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/" rel="nofollow">http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/</a>
This is a really interesting class, and Erik Demaine is a top notch lecturer. If you're interested in algorithms I can easily recommend this class.<p>This isn't intro material though, and most of it is fairly niche in terms of usage. Your average programmer probably won't use any of this knowledge.<p>The most generally useful bits I remember were on the different types of persistence in data structures, which is legitimately cool and occasionally useful, especially in purely fuctional programming.<p>I also found the link-cut trees to be about the most interesting data structure I know of, they're cool as hell. You start with a pretty simple DS (splay trees), add some interesting analysis that's also related to heavy-light decomposition, and extend them to do something impressive. It's just a fun mix of analysis and implementation towards a goal. The moment it clicked for me was one of those once-a-year satisfaction events.<p>If any of that somehow talked you into doing this class, I'd recommend the Intro to Algorithms class also in MIT OCW first, at least one of the years is partially taught by Erik Demaine as well.