The great debate of course is, how important are those skills? Many self-taught programmers I know reject the idea that these CS fundamental knowledge is important. And to their point, many self-taught programmers that I've met/hired/worked with that would be productive on day one because they have real-world knowledge and experience. Case in point, the founding engineer of the company that I work at is a college dropout, he's more than 15 years younger than me, and he's excellent. As well, I'm a self-taught programmer but came from a EE background, so I had two CS courses under my belt before I decided to pursue programming after graduating.