Thanks to liebke for posting this, and Bradford for writing it.<p>I have two points.<p>First, your point about programming is incredibly important.  I've worked with people who had amazing insights about statistical problems, but went cross-eyed upon being asked about SVN and Git. This makes a CS homework assignment unpleasant, and a real world research project impossible.<p>Second, this really begs another post.  It should be called "Learning how to read a textbook on your own." Successful self-learners don't just __read__ a textbook.  They toil with it, try proving things on paper themselves, work through exercises, attempt to apply it to some real-world situation, and hunt down someone who's smarter than they are to explain something that seems unclear.<p>Not all textbooks - certainly not every one on your list - can be read with a great application in mind.  A reader must interrogate mercilessly the book on analysis or the rigorous probability book mentioned in the post.<p>This seems intuitive to someone who can successfully learn on their own, but most people are not taught to do that. The difficulties of relicating a portion of the classroom learning experience is a major barrier to entry.  This is why online intro lectures for programming, math, and certain CS topics like algorithms can steer a learner in the right direction.  Stanford Engineering Everywhere and of course MIT's OCW, links to which have been posted on HN at least once a month, are great starts.