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.

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 37115); Algorithms (CMSC 27200, CMSC 27230, or CMSC 37000); one Core Systems course (see Allowed Courses below); Machine Learning (CMSC 25400, CMSC 35400, or TTIC 31020); Reading and Research (Autumn); Reading and Research (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 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. 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 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 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 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 2, a course that can be counted as a Core Systems course in the Master's Program in Computer Science (MPCS) can only be counted as a Core Systems course in the Bx/MS program if an equivalent course does not exist in the computer science major.
  • 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. Students who have completed an introductory sequence in Computer Science (one of CMSC 12100CMSC 15100, or CMSC 16100 and one of CMSC 12200CMSC 15200, or CMSC 16200) are considered to have fulfilled the Core Programming requirement for the purposes of MPCS course prerequisites.
  • 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 23300 Networks and Distributed Systems 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