matlab is single threaded no?
No. It's single-threaded if you write your code in the most straightforward, naive way possible. But its possible to write parallel code, especially if your program involves a wicked number of "For" loops.
Beyond that, if it *is* single thread, there's more incentive to invest in the highest clock speed for single threaded firepower. That's more of a Mac Pro type discussion, where you have an alternative, but *shrug*.
You can't overstate the following:
CS IS NOT A CPU intensive major! Most of your programs will compile extremely fast! Probably a netbook is sufficient!
Physics can be.
What if he wants to do undergraduate research, with an eye toward getting into grad school? Some of the projects I've given undergrads are absolutely CPU intensive. Especially if we're talking about undergraduate-CS level quality in the algorithms you use.