Can you be more specific about why he wants to learn programming? What is he hoping to do with it?
If he's smart and dedicated, I recommend SICP, but it's fairly difficult (and assumes things like exposure to calculus): http://mitpress.mit.edu/sicp/full-text/book/book.html
Think Python is a bit easier, but still good: http://greenteapress.com/thinkpython/thinkpython.pdf