This whole thing is exceptionally well done - and a free resource!

https://www.makingsoftware.com