<p>Congratulations.</p>
<p>Current CS sophomore here. The environment is fantastic. Classes are very hard, although the nature of the CS curriculum allows you to take easier semesters if you so desire. Most students don’t. While almost everybody struggles and is challenged by the curriculum, it is by no means competitive – most CS classes allow you to work with a small group while solving problems, so long as you wait a few hours before writing up your solutions. Everybody is friendly, and wants everybody else to succeed. You’ll likely find it easy to get tech internships or a summer research position after your freshman year (I did this).</p>
<p>Your freshman classes will mostly be large lectures – but the lectures aren’t the point. Spending hours and hours solving the weekly problem sets is. One of the required courses freshman take is notorious for assigning questions that you would typically encounter a few weeks into upper-level math classes, on weekly homeworks! The idea is to get you well-acquainted with problem solving in a domain that is beyond your depth. You’ll be asked to start from almost nothing and derive fundamental results in graph theory, abstract algebra, probability, combinatorics, game theory, complexity theory, etc. Of course, this will be less traumatic if you already have exposure to rigorous, proof-based mathematics. </p>
<p>A large percentage of CS undergraduates are teaching assistants for cs classes (I did this) – many people care very much, and spend lots of time, helping their peers learn. If you want to do research, there are over 200 faculty in SCS doing cutting-edge research in systems, theoretical computer science, machine learning, robotics, natural language processing, computational biology, programming language theory, etc. You can very easily get independent study credit to do research (I did this). After freshman year, you’ll likely be on a first-name basis with several faculty members. Upper-level classes are (generally) smaller. One of my classes this semester has ~10 students. Most of the professors are incredibly competent at what they do, and awesome people as well.</p>
<p>The top floors of the computer science building are restricted to faculty, graduate students, and cs undergraduates after hours. There are many tiny nooks with whiteboards for collaborating. You’ll spend lots of time there. </p>
<p>I don’t know know what the distribution of grades for CS students is – but you’ll be challenged. Many students come in with perfect academic records, and suddenly start failing tests and midterms (I did this). </p>
<p>It’s worth stressing that computer science is not programming. Computer science, at least as I view it, is problem solving. The core curriculum is very heavy on theoretical computer science, discrete mathematics, logic, etc. If you want to do software engineering – that’s not really what most students spend their time doing. (although the 6-figure starting salaries in Silicon Valley seem to attract most of the class after graduation)</p>
<p>So… that’s CMU SCS in a nutshell. You should come visit, if you haven’t already.</p>
<p>(and writing that accounts for a healthy dose of procrastination… whelp)</p>