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

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 may double-count up to two courses toward both their Bx and MS degrees. By the conclusion of their third year, students must have completed 3900 of the 4200 units of credit required by the College, including all general education requirements.

See https://www.cs.uchicago.edu/page/department-computer-science-bxms-program-admissions-requirements for details about the Bx/MS application process.

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 interested in research. 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 37100); Algorithms (CMSC 27200, CMSC 27230, or CMSC 37000); one systems core course (see Allowed Courses below); Machine Learning (CMSC 25400, CMSC 35400, or TTIC 31020); Research Practicum (Autumn); Research Practicum (Winter); 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 practicums 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 37100); Algorithms (CMSC 27200, CMSC 27230, or CMSC 37000); two Systems core 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. With prior approval, Option 2 also allows one course from a graduate program outside of the Computer Science Department.

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 37100, or MPCS 50103) or Core Programming (MPCS 51036, MPCS 51040, or MPCS 51100); Algorithms (CMSC 27200, CMSC 27230, CMSC 37000, or MPCS 55001); three Systems core courses (see Allowed Courses below); and four electives.

Students in the 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.
  • Students can double-count, with prior approval, at most one non-CMSC/MPCS/TTIC course (which, on the BA/BS side, can count toward any College or major requirement).

Allowed Courses

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

  • In all options, courses that can be counted as Systems courses in the computer science major or the PhD program can be counted as Systems courses in the Bx/MS program.
  • In Option 2, a course that can be counted as a Systems course in the Master's Program in Computer Science (MPCS) can only be counted as a Systems course in the Bx/MS program if an equivalent course does not exist in the computer science major.
  • In Option 3, any MPCS Systems course can be counted as a 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 11710 Networks and MPCS 54001 Networks).

Contacts

Undergraduate Primary Contact

Department Joint Degree Adviser
Borja Sotomayor

773.702.2279
Email

Undergraduate Secondary Contact

Departmental Counselor
Diana Franklin
Eckhart 119
773.702.4029
Email