CS Majors

<p>What do you like/dislike about the program? What do you wish you had known about the program before coming to Caltech? Thanks in advance for the help!</p>

<p>I'd like to second that question. The other school I'm seriously considering is Olin. I'm interested in robotics and AI. However, I'm also into physics and astro, which gives Caltech a plus. Both are cool places and I'm stuck in the middle.</p>

<p>I am not a CS major, and I think the only CS major who frequents these boards is an alum or senior "Alleya". This being the case, here are my two cents:</p>

<p>I like the CS majors here since they can make interesting things. They can also make a lot of money after they graduate. I don't know much about the program itself since the only CS classes I took were small courses for learning a programming language. </p>

<p>Mathwiz: flip a coin. Actually, what I would do is I'd go to Caltech for its breadth of course offerings (never thought I'd say that). By the end of sophomore year (assuming you'll be taking Ph 12, the "physics major" track of waves, quantum mechanics, and statistical physics rather than Ph 2), you'd have enough physics knowledge to understand a lot of physical phenomena. By taking Ay</a> 20 and 21 you'd have introductory knowledge of astrophysics. </p>

<p>I think you could fulfill a bunch of CS requirements as a freshman and then do research during the year and summer in robotics and AI (check out JPL). I'm not very familiar with the research groups in CS, but surely you could find out more about that. A class you might (or might not, since the focus is more mechanical engineering than software of any sort) be interested in is ME 72, which is a course where students design and build remote controlled machines to perform specific tasks in a 1v1 competition setting. You can see videos of past years' competitions [url="<a href="http://today.caltech.edu/theater/list?subset=campus%22%5Dhere%5B/url"&gt;http://today.caltech.edu/theater/list?subset=campus"]here[/url&lt;/a&gt;]. </p>

<p>On the other hand, it may be the case that Olin has better offerings in robotics. Zero tuition is also attractive. Good luck making your decision!</p>

<p>Also not a CS major, but a scarily-high percentage of my friends are CS majors. :D CS at Caltech is extremely theoretical. Required classes include Introduction to Discrete Mathematics (or Introduction to Abstract Algebra and then Combinatorial Analysis,) Decidability and Tractability (or Information and Complexity,) Introduction to Computing Systems, and Introduction to Algorithms. A lot of math classes also count towards the major. There are more practical</a> classes and you are required to take a project course with a large project for the major, but those who really want to do just programming and not much math often switch to EE. That said, all of the CS majors I know are still great programmers, but they taught themselves programming and came to Caltech to learn the theory behind it all.</p>

<p>The biggest complaint I have heard from CS majors is that Caltech keeps them busy enough that they don't have much time to work on completely independent projects during the school year. Most have pretty impressive portfolios from before college and would be doing perfectly fine in the job market without any college degree. That said, being a CS major at Caltech has a lot of advantages: There are few required classes, leaving the student with a lot of options to either take lighter course loads or take classes in other areas of study just for fun. Despite being one of the "easier" majors in terms of requirements, CS majors make more money than almost any other major and seem to have no problem finding jobs. Google and Microsoft don't seem to see any problem with Caltech CS majors, considering how many they hire. ;)</p>

<p>Edit: Forgot to add, there are a lot of CS SURFs and jobs at JPL that are relatively easy to get. The new DARPA Grand Challenge is also extremely CS-heavy. Caltech's CS program is growing rapidly and a lot of the other departments need computer scientists for projects.</p>

<p>I think I'd like to major in physics or astrophysics or astronomy, but CS is sounding more and more appealing lately. Is there enough overlap that that'd be a doable double major?</p>

<p>There is no overlap, outside of core, between physics or astrophysics and CS. The only majors that really overlap with CS a lot are math and EE, both of which are done as double major combinations somewhat commonly. There is no astronomy major, but if you are interested in it, you might consider the planetary science major, which has relatively few requirements.</p>

<p>Out of double majors, CS + (physics or astrophysics) is certainly very inconvenient unless you take an extra year or pass out of some of the freshman classes. Option requirements are available [here[/url</a>]</p>

<p>Assuming you do neither, you would have to construct a creative freshman schedule. What I would do for a physics/CS double is as follows: </p>

<p>(see course names and stuff [url="<a href="http://pr.caltech.edu/catalog/courses/courses.html%22%5Dhere%5B/url%5D"&gt;http://pr.caltech.edu/catalog/courses/courses.html"]here](&lt;a href="http://pr.caltech.edu/catalog/pdf/catalog_06_07_part3.pdf%22%5Dhere%5B/url"&gt;http://pr.caltech.edu/catalog/pdf/catalog_06_07_part3.pdf)&lt;/a&gt;)
Freshman year:
Ma 1a, Ch 1a, Ph 1a, Ma/CS 6a, CS 1, Freshman humanities course (51 units total)</p>

<p>Ma 1b, Ch 1b, Ph 1b, CS 21, CS 2, Ph 3 (freshman physics lab, required for physics majors) (51 units total)</p>

<p>Ma 1c, Bi 1, Ph 1c, CS 24, Freshman humanities course, Ch 3a (required general chemistry lab) (51 units)
At the end of the year you are behind 1 HSS course and a menu course. </p>

<p>Sophomore year:
Ma 2a, Ph 12a, ACM 95/100 a, E 10 (communications requirement), E 11 (communications requirement), 2 HSS courses (54 units)</p>

<p>Ma 2b, Ph 12b, Ph 6, ACM 95/100 b, HSS course, PE (51 units)</p>

<p>Ph 12c, Ph 7, ACM 95/100 c, HSS course, CS 38, PE (51 units)
You are still behind a menu course at this point. </p>

<p>Junior year:
Ph 106 a, Ph 125 a, Ph 129 a, Year-long CS course with a project at the end, e.g. CS/EE/Ma 129 a, HSS course, PE (48 units)</p>

<p>Ph 106 b, Ph 125 b, Ph 129 b, CS/EE/Ma 129 b, HSS course, upper division CS course (54 units)</p>

<p>Ph 106 c, Ph 125 c, Ph 129 c, CS/EE/Ma 129 c, HSS course, menu course (54 units)</p>

<p>Senior year:
Ph/CS 219 a (quantum computation, Ph 129 is a prereq), Ph 77 a (senior lab), HSS course, upper level CS course (36 units)</p>

<p>Ph/CS 219 b, Ph 77 b, HSS course, upper division CS course, Ma/CS 6 b(45 units)</p>

<p>Ph/CS 219 c, HSS course, 2X upper division CS course, Ma/CS 6 c, additional introductory lab (graduation requirement) (51 units)</p>

<p>This schedule, as far as I know, completes the requirements of both majors with no courses taken before prerequisites allow. It also never calls for an underload or overload. Feel free to redistribute courses to your liking, or change electives to other courses. </p>

<p>Rather than double majoring, it seems more prudent to me to simply major in either physics or CS and then take additional coursework in areas that interest you. If you double major, you're restricting yourself to learning about broad areas of the different subjects, which limits your ability to take in-depth coursework in either field. If you really wanted to double major, the above is a good way to do it. You'd probably need to be above average here to pull off the aforementioned double in 4 years with a GPA above 3.0.</p>

<p>Passing out of CS 1, CS 2, and Ph 1 would definitely make it more doable. Very few people take CS 21 and 24 frosh year; they are both challenging classes even for good programmers (mostly because they have little to do with programming.)</p>

<p>Yeah, I modelled the frosh year schedule on that of a math major I know, not a CS major.</p>

<p>What about Cs/Ay?</p>

<p>Ay (APh) has more requirements than physics, so it would be even more difficult. Essentially not doable unless one is a very exceptional student (at Caltech standards), and I'm not really sure why people would want to do that combination. Double majoring (at Caltech at least) is one of those ideas that sound really good before coming to Caltech, but students usually realize that there's plenty to be learned in just one subject area.</p>

<p>ninja- that's a much better idea than double major! I'll probably astrophysics major and just take lots of CS. Thank you!</p>

<p>What would it be like trying to get into Ay grad school after majoring in something like CS? (I'm not planning to do this, just wondering)</p>

<p>If you didn't have many of the physics/astrophysics courses, I imagine it would be very difficult getting into Ay grad school from just CS. However, if you took pretty much all your electives in Ay/Ph, they you could do it. </p>

<p>Ultimately, Ay and CS are very, very different fields. If you want to do astrophysics, but still want to program, get your degree in Ay and take a few CS classes on the side. There are also some required physics labs that make you learn C++ for numerical processing- it's not like you won't have any idea how to program unless you take CS.</p>

<p>What about the other way around? Or what if I do ECE, decide astro is better for me, and then do ECE B.S., Physics, M.S., Astro PhD?</p>

<p>In your situation I would just major in physics- physics majors going to engineering grad school is more common than the other way around, and you don't really have to choose between physics and astro until junior year if you don't want. On a side note, there is no longer an ECE major at caltech.</p>

<p>Any CS majors on cc to answer my original post?</p>

<p>I think the answer is no. I don't think there are any CS majors on this board.</p>

<p>What about alleya?</p>