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 107/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 107/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 107/111 or above and must include CS216.

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, 111.