Computer Science schools

<p>My son wants to study Computer Science and/or Physics. How can I determine which schools have good Computer Science programs?
thanks.</p>

<p>A mom in Maryland</p>

<p>for CS:
Stanford
MIT
CMU
Berkeley
are good.</p>

<p>UMD has very respectable programs in each, so you're in luck there.....assuming your S has the credentials to apply to the elites below, he'd probably get good merit aid and into the Honors program there.</p>

<p>In terms of the elite "best", there's Carnegie Mellon, MIT, CalTech, Harvey Mudd, and of the Ivies, Cornell has a strong CS program.</p>

<p>I'm sure lots of others will add more.</p>

<p>There are a lot of good schools for computer science. A lot depends on what kind of student your son is and what about computer science he likes. Some schools go way more into theory which is great for more intellectual abstract thinkers with excellent mathematical abilities. These schools tend to leave the nuts and bolts for the students to pick up themselves, and they usually can. Other schools are much more hands on software development and focus on more directly marketable training. </p>

<p>One differentiator is whether they start with a functional programming language like Scheme, Lisp or ML or whether they start with Java. The former is less directly marketable but build great abstraction skills. The later is far more practical but many abstract concepts develop less naturally. Some people feel that starting with Java leaves too many bad habits to "unlearn" when going to functional programming. </p>

<p>Just as an example, MIT is famous for teaching functional programming in their entry class. Carnegie-Mellon uses Java first and focuses on object-oriented. There is great debate as to which approach is better and you can end up in the same place with both. These are both top schools.</p>

<p>More info: he is good student in a small school with no computer classes. He has done some Java and some VB on his own. He loves Physics and computers and is good in math. He is thinking he does not want engineering. So I'm trying to find some schools for him to look at that have computers and physics. </p>

<p>We've also seen the many benefits of a small school and are wondering if there are any small schools that might have these. </p>

<p>And how do I research this? (One school we visited claimed to have a cs major but only had about 8 classes, 4 being very introductory.) thx.</p>

<p>Just thought I'd weigh in. Son wants to major in CS too. He has been accepted to Case Western with Provost's scholarship. Also OSU Honors. We went to the OSU Maxiumus competition yesterday. He's applied to Carnegie Mellon RD; hasn't heard yet. CMU is his first choice. We visited and it's amazing! If he's accepted then we have the financial situation to consider. Yesterday one of the CS profs said OSU's CS dept is rated higher than Case's. Of course CMU way better! He agreed! So if S doesn't get into CMU, he'll have to decide between OSU HOnors and Case. Overall, S seems to like Case better. But if OSU has the better Computer Science program??? So much to consider!</p>

<p>Rice U is a small school (3000 undergrads), great residential college system, great CS - plus lots of flexibility and options in case your son changes his mind. Great financial aid, plus increased merit scholarships, and close to a major airport hub - so easy to fly into. Both my kids love it there... might be good for your son.</p>

<p>DJMom - the thing about the ratings, is that they tend to rate large schools with huge grad departments higher than smaller schools with smaller grad departments - because the scores highly depend on peer evaluations -which are linked to VISIBILITY, which is linked to who shows up at conferences, how many papers are published, etc. The actual undergrad experience may well be better at the smaller school.</p>

<p>First of all I think it's important to understand that "computer science" is not necessarily the same thing as "computers". Computer Science can range from very theoretical and applied discrete mathematics, to cognitive science, philosophy of mind, artificial intelligence and modeling human cognition as a computational processes, to computer networks, to management information systems, to computers themselves, building them, and writing software for them, and writing software to help write software, etc. It would be helpful for your son to start to get a feel for some of this. </p>

<p>I would look at what is required of a CS major at a top school like MIT, Stanford or CMU. You can also get a feel for what the maximum pace is. Many schools don't have that caliber of student and don't go as fast. He should write down some terms and Wiki them to get a feel for what they mean. Then you have some basis to start evaluating computer science majors at small liberal arts colleges or smaller tech focussed schools like Harvey Mudd or Rose-Hulman. Smaller universities like Rice, Rochester, Chicago and some Ivys may be good too. Going the other way toward applications, a place like Digipen is pretty unique and you should be able to quickly see the difference. </p>

<p>Some programs require more theory but don't require one to get to deeply into the operation of a computer, some programs require extensive knowledge of computer organization, architecture, digital logic, operating systems and design of programming language and compilers. At small schools, people tend to teach what they know so it can really vary. </p>

<p>I do think that there is some value to being at a highly regarded research institution where there is enough critical mass to allow him to get involved in cutting edge research. But if he's really shy and needs the support of a small school, that may be more important.</p>

<p>One thing to note, is that OP's son hasn't taken any computer courses in hs because they are not offered. For most of the "elite" schools listed above, his competition is going to be incredible. You should look at some of those threads and get an idea of what he'd be up against....kids who have started their own computer businesses, written complicated computer games, etc. Not to scare you away, but to do a reality check..... Your son will need a place that has a strong introduction program for people on the less-experienced side of the spectrum. From D's bf's coursework at CMU, I know it's intense....WAY intense.....and he had a very strong background to start with.</p>

<p>There is an online course "Computer Science: A First Course" at eimacs.com that my D took that uses Scheme to teach real computer science at a high school level. I was very impressed with it and I highly recommend it.</p>

<p>Thanks all for the input. </p>

<p>CRDad, you've given us a lot to think about. I will show your post to my s and research the schools you mention.</p>

<p>And, astromom, you make some very good points. He is currently a "big fish in a small pond"; they think he is "brilliant". However I am very aware that many other kids coming from larger schools or magnet programs will have a lot stronger background. He also wants a school that isn't completely full of "nerds" and he does want some girls!</p>

<p>So I am thinking that it would be good to find some small to mid-sized schools that are great schools (but perhaps not "name brand" schools). I really don't care about the bumper sticker. (and am not sure we can send him all the way to the left coast) (have two other kids in college currently)</p>

<p>
[quote]
One thing to note, is that OP's son hasn't taken any computer courses in hs because they are not offered. For most of the "elite" schools listed above, his competition is going to be incredible. You should look at some of those threads and get an idea of what he'd be up against.

[/quote]
</p>

<p>My son did not take any computer science courses in high school, because doing so meant traveling across town in the middle of the day to the "career center", and would have knocked out other valuable courses. Nonetheless, his interest was, and is, computer science and artificial intelligence. He took a lot of math (Calc BC as junior, two beyond that at flagship U during his senior year), and a lot of AP science. He taught himself programming languages and other computer skills and used them in various out-of-class experiences. With that self-taught-but-good-fundamentals background, he was accepted into CMU School of Computer Science (and CMU CIT, even though he didn't even apply to it!) </p>

<p>However, I can't answer the question about how he did once he got there, because he, like the OP's son, wanted a less techy school with some female representation. He is attending a very good private U with a small computer science program within the engineering school. His requirements as a cs major are very different than the rest of the engineering students, leaving him free to take extra math courses and odds and ends related to artificial intelligence (a rather interdisciplinary field) outside the school of engineering. He is also majoring in a couple of non-engineering fields, not physics in his case, but he would be free to do so if he wished. Not all engineering schools allow for additional majors, and if that is really what your son wants to do, he should investigate that ahead of time.</p>

<p>I can't even come close to ClassicRockerDad when discussing the nuts and bolts of computer science and related fields, but this rather non-traditional approach for a very good student seems to be working for my son. He was doing research with a full prof by first semester of his freshman year, and has been free to move through the curriculum with a lot more flexibility than most cs programs. He probably will go to graduate school rather than directly to work, and that is a consideration--IMO--when comparing programs.</p>

<p>I'm not a huge fan of rankings. They may be easy, but it is probably better to consider the overall needs and preferences of the individual student. (Speaking as a non-expert!)</p>

<p>Be sure to consider all the other facets of colleges- location, other academics, style... to get the best fit. For example- which part of the country, small LAC, large public, elite, top 50... Of course he wants a good computer science program, but he also wants the other factors that best suit him. A lot of CC posters mention small LAC's- but do not discount the large public schools and large private schools with large science/technology departments for good comp sci plus plenty of diversity in sciences and other fields. Remember that he may change his major so the overall fit is important.</p>

<p>I started with the Rugg's Recommendations lists (in the library and high school guidance office) when my son wanted CS or Econ. I cross matched the two lists and then searched that intersection for schools I felt he could get into. Then over time I tried to get him to narrow down size and location. He rejected a lot of the large public universities so that narrowed it down even more. We discussed the terrible male-female ratio at the tech schools and rejected them (places like Rose-Hulman, Case Western, RPI). Perhaps this was a mistake - I don't know. We visited PA because several of the schools were there. I was very impressed with CMU; the courses were harder and more varied than many other schools. But, the downside is that the students work all the time. I was impressed with the program at Bucknell, too. I didn't get to review the program at Lehigh although we visited. USC has a good program - similar to Bucknell. Of course, I am also partial to Rice. Cornell and NU were also on the list although we didn't get to visit. Ones he couldn't get into were Harvey Mudd, CalTech, MIT, Stanford, Harvard, Princeton, Yale.</p>

<p>Some of the ones my son is considering (doesn't have the stats for MIT, Carnegie Mellon, etc) are: Rose-Hulman, Stevens Inst of Tech, WPI, RPI, RIT, Allegheny, Missouri S&T, University of Texas-Dallas. Generally on the smaller side with strong computer science programs.</p>

<p>
[quote]
Missouri S&T

[/quote]
</p>

<p>Wow! That is the first use I have seen of the brand-new name. Around here it is still known simply as "Rolla". I suspect it will be some time before Missourians get accustomed to the new name.</p>

<p>Keep in mind that a lot of people who start out majoring in CS change their minds within the first year and switch to another major so make sure wherever you pick has some other majors your S might find attractive.</p>

<p>There are lots of colleges with good CS programs. Both of my Ds are in CS - one at UCSD and one at UCLA. At those Universities the CS departments are in the School of Engineering. I think the attrition rate of people who switch out is somewhere around 35-40%. The CS departments at both of these are rated fairly high and it's true that there's very challenging work and a lot of it. However, neither of my Ds had programming experience before starting college since their HS didn't offer it and they weren't interested in me teaching them. Regardless, they're both doing fine with one almost done and the other in her second year. </p>

<p>Even though these are both very large universities there really aren't all that many students in the CS department, especially after the first year, so they end up seeing many of the same students in their classes.</p>

<p>Good luck in your search!</p>

<p>
[quote]
With that self-taught-but-good-fundamentals background, he was accepted into CMU School of Computer Science (and CMU CIT, even though he didn't even apply to it!)

[/quote]
</p>

<p>He probably actually did, since CMU requires all applicants to apply to at least two programs inside of their school. Back when I was doing applications for there, I applied to Materials Science in the engineering school and Chemistry within their school of science.</p>

<p>This is actually something I'd recommend for the original poster's kid as a bonus to CMU. You do apply to two programs, and if he didn't get into the CS school (very difficult) there is the Physics department in the Mellon College of Science which is fairly strong. I did a minor in Physics and enjoyed most of my classes, though unless your son is one of the top students in CS it might be hard for him to find time to study both CS and physics as double majors (though majoring in physics and minoring in CS is far from out of the question).</p>

<p>I think one of the most important things your son should think about for applications is if he wants to go to graduate school after finishing college. If he does, attending a school that puts more emphasis on theoretical work (such as CMU or MIT) would be very beneficial. If he wants to go out and get a real job as a programmer, a school which focuses more on actual programming methods instead of pure theory might be more proper. Don't forget that when he goes to grad school he'll actually get paid. I can't even tell you how excited my parents were for me when they found out about that (one brother with an MBA and two lawyers). :p</p>

<p>UIUC has a very good reputation for CS.</p>