Yet again the wonderful ongoing video series from Alexander Stepanov and Paramjit Oberoi (A9 Organization):
Programming conversations is intended as an interactive course on programming. We'll try to practice the Socratic method: eventually there will be very little lecturing, and most of the time will be spent in discussions and in writing code together. We plan to cover a wide variety of topics, starting with the nature of programming, and continuing, in no particular order, with benchmarking, algorithms, data structures, caches, instruction level parallelism, generic programming, variable sized types, and Platonic ideas.
Most of the concepts are explained in terms of C++11/STL/Boost.