A good friend of mine is a middle school math teacher, and he is taking a fairly bold step in quitting his job so that he can go back to school full-time to get a degree in computer science. He is very interested in programming. He doesn't have a lot of programming experience yet, but I think he has the right intelligence and mentality for it and he'll do well. He's been feeling an intense amount of trepidation about this decision (which, incidentally, is too late to reverse), and so I have been trying to think of a gift to give him that might make him feel encouraged. I was thinking of maybe a nice book, like The Pragmatic Programmer, although I don't know how useful that would be to a newbie. When I first started out, I was happy just to get a crappy shell game working and it was a while before I found the advice found in the big lofty books to be very helpful. Another idea I had was an Arduino, with maybe a project book to go along with it, but I am not sure how interested he is in the hardware side of things.
It doesn't necessarily have to be something for him to read or do, it could just be something that is cool and inspiring. I could make something for him that has a lot of programmer appeal, such as a 4-bit adder out of NAND gates and LEDs or something like that.
These are the sorts of ideas I've been having, but nothing yet seems like THE idea. Any ideas you could give me would be hugely appreciated. As far as price range, I was thinking something in the neighborhood of $50.