<p>angelakk - It’s funny. I’m a senior interested in CS, in a pretty similar situation to your son - I’m choosing between Princeton, Stanford, CMU, and full scholarships at a few well regarded schools. I’ve been doing a lot of research trying to make my decision, including contacting many current CS students at these schools. Here is what I’ve generally found:</p>
<p>At Princeton, the CS program is extremely good, and most of the professors are great. The students love it, and they say they really notice the undergraduate focus. A lot of them think its one of the best departments at the school. One complaint is that it is pretty intense, so you better love CS and be ready to work very hard. Two Princeton students told me they had friends at CMU and Stanford, and thought that they (Princeton) had more difficult assignments. Also, only 35 - 40% of the kids in a class can get As, as per Princeton’s grade deflation policy. However, the kids told me that for CS, your GPA doesn’t really matter - they all had internships at Google, Microsoft, Twitter, Facebook, Dropbox, NY Consulting firms, etc and said recruiting is very heavy at Princeton. Princeton has a rapidly growing Entrepreneurial Club and a bunch of CS kids participate in a program called Tiger Treks, where they visit companies on the West Coast. Finally, one thing you may want to know about the CS Program is that the number of CS Majors in the last 1-2 years has suddenly increased, so class sizes are getting larger. Upper level classes now have 40-50 kids each, although thats still better than most other CS programs.</p>
<p>At Stanford, the students love their professors as well. (Look up Mehram Sahrami’s lectures). I’ll just add in that the weather at Stanford is way better than that of Princeton. Stanford kids love their classes, and say there is a heavy entrepreneurial vibe, since Silicon Valley is so close by. Recruiting is also (obviously) great at Stanford. Some kids complain of the Stanford “duck” syndrome - go look that up - since all of the students are driven to graduate and succeed in their start-up pursuits. Also, getting As in Stanford CS is pretty easy. Students have told me that you really don’t have to work too hard if you don’t want to, so life is good in that respect. </p>
<p>Hope this was helpful. Personally, I’m leaning towards Princeton because I feel that at Princeton, by the time I graduate, I will have worked hard and learned a tremendous amount. Honestly, I don’t think I’m that amazing and have really lucked out with my acceptances and scholarships. I also don’t have much programming experience right now. I have a weird feeling that at Stanford, I could spend 4 years there and still feel like a fraud (bad word choice maybe), while at Princeton I know I’d definitely come out having learned a lot and being as good a programmer as anyone else. At Princeton, I’d also have better liberal arts classes (which I’d love to explore) and a better overall undergraduate experience (academic, social, extracurricular). Once I get over the urge to go to a school in the sunny California weather, Princeton seems for me to be the slightly better choice for my undergrad. If I attend graduate school, I’d definitely want to go out to Stanford.</p>