I teach an intermediate VB .net course, and have had to rely mostly on my own materials. It covers classes/objects, inheritance/polymorphism, interfaces, debugging, multithreading, collections + implementation of basic data structures, generics, networking (sockets, etc.), and the Entity Framework. I've also been toying with the idea of adding in asynchronous programming (async/await in .net parlance). I have been totally unable to find a good book that covers all of these subjects in a logical, clear, and concise way. Any suggestions?
I've also noticed that there's a massive lack of information on how .net's internal asynchronous stuff works (turns out it actually builds a state machine for you that divides the asynchronous methods into small chunks), which is why I haven't yet added it.