The Self-Taught Programmer

A book by Cory Althoff that teaches you the skills to program professionally without a computer science degree. There is also a course covering the same material available at goselftaught.com.