Frequently Asked Questions

How do I stay informed on undergraduate CS news?

You should subscribe to the CS mailing list. You can also join the CS Slack.

The CS mailing list is used to share important announcements about the CS undergrad program or employment opportunities that may be relevant to students pursuing a major or minor in CS, or are looking for ways to become more involved with CS in general.

 

The CS Slack space has multiple channels that may be of interest to to students interested in computer science.

Can I use an unapproved course for my major/minor requirements?

Students hoping to use unapproved courses for major or minor requirements are welcome to submit a General Petition Form to the Director of Undergraduate Studies for the CS Department.

Requests may take ~2 weeks to be reviewed, depending on the course and time of year the request is received.

It’s helpful, though not required, to include a syllabus if available.

I heard there are new major requirements. What requirements do I need to satisfy?

The requirements for BA & BS in CS degrees were updated in AY 24-25.

Please note that students who are already on their way to fulfilling the existing BA or BS requirements are allowed to do so. As usual, currently enrolled students may choose to fulfill the existing requirements or adopt the new Catalog for their degree audits.

You can find details about this update in the official announcement.

Which courses are in which category, as far as major requirements are concerned?

Please visit this page for an up-to-date inventory.

When should I take my theory courses?


We strongly recommend that you take your first theory course no later than the first quarter of your third year. The major requires three theory courses. It is technically possible to take the theory courses as late as the fourth year, but this leads to rushed and potentially hectic scenarios and we recommend against it. We have had several students trying to manage various complicated last-minute maneuvers to fulfill the theory requirement; take our word for it, it’s not a situation you want to be in.

Can I skip Theory A?

The CS Department now offers a placement exam for students to place out of Theory A. Please note, students are not granted credit for a Theory course based on the results of this placement exam and must replace the course

Students who place into, and enroll in, Theory of Algorithms (CMSC 27200) or Honors Theory of Algorithms (CMSC 27230) will have the option to complete a modified version of the BS or BA theory requirements:

  • BS students will fulfill the Theory B requirement (one course) and take two Theory C courses. In other words, they can replace the Theory A requirement with a second Theory C course.
  • BA students will fulfill the Theory B requirement (one course) and take one Theory C course. In other words, they can replace the Theory A requirement with a Theory C course.

The results of the exam are not binding. A student may always opt to start in Discrete Mathematics (CMSC 27100) regardless of the results of the exam.

Please refer to the announcement for additional details.

What related courses can I take for the BS?

To request related courses for the BS, please fill out this form: https://forms.gle/JrD9bYWbNYeWbNrq5.

Related courses for the BS need to follow a few rules:
They must be all from the same field (or very related like math and stats) and a field to which you can apply computer science.

They cannot be CMSC courses (if they are cross-listed, you must consult the major advisor), satisfied through AP credit performance courses (music, art, drama), foreign language courses, or going towards a minor degree.

If your interests lie farther afield, i.e., if you would like us to consider a course outside the realm of obviously-related content, be prepared to make a case, and make sure you get any such courses approved in advance before you make plans about them.

For the following fields, you may choose from the following pre-approved courses in that area:
– Econ: 198, 199, 200, 201, 20010, 202, 20210
– Math/Stat: any course not cross-listed in CS
– Physics: any course a) not cross-listed in CS, b) not phys 220
– Chemistry: any course at or above 111. You may not use 111-112 if you are using them to satisfy your physical sciences requirement.
– Linguistics: 20001, 20101, 20201, 20202, 20301, 21000, 21600, 26040

How can I sign up for the Intro Placement Exams?

Incoming students should find the signup information via the Canvas placement exam page.

Current students interested in taking the exam can fill out this form to sign up for one of the upcoming exams.

I took one of the retired introductory sequences (1x1-1x2-154)? How do I find my degree requirements?

Students who completed one of the retired sequences should see the CS entry in the archived 2021-22 catalog. Here is a link.

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


Yes. If you have credit for PHYS 12100 and PHYS 12200, you may use it. If you have credit for PHYS 12100 only, you may follow up with any of PHYS 12200, 13200, or 14200 (assuming you have fulfilled whatever other prerequisites may be required to take any of those, or gotten consent). If you have AP credit for PHYS 12200 only and you would like to backtrack to complete a two-course PHYS sequence, we recommend PHYS 13100 or PHYS 14100, because PHYS 12100 has chemistry prerequisites that, if you fulfill, you will incidentally fulfill your physical sciences requirement along the way.

I'm a second or third year, and I'm having trouble getting into the classes I want. Should I sit on the sidelines and wait?

Probably not. We have high demand for our courses and you should expect that you might not always get your top choices. Keep moving forward and take the courses you can get into. Along the way, you might be pleasantly surprised and broaden your interests unexpectedly. And it’s important to keep making progress towards your degree.

Is it true that I can only take 2 CMSC courses per quarter?

No, but students are limited to getting 2 CMSC courses via pre-registration. This limit also applies to courses cross-listed with CMSC.

We keep this limit in place for the first 2-3 days of add/drop. After that, students are able to pick up a third class if it’s open for add/drop.

What does it mean to be on track for my CS major?

Computer Science considers:

  • Second-year students to be on track for graduation, if they have completed at least 3 CMSC 1xx courses by the end of Spring Quarter,
  • Third-year students to be on track for graduation, if they have completed the introductory sequence (4 courses) and at least 4 CMSC 2xx courses for a total of 8 courses by the end of Spring Quarter.
  • Fourth-year students to be on track for graduation at the end of Autumn quarter, if they have completed the introductory sequence (4 courses) and at least 6 CMSC 2xx courses for a total of 10 courses.
  • Fourth-year students to be on track for graduation at the end of Winter quarter, if they have completed the introductory sequence (4 courses) and at least 8 CMSC 2xx courses for a total of 12 courses.

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

Sometimes, yes; make sure you get any such transfer credits approved beforehand. Furthermore, please be aware of these relevant rules:
– No more than two transfer credits can be applied to the CS major.
– No more than one theory course and one systems course can be applied to the CS major.
– No course during study abroad may be used as part of the introductory sequence for the CS major or CS minor.

Can I take courses at other colleges or universities?

Once you begin your career at the University of Chicago, you can take courses from other universities only with extenuating circumstances. Study abroad has slightly different rules (see above). Make sure to get any such courses approved in advance, and be aware of these relevant rules:
– No more than two transfer credits can be applied to the CS major.
– No more than one theory course and one systems course can be applied to the CS major.
– No course from another university may be used as part of the introductory sequence for the CS major or CS minor. (Please note that this rule differs in the case of transfer students.)

Students must earn a grade of B or better for the courses to count towards her/his degree.

Can I count a course both towards a specialization and a major sequence requirement?

You may not. A specialization course may not also be counted towards either the PL and Systems sequence or the Theory sequence.

If I’m completing a specialization, do I have to take extra CS courses?

No. Students must take three courses from an approved list in lieu of three major electives. This means, of the five electives required for your BX degree, three of them will be going towards your specialization.

Where is the online petition to receive transfer credit?

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


Try to cultivate and develop a deep interest in a particular topic, to give your graduate school search and application a shape and direction. Also, consider getting involved in research while you’re here. Graduate school is all about research, so you should do some before you make long term plans about it.

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 and feel you can keep up with the material

Some graduate courses are structured such that individual learning is not assessed. As a result, only some graduate courses may be taken and count for CS major/minor requirements.

To determine if a course can be used for major/minor requirements you’ll need to consult Course-Info and refer to the “PhD course designations” pages posted each academic year.

Courses tagged as either Core or Elective may be used for major/minor requirements. Courses tagged as Seminar may not be used for major/minor requirements.

Can I fulfill CS major or minor requirements with MPCS courses?

Sorry, no. MPCS courses may not be counted towards your CS major or minor. We do, however, offer a joint program.

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

If the graduate course you wish to enroll in is being processed from the CS waitlist, you will need to add yourself to the appropriate waitlist.

For courses open for add/drop, you’re welcome to complete the College Student Registration Consent Form and have it signed by the instructor of the course you are trying to register for.

Can I declare a CS major just in case, even if I'm not sure I'll be going through with it?

You may declare a CS major up to and including the end of your fourth year. There is no consequence to declaring a major and then not fulfilling it, other than the obvious consequence of not completing the major itself, and furthermore you cannot graduate without having completed at least one major somehow. Having said all that, we discourage students from declaring a CS major speculatively; you should declare the major only if you intend to complete it.

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

We do not at present have a formal on-ramp for undergraduates interested in research. Consider approaching a faculty member after having taken one or more courses with them and having developed a special interest in the work. You can count one Reading and Research course as an elective towards your major; perhaps start by arranging Reading and Research with that faculty member and allow the work to progress organically from there. You should speak up if you aspire to do research; it is very unlikely anyone will invite you to do research out of the blue – you need to make your intentions known.

We do recommend joining the #research channel on the CS Slack space.

How do I complete a thesis?

Students in computer science may write a Bx (BA/BS) thesis to complete a major elective (CMSC 29900) and/or as part of their requirements for Computer Science Honors.

The Bx thesis, generally written in the fourth year, should be a substantial research paper. The project should be pursued largely independently, with faculty guidance and input. The thesis should demonstrate competence and scholarship in the chosen area, displaying the ability to understand and synthesize a wide range of readings (beyond material assigned in standard coursework).

Please see the Bx Thesis page for more information.

How do I earn a CS degree with honors?

Students may earn a BA or BS degree with honors by writing a successful bachelor’s thesis as part of CMSC 29900 Bachelor’s Thesis, and also attaining an average GPA of 3.50 or higher in courses in the CS major.

The thesis must be based on an approved research project that is directed by a faculty member and approved by the Bx Thesis Program Director. See the Bx Thesis Program page for more information.

Regarding the GPA requirement for honors, the first three introductory courses, CMSC 14100CMSC 14200, and CMSC 14300, do not factor into the calculation.

This policy applies to students who matriculate starting in AY 2026-27. For current students who plan to pursue the three-course option for honors, we will maintain a list of approved courses (on course-info) for that requirement for one more year, namely, AY 2026-27. After Spring 2027, there will no longer be a coursework option. This approach will allow current students to successfully complete the three-course route by taking approved courses this Spring and next year.