1) I started with BASIC/QBASIC, assembler, some C, html/css, javascript, php and then some python. Later at school I got C/C++, Java and VB.NET but by then I was already web development for quite some time.
2) At first I only had old books from my local library, hence the BASIC/QBASIC, assembler and C. Later they ordered new books on the 'new HTML 4.0' and soon I started doing js and php as well.
3) no not really, although I did have projects of my own most of it was purely for fun. To be honest, it only struck me after a year or so I was programming, before that I was only trying stuff out. I think that's an important part of the deal, having fun and just trying new things.
4) I was on my own, I didn't have anyone behind me to teach me...
5) To be honest I think should have focused more on C/C++, but I absolutely don't regret being a web developer, I would hate being a C/C++ developer I think. I don't know why, just a feeling...
About helping your nephew, try to make him see it as a game and have some fun. Explain that the computer does whatever he wants, he only has to program it himself. If the application, in whatever language it is written, doesn't run, you have a 99.9% change it's your own fault.