Books were nice when I was learning to program for the first time. It was nice to be able to sit down and work through complete examples. Once I started knowing stuff, I found books to be slow and tedious. I find it more useful to Google for what I need to know.

I still read books, although having read several hundred technical books I find that I get less and less out of them. I find these days some of my quickest learning is from videos actually, rather than blogs or other sources.

No college courses for me, but I had to pick up programming in grad school on the side for course work and thesis. Books are by far the best way to start off due to them having a natural flow and structure that online sources lack. However, once you wrap your head around a language it is just about looking up syntax/documentation and going through packages to not reinvent the wheel.

Started on the book, and it's sometimes still used as a reference. Since getting dual monitors, I'd been using the web almost exclusively.

The way I learned how headers (and linking) worked was trying to get an OpenGL application to compile and run. Even though it wasn't my own code, I did learn a good bit just by doing something random (included some minor debugging as well), and I was successful after a couple nights. So, I learn by looking through samples of what I'm interested in, hand copy it down several times over while studying how each piece works, and modify and eventually, apply it to my own ends.

I used books in the start. The A to B to C to D approach created an easy learning curve and i could follow what was going on. There are nice courses online, but a book it just a nice way to get into programming.

Once you are more self sufficient then online resources become an easier option as you usually know what you're after.