Contacts | Bx/MS Option 1: Research-Oriented Computer Science Majors | Bx/MS Option 2: Professionally Oriented Computer Science Majors | Bx/MS Option 3: Professionally Oriented Non–Computer Science Majors | Allowed Courses | Additional Rules | Admissions and Advising

Outstanding undergraduates may apply to complete an MS in computer science along with a BA or BS (generalized to "Bx") during their four years at the College. Students must be admitted to the joint MS program. There are three different paths to a Bx/MS: a research-oriented program for computer science majors (Option 1 below), a professionally oriented program for computer science majors (Option 2), and a professionally oriented program for non-majors (Option 3).

Participants in the Bx/MS program must meet the requirements for the BA or BS, complete nine courses for the MS, and, if applicable, a master's project. Students must earn a C+ or higher in any course counted toward an MS requirement. Students may double-count up to two courses toward both their Bx and MS degrees. By the beginning of their starting Bx/MS quarter, students must have completed 3900 of the 4200 units of credit required by the College, including all general education requirements. 

To be considered for the program, students need to have earned a 3.5 GPA and have completed one of the following:

The detailed requirements of the three program options follow.

Bx/MS Option 1: Research-Oriented Computer Science Majors

Option 1 is designed for computer science majors who are actively engaged in research with a Computer Science faculty member and would like to continue that research in their fourth year with the goal of producing a research-oriented MS paper. Option 1 is not intended for students without prior research experience

Students pursuing a Bx with a computer science major currently have to take at least fourteen courses chosen from an approved program, while obtaining an MS requires nine courses. The research-oriented option requires students to take a total of twenty-one courses: twelve that count only toward the Bx degree, seven that count only toward the MS, and two that count toward both the Bx and MS degrees.

The nine courses required for the MS degree under Option 1 are as follows: Discrete Mathematics (CMSC 27100, CMSC 27130, or CMSC 37115); Algorithms (CMSC 27200, CMSC 27230, or CMSC 37000); one Core Systems course (see Allowed Courses below); Machine Learning (CMSC 25300, CMSC 35300CMSC 25400, CMSC 35400, or TTIC 31020); two Reading and Research courses (no more than one per quarter); and three electives.

At most two courses can be drawn from the CMSC 20000-level course list, and at most two courses can be counted towards a student’s computer science major and MS degree. Option 1 students are expected to take their electives from the Computer Science Department’s CMSC 30000-level offerings and selected TTIC (Toyota Technological Institute at Chicago) offerings.

Students in this option are required to complete a master’s project, write a report describing the project, and give a public presentation. Master’s projects are overseen by a faculty member and evaluated by a committee of three faculty members, including the student’s project adviser. The two required Reading and Research courses are intended to help students get started on their projects early in their fourth year and to complete their projects in a timely fashion.

Bx/MS Option 2: Professionally Oriented Computer Science Majors

Option 2 is designed for computer science majors who are seeking the opportunity to build upon their foundational skills and take some industry-oriented electives. As with Option 1, computer science majors who are pursuing a joint Bx/MS are required to take a total of twenty-one courses: twelve that count only toward the Bx degree, seven that count only toward the MS, and two that count toward both the Bx and MS degrees.

The nine courses required for the MS degree under Option 2 are as follows: Discrete Mathematics (CMSC 27100, CMSC 27130, or CMSC 37115); Algorithms (CMSC 27200, CMSC 27230, or CMSC 37000); two Core Systems courses (see Allowed Courses below); and five electives.

At most two courses can be drawn from the CMSC 20000-level offerings, and at most two courses can be counted toward both a student’s computer science major and MS degree. Option 2 allows students to take electives from the Computer Science Department’s CMSC 30000-level and MPCS 50000-level offerings and selected TTIC offerings. 

Bx/MS Option 3: Professionally Oriented Non–Computer Science Majors

Option 3 is designed for students who are not computer science majors and wish to combine a professionally oriented MS in computer science with their undergraduate major. Students in this option are expected to complete nine courses, two of which can be also counted as electives toward a student’s BA or BS.

The nine courses required for the MS degree under Option 3 are as follows: Discrete Mathematics (CMSC 27100, CMSC 27130, CMSC 37115, or MPCS 50103) or Core Programming (see Allowed Courses below); Algorithms (CMSC 27200, CMSC 27230, CMSC 37000, or MPCS 55001); three Core Systems courses (see Allowed Courses below); and four electives.

Students in this option are allowed to take electives from the department’s CMSC 20000-level, CMSC 30000-level, and MPCS 50000-level offerings or selected TTIC offerings (see Allowed Courses below for more details). At most two courses can be drawn from the department’s CMSC 20000-level offerings. At most two courses can be counted toward both a student’s Bx and MS degrees, with the following constraints:

  • A CMSC/MPCS/TTIC course that counts toward the MS degree can always be double-counted as a College elective.
  • A CMSC/MPCS/TTIC course that counts toward the MS degree may be double-counted toward the student’s major, as long as it is a course that is already routinely counted toward that major. If not, the adviser for the major would have to approve this course.

Allowed Courses

The following guidelines are used when deciding whether a course can be counted toward the Bx/MS requirements:

  • In general, only courses with CMSC/MPCS/TTIC codes can be counted toward the MS requirements. Students may count, with prior approval, one course from a non-CS program as long as it is a computationally oriented class. For Option 3, the non-CS course can be a quantitatively oriented class (not necessarily computationally oriented) only if it is being double-counted toward the student's major.

  • In all options, courses that can be counted as Core Systems courses in the computer science major or the PhD program can be counted as Core Systems courses in the Bx/MS program.

  • In Option 3, any MPCS Core Programming course can be counted as a Core Programming course, unless the student has already taken an introductory CMSC 100-level course in the same language as the Core Programming course the student wishes to take. 

  • In Option 3, any MPCS Core Systems course can be counted as a Core Systems course in the Bx/MS program.

  • In all options, CMSC 20000-level, CMSC 30000-level, and TTIC courses can generally be counted as electives.

  • In Options 2 and 3, MPCS courses can generally be counted as electives.

  • In all options, students may not count two courses with different course codes that have significant overlap (e.g., CMSC 23320 Foundations of Computer Networks and MPCS 54001 Networks).

  • Bx/MS students may not enroll in the MPCS Practicum program.

  • Bx/MS students may not count a CMSC 29700 Reading and Research in Computer Science or a CMSC 29900 Bachelor's Thesis course toward their MS requirements.

  • Students may not count any 10000-level courses toward their MS requirements, in any option.

Additional Rules

  • Students can only take exactly three courses per quarter. Exceptions are only made, with prior approval, if the student needs to take an additional course to meet a graduation requirement.
  • In Options 1 and 2, MPCS courses cannot be double-counted toward a computer science major requirement.

  • Students who have completed an introductory sequence in Computer Science (one of CMSC 12100, CMSC 14100, CMSC 15100, or CMSC 16100, and one of CMSC 12200, CMSC 14200, CMSC 15200, or CMSC 16200) are considered to have fulfilled the Core Programming requirement for the purposes of MPCS course prerequisites. These courses do not count toward any MS requirement.

  • In all options, at most two courses can be drawn from the 20000-level offerings. 

  • In all options, at most two courses can be counted toward both a student’s Bx and MS degrees.

Admissions and Advising

Students apply to start the Bx/MS program in:

  • Autumn Quarter of their fourth year, graduating in the following Spring Quarter

  • Winter Quarter of their fourth year, graduating in the following Summer Quarter or Autumn Quarter

This program has two admissions cycles: one in January/February to apply to the Autumn Quarter start, and one in June to apply to the Winter Quarter start. Students interested in a Winter Quarter start should not apply in the first admissions cycle.

The Department of Computer Science holds an information session on the Bx/MS program, including details for that year's application process, at the start of the Winter Quarter. Slides from the latest information session can be found here: cs.uchicago.edu/academics/undergraduate/joint-bx-ms-programs.

Students may also find answers to common questions in the Bx/MS FAQ for prospective students.

Advising appointments can only be made by third-year students who are planning to apply or are actively applying to the Bx/MS program. Students interested in the Bx/MS program should plan to attend the yearly Bx/MS information session, as that will often answer most questions about the program.


Contacts

Undergraduate Primary Contacts

Department Joint Degree Adviser (Option 1)
Borja Sotomayor

773.702.2279
Email

Department Joint Degree Adviser (Options 2 and 3)
Jessica Garza
JCL 374
773.702.2336
Email