I am talking about someone who comes from a seemingly unrelated field, gets fascinated by CS or programming. Then decides to learn as much CS and programming as possible out of curiousity. Uses books and publicly available university course materials (not random dumbed down MOOCs) to build up the programming and problem solving skills and then goes to industry or grad school or some research lab.<p>If anyone has done that, which courses and books worked wonders for you? For building coding skills as well as learning CS as CS is not programming. But programming helps in understanding CS better.