I'd written programs before this, inventing my own language and hardware, then emulating the hardware to have it do things like playing tic-tac-toe and Conway's Game of Life. It was slow, but served me in good stead when I built my first real computer from NAND gates, and then subsequently working in safety critical hard-realtime embedded systems.
I was around 10 and my parents bought a used Apple II and this book came with it. I thought it was the coolest thing to make a program, even if it was super basic. I wish I would have kept the book, my parents ended up throwing out the book and the computer a few years later.
My mother took a course on programming, she was the best in her class. That was the first time I ever saw someone sit at a computer and program.
http://www.amazon.com/Sams-Teach-Yourself-Hours-Edition/dp/0...
My parents got it for me when I was very young, and (if memory serves correctly) it had some program listings in BASIC in the back of the book. I must've typed them into our Apple IIe computer and started to learn programming by modifying the code.
[As for being introduced to C, the book "Using C" by Clint Hicks from Que Publishing is what helped me get started and get my head around the concept of pointers. I have tons of programming books now, but that one has a very distinct crack down the spine from regular use.]
Absolutely amazing as a 10 year old who'd just got his first computer. I soaked it all in, and in return it gave me a career.
PDF: http://bbc.nvg.org/doc/BBCUserGuide-1.00.pdf
Info: http://www.retro-kit.co.uk/page.cfm/content/BBC-Microcompute...
http://www.atariarchives.org/basicgames/. Esp. the star trek games brings back so many nice memories