Free tool that demonstrates data structures and algorithms through animated visualizations. The website has set examples, but you can use your own input for algorithms as well. There are also e-lectures and a quiz component to test your learning.
Free courses include video and written instruction on a variety of different concepts in Computer Science. Some units include challenges to test your learning.