Welcome! This site contains information for computer science majors at the University of Chicago. The major advisor (and person typing right now) is Adam Shaw.

In a nutshell. The CS major consists of three intro courses, three theory courses, three systems courses, and five electives. The old 150s-based major consisted of that, but the new-as-of-Autumn-2022 major consists of four intro courses (the 140s), three theory courses, two systems courses, and five electives. Please note that if you took the 150s sequence (or one of its variations), you are still obliged to take three systems courses.

Catalog. The document of record enumerating the detailed requirements of the computer science major is the computer science section of the college catalog. The information on these pages overlaps with what's in the catalog a fair amount, but the catalog is the authoritative text we refer to when questions arise.

Pass/fail. In light of our current out-of-the-ordinary circumstances, there is a special pass/fail policy in place for academic year 2020–2021. Please read about it here.

FAQ We have relocated the CS major FAQ here.

Designations. The major requires that different numbers of courses be taken in different areas: Programming Languages and Systems, Theory, etc. To see which course holds which designation, refer to this page.

Honors. For students interested in taking graduate courses for credit towards an Honors degree or otherwise, this page lists the graduate courses that are designated as electives (and as such are eligible for Honors credit).

Undergraduate thesis. For students interested in writing a BA/BS thesis (for CMSC 29900 credit and/or Honors credit), refer to this page.

Specializations. For students interested in a major specialization (such as Data Science or Computer Security), the following page shows which courses count towards which specializations. To petition for an undesignated course to count towards a specialization, please complete this form.

Related courses. To request related courses for the BS, please fill out this form:

Transfer credit. To petition for transfer credit, please follow this link to the Online General Petetion to receive Transfer Credit.

Schedule. Current course information is displayed in a variety of useful ways at

Minors. CS minors are referred to

Mailing lists. Computer science majors (and anyone CS-adjacent or CS-curious) ought to subscribe to the undergrads mailing list. I also recommend the student events mailing list, where weekly Hack Nights and other activities are publicized.

Associates. In my role as major advisor, I work closely with Director of Undergraduate Studies Anne Rogers and Assistant Director of Undergraduate Studies Jessica Garza.

Contact. You can reach out to us with questions by sending email to Your question will go into a pool of questions and one of us on the CS advising team will get back to you.

Yours truly in the era of remote instruction (home office, Dec 2020).

Internet. The CS department maintains a YouTube channel, where you can view talks and other items of interest. We also have a twitter feed.

Thanks for visiting!

03 December 2020 01:35:00pm