One piece of the puzzle I forgot to mention . . . He's learning to program and wants to work on a PC. So the possibility of dual environment on the Macbook might be interesting. But (and sorry I know nothing about programming!), would we have to install Windows? Is there any other OS we could use that might work for him?
I know when I needed a PC for work, I ended up just getting an old desktop. That was WAY easier than using Bootcamp or Parallels. But for programming I don't know .. . .
Consider this. For about 500 bucks, he can get a brand new PC laptop, and you don't have to worry about having to buy a license to run Windows or even having to install windows yourself.
You could go to Dell and pick out the Inspiron 15 and get a 15.6" screen, a 2.0 Ghz Core 2 Duo processor, 2 gigs of RAM, Vista Home Premium, 160 gig hard drive, integrated graphics, all for under 500 dollars, and performance wise, it would be faster than the Macbook.
Of course, he may not even need a PC for his class, especially if he's doing Java. But before you do anything big or unnecessary, you should have your son find out first from his teacher as to what he would need.