I've been working on a little side project that teaches, using a simple interactive UI, some basic CS algorithms and data structures. You can check it out at http://algorithms.openmymind.net/.
I tend to think that this is fundamental stuff that programmers should know. Especially the data structures. Too many developers don't understand how ArrayLists and dynamic arrays are implemented. Too many developers think a hashtable is always a constant operation.
I also put up the source code for the site at https://github.com/karlseguin/Algorithms. It's all mostly client-side, but I used sinatra for the templating and just in case I ended up having to do something on the server.
Am I going to add more? Maybe. I started doing QuickSort, but it just didn't fit within the UI paradigm. It didn't feel right. I also wanted to do a self-balancing BTree. I'll either write a blog post about them, or come up with a nice way to represent them.