Major & Minor

Requirements for the Computer Science major
The requirements for a Bachelor of Arts in computer science are 10 courses in computer science at the level of Computer Science 111 or above. One of the courses may be selected from a list of approved courses offered by other departments.

The 10 courses must include:

  • Computer Science 111: Computer Science I
  • Computer Science 112: Computer Science II
  • Computer Science 201: The Mathematics of Computation OR Math 215: Abstract Mathematics I
  • Computer Science 216: Data Structures
  • Computer Science 221: Computer Organization and Assembly Language Programming
  • Computer Science 301: Theory of Computation
  • Computer Science 440: Advanced Systems Design (taken during the senior year)

Plus three CS elective courses (non-core) at the 200- or 300-level, optionally including at most one from the following list:

  • Biology 251
  • Mathematics 353 and 366
  • Physics 240
  • Psychology 315, 316 or 338

In addition to the 10 courses in computer science, students must take:

  • Equivalent of Mathematics 111 or above (usually taken during the first year)

Bachelor of Science major in Computer Science

A Bachelor of Science major in Computer Science has the same requirements as a Bachelor of Arts major in Computer Science plus four additional courses from formal and/or natural science departments.  At most two of the additional courses may be at the 100-level.

Requirements for the Computer Science minor

The minor in Computer Science consists of any six Computer Science courses numbered 111 or above and must include CS216 and at least one 300 level course (other than CS301).

Grade Requirements: All courses taken to satisfy the requirements for the major or minor must be taken using the A–F grading system. To advance to a course with prerequisites, a minimum grade of C– is required for each prerequisite course. A student completing a Computer Science major course may not concurrently or subsequently be enrolled in a prerequisite, alternate prerequisite, or non-major Computer Science course. For example,

  • 216 disallows 103, 107, 111, 112.
  • 112 disallows 103, 107, 111.
  • 111 disallows 103, 107.
  • 107 disallows 103.

Note: Starting with Fall 2020 CS107 is no longer equivalent to CS111.