A friend of mine went to prison 17 years ago (robbed a bank; first offense; no one was hurt, but they through the book at him). He'll be released in November and is trying to figure out what to do with the rest of his life (he's 39).
I told him the only truly meritocratic profession in the world is programming. He's done a lot of VB/Access-work for the prison factory and really enjoys it, so this path is probably a great fit for him. He'd like to use the next 9 months to learn as much as humanly possible about the general fundamentals of computer science and, more specifically, the basics of what is needed to be a web developer.
Unfortunately, he is limited to book-learning because, well, it's not like they have a One Laptop Per Inmate program. Additionally, his facility does not allow actual programming texts to be received/read by inmates. The more technical/instructive/informative a book is, the more likely it is to be returned to the sender. Yes, it sucks. But it is the reality of the situation.
He is, however, allowed to receive/read books that are conceptual in nature. Based on these constraints, which programming-oriented books (they must be physical books, as opposed to ebooks and pdfs) do you recommend I purchase for him? Given the constraints, what books do you recommend?
As many other successful programmers have noted (Spolsky, Yegge) and demonstrated, effective communication, especially through writing, is a very useful and necessary skill for a programmer. So, maybe you should send him just some good books on writing well.
In general books, I can think of Strunk and White, On Writing (by Stephen King). But some examples of good writing about programming could also help:
The Best Software Writing (edited by Spolsky)
Joel on Software (the best articles from his blog)
Steve Yegge's blog posts (others might disagree but I think he is an excellent writer).
Paul Graham's essays
raganwald's old blog - http://weblog.raganwald.com/
James Hague's blog - http://prog21.dadgum.com/
Rands in Repose - http://randsinrepose.com/