<p>Sdavis, I appreciate your parental dilemma of providing helpful guidance for a HS student beginning a search for a college which will allow him/her to thrive and be happy. What I am suggesting is that one of the first things a student need to do is to honestly evaluate what his academic expectations and abilities are.</p>
<p>I have never been an advocate for students to unthinkingly apply to reach colleges and then enroll if the roll of the dice results in an admission offer, particularly in the physical sciences and engineering. If the student understands that he will be academically challenged like never before, is confident of her abilities, is doggedly determined to succeed and prepared to work harder than ever before, by all means go for that reach! If the answer is maybe or no, proceed with extreme caution. I have found that the most successful students are ones who have probably been among the top quartile of students in ability AND possess a willingness to work hard. They are the proverbial big fish in the small pond, the ones who are most likely to go on to the most successful careers, be accepted by the best grad schools, take fullest advantage of all the university offers and have fun in the process.</p>
<p>Your son seems like a wonderful student that will find success in a college wisely chosen, and there will be many out there for him. However have him first honestly evaluate himself before proceeding to develop a preliminary college wish list. Since he is considering a major in comp sci/ IT have him read the paragraph describing the MIT comp sci program before his honest self evaluation. I am NOT suggesting that he consider MIT at all, merely whether he is comfortably with the intellectual challenge that he may face at any reach college. If he is excited about being incredibly challenged and is doggedly determined, encourage him to go for it. If not he may be better advised to begin his search a colleges which are a better match to his abilities.</p>
<p>I appreciate the challenges in traveling between the coasts visiting prospective colleges. However being a midwesterner your son may get a feel for what he need by visiting those within spittin distance, colleges like Rose, Case, Northwestern, Purdue(ISPU), Washington, Illinois, Oberlin(gotta throw in an LAC).</p>
<p>Quite frankly most of the questions which you might ask can be answered by going to the college or department web site. While I generally am cynical about subjective touchy feely things, there is no substitute for the college visit, but not necessarily for the info session or the guided tour. General observations were very telling. First, feel free to wander around, all the academic buildings are open and no one will demand that you leave! We always visited the comp sci building on arriving on campus to see what was posted on the department bulletin boards(colloquia, guest speakers, grad schools, research offerings, fellowships, clubs, department ec activities(picnics, tailgate parties, intramurals etc), looked for student lounges/comp labs, looked at poster boards(any undergrad projects?), how many office doors were opened, office hour postings, etc. In many cases a prof asked us why we were there and gave us a cooks tour of the department and gave us a quickie department info session. At Case our we were invited to the department picnic at noon! Go to the library and union to observe the students. At Rensselaer our son was impressed that the Union was literally filled with student studying and working in teams on projects/homework. At Rochester he was impressed with the library but put off by how few students were there and by the number who were catching up on zzzzzzz's. At Oberlin he was enamored by the free-wheeling feel of the place-where else would you be privy to a Braveheart re-enactment, blue face and kilts included. These were the type of things which were most important to our son in arriving at a decision, not the insipid info sessions.</p>
<p>Anywhoo, good luck and I hope my blatherings are of some help.</p>
<p>Computer Science at MIT is a bit different from programs offered at most other universities. Many potential students really don't understand what it's all about here. It's NOT about "applications programming," or "data processing." "Systems analyst" is not the sort of job to which our students aspire after they graduate (by sophomore year it's easy to get on-campus jobs keeping systems running). At MIT one starts out by learning about dealing with complexity and abstraction, and goes on to study computer architecture (how to design computer systems), artificial intelligence, modeling, and theory. There is quite a bit of advanced mathematics. Computer Science studies how to make computers faster, more efficient, and more intelligent. Graduates of Computer Science have the ability to perform a wide range of jobs. The breadth of their studies allows them to learn quickly the variety of languages and machines used in industry. The depth of study gives a better understanding of the problem and how to solve it. The curriculum is as intensive as electrical engineering. You can't get a big jump on the major by studying programming in high school: C.S. faculty here don't teach or use BASIC, FORTRAN, PASCAL, COBOL, etc. Our introductory CS subject is taught in the SCHEME dialect of LISP, and the software engineering lab uses a version of JAVA; C++ can also be useful in UROPs</p>