Second Major in Computer Science

Students in the Elliott School or the Columbian College of Arts and Sciences who desire a second major in computer science must apply in the School of Engineering and Applied Science.  Please contact [email protected] for admissions criteria and related information.

To receive a second major in computer science, students must complete the general curriculum requirements of their home school and the Department of Computer Science requirements listed below---which are based on whether their primary degree, from their home school, is a BS or a BA. Note that the university requires that at least 12 credits are exclusive to the second major.


BA Second Major Computer Science Requirements of 11 courses

Six required courses:

  • CSCI 1111 Introduction to Software Development (3)
  • CSCI 1112 Algorithms and Data Structures I (3); Prerequisites: CSCI 1111
  • CSCI 1311 Discrete Structures (3); Prerequisites: MATH 1220 or MATH 1231
  • CSCI 2113 Software Engineering (3); Prerequisites: CSCI 1112
  • CSCI 2461 Computer Architecture I (3); Prerequisites: CSCI 1112
  • CSCI 2441 Database and Team Projects (3); Prerequisites: CSCI 2113

Two electives from:

  • CSCI 3212 Algorithms (4); Prerequisite: CSCI 1311, 2113
  • CSCI 3313 Foundations of Computing (4); Prerequisite: CSCI 2461, 2113
  • CSCI 3410 Systems Programming (3); Prerequisite: CSCI 2461, 2113
  • CSCI 3411 Operating Systems (4); Prerequisite: CSCI 2461, 2113
  • CSCI 4223 Principles of Programming Languages (3); Prerequisite: CSCI 1311, 2113

Three electives from a Technical Track

Significant Independent Project:

Students pursuing a second major must complete a significant independent project. Thus, you must either:

  • complete a course in the second major that includes a thesis or significant project, or
  • complete CSci 4243 and CSci 4244

In both cases, you need the approval of your CS advisor.

Credits in residence requirement:
At least 24 credits in computer science courses must be completed in the School of Engineering and Applied Science.

Graduation GPA requirement:
To satisfactorily complete a second major, a student must have a minimum GPA of 2.2 in all the Department of Computer Science courses he or she has taken.

Admission requirement:
The admission criteria for the minor can be found here.