I’ve heard the theory requirement is changing. What's the deal?


The new theory requirement, and the relevant courses scheduled for next year, are available at this link. In summary, the discrete and algorithms portion have not changed. However, instead of only choosing between two courses for the third choice, you now have a plethora of courses from which to choose. This should be a much better set of choices, in theory! Ha!

When should I take my theory courses?


We strongly recommend year 3, though you can still complete them in your fourth year if necessary.

What courses can I take for the BS?


See here for a description and examples of related courses If your interests lie farther afield, make sure you get them approved before you take them. You will need to make a case for why the courses you are taking are something to which you could apply your computer science skills.

I received AP Credit for Physics 121 and 122, not 131 and 132. May this be used to satisfy the physical sciences requirement?


Yes! We are now accepting AP Credit for Physics 12x, even though we do not accept the Physics 12x series. Why don't we accept Physics 12x, then? Two reasons. First, Physics 12x series requires Chemistry. Therefore, if you are taking the Physics 12x series, then you should have already satisfied our requirement. Second, the Physics 12x series is tailored for pre-med students. Therefore, if you are going to take a physics series, you should take the Physics 13x series. However, we still accept AP credit because were it not for these two reasons, we would still accept the Physics 12x series.

I received AP Credit for Physics 121 OR 122, not both. How do I get the other course?

Please read answer above for context. If you received credit for 122 only, take 131 or 141. If you received credit for 121 only, the CS department will accept any of 122, 132, or 142. HOWEVER, 121 alone may not satisfy the physics pre-requisite for those courses. So it is between you and the physics department to determine whether or not you can take those classes without first taking the proper pre-requisites.

I took CMSC 121 rather than 151. How does that affect my courses?

As long as you took 121, 122, 123, 154 or 121, 152, 154, then you may continue completing the other requirements. No change is required.

I took 151 P/F but now want to become a CS major.

Right now, our classes are highly impacted, especially 151. If you have already passed 151, you cannot take it again. Instead, you will need to take an extra 2xx course to fulfill that requirement.

I’m a 2nd or 3rd year, and I'm having trouble getting the classes I want.


Right now, our classes are highly impacted. This means that students will not necessarily get their first or second choice courses. However, it's imperative that you still make progress on your degree. Therefore, you need to be flexible now about what courses you are willing to take. Bid for several classes. If you don't get your bids, then get on waiting lists right after registration occurs. A second set of assignments will be made at that time. By the time the quarter begins, two rounds of placing students into classes have occurred, and it is substantially more difficult to add courses that are filled.

Can I take a year abroad and count courses towards my degree? 

A year or semester abroad is an amazing opportunity. The computer science degree is structured so that you can complete it in three years, leaving you plenty of time to pursue other interests (e.g. double major or time abroad). If you would like to take computer science courses and have their credit transfer, make sure you get them approved beforehand. Here are the restrictions:

  • No more than two total courses.
  • No more than one course from each required category (theory or systems).
  • No introductory courses.

We strongly suggest taking courses that are not available at UChicago.

Can I take courses from other universities?

Once you begin your career at the University of Chicago, you can take courses from other universities only with extenuating circumstances. A year or semester abroad has slightly different rules (see above). If you do so, make sure you get them approved beforehand and follow these restrictions:

  • No more than two total courses.
  • No more than one course from each required category (theory or systems).
  • No introductory courses.

Students must earn a grade of B or better (not B-) for the courses to count towards her/his degree. If you would like to make such a request, there are three steps. First, talk to your College advisor. Second, talk to the CS Major Advisor (Diana Franklin). Finally, gather the course description, extended course outline (detailed list of topics), the number and name of the course you want to replace, and send them to dmfranklin@uchicago.edu in a single email.

I’m interested in graduate school. What courses should I take?


The department has a nice recommendation of this array of courses that can count towards your required sequences or electives and are generally useful for graduate school. We would also recommend positioning yourself for undergraduate research opportunities.

I would like to take graduate courses. What courses can I take for credit?


You are encouraged to take graduate courses if you are interested in the content, feel you can keep up with the material, and/or are pursuing the Honors designation on your degree. However, some graduate courses are structured in a way that does not assess student learning as rigorously as undergraduate courses. As a result, only some graduate courses may be taken and count towards either CS electives or the Honors degree. You may choose courses from this course listing. You may NOT use MPCS courses towards your undergraduate degree. No exceptions.

How do I sign up for a graduate course once I have chosen one?


There is a consent form online (it's on your "classes" site, where if you hit the "request" button, it gives you a form). Print the form, fill it out (if necessary), hand it to the instructor, and then turn it in to the registrar once the instructor signs it.

I would like to do research as an undergraduate. How do I go about doing it?


This requires a few steps. You want to choose an area and a person to work with, then you need to display to that person that you will be a sound investment of their time. Take a course they are teaching and do very well in the course. Go to office hours and ask questions that are beyond the course or read his/her papers and ask questions about his/her research. Finally, when you have displayed your initiative through strong work and good questions, ask the professor if there are any research opportunities in his/her group. Opportunities all depend on the particular professor, graduate students, and current projects. If you have a particular area you know you are interested in, I suggest taking the upper-division courses for it as early as possible - perhaps even in your second year, unless you are looking at a very programming-intensive course and you want to develop your programming skills before taking the course. You can do a Reading & Research course with a professor for credit - you can take it once towards your CMSC elective requirement. Get the form from your college advisor. Here is more info on how to do R&R.

How do I do a thesis?


The procedure for signing up is identical to the procedure for Reading & Research course. It needs to occur in a specific quarter, you need to enroll in the course, and your advisor needs to give you a grade once you complete the thesis.