Bachelor of Arts in Computer Science

Computer Science (AB) - Academic Requirements

We have revised our AB degree requirements to include AI as part of the core, including one AI course--either COMPSCI 270 and COMPSCI 272. First-year students who matriculate at Duke in Fall 2026 will be subject to these major changes.

Students who matriculated at Duke prior to Fall 2026 are grandfathered into the old major requirements HERE.

Students must successfully complete at least 11 required units to finish the Computer Science major. Degree candidates must successfully complete at least 34 units total to earn the Bachelor of Arts degree.

To add, drop, or change a major, minor, certificate, or concentration, please complete the form on this page.

Prerequisite Courses (3 units) from the following:

  • Introductory Course - COMPSCI 101L* OR COMPSCI 102L OR COMPSCI 116
  • Math Requirement - MATH 111L & MATH 112L OR MATH 21 & MATH 22 / Other equivalents may also count.
  • Math/Stats Requirement - one of the following:
    • STA 230/MATH 230
    • STA 230S/MATH 230S
    • STA231/MATH 340
    • MATH 231
    • STA 240L

*NOTE: We will waive the COMPSCI 101 requirement if you successfully take and complete COMPSCI 201.

Core Courses (5 units) from the following:

  • COMPSCI 201
  • COMPSCI 230 OR COMPSCI 231D OR COMPSCI 232 see substitutions
  • COMPSCI 210D OR COMPSCI 250D
  • COMPSCI 270 OR COMPSCI 272
  • COMPSCI 330

Systems Course (1 unit) - one of the following:

  • COMPSCI 310 OR COMPSCI 510
  • COMPSCI 316 OR COMPSCI 516
  • COMPSCI 345
  • COMPSCI 350L OR COMPSCI 550
  • COMPSCI 351 OR COMPSCI 581
  • COMPSCI 356 OR COMPSCI 514
  • COMPSCI 512

Electives (2 units)

  • 1 COMPSCI course - 200-level or higher, with QC code OR a COMPSCI independent study course
  • 1 COMPSCI course - 200-level or higher OR an independent study course which has a substantial emphasis on computer science topics within any department approved by the Director of Undergraduate Studies (DUS)

A comprehensive list of elective courses is available to students in Stellic, the degree audit system.

Eligibility for specific substitutions may vary by academic plan. A consultation with the Director of Undergraduate Studies is required before final approval can be granted to receive credit for a substitution. 

See the CS Course Substitutions Guide for possible course substitutions which have been pre-approved by the DUS.

Course Substitutions Guide

Areas of Concentration

Students may elect to complete requirements in specified areas of concentration. Currently, there is one area of concentration in the AB Computer Science major: software engineering and design(link opens in a new window/tab).

Concentrations are a pathway through our curriculum designed to guide students with interests and career goals in a particular area. They conform to the AB requirements above and do not require any additional courses, but they may require more specific choices of courses and sometimes additional prerequisites. They are not required for the AB major.

To declare one of these concentrations for your AB, please refer to the page on declaring or changing your major on T-Reqs. By successfully completing a pathway below, you will receive the corresponding concentration designation on your official transcript.

For additional information on areas of concentration, contact the Director of Undergraduate Studies in Computer Science (dus@cs.duke.edu).

Departmental Graduation with Distinction

A program for Graduation with Distinction (GWD) in Computer Science is available. Candidates for a degree with Distinction, High Distinction, or Highest Distinction must apply to the Director of Undergraduate Studies (DUS) and meet certain criteria.

See the CS Graduation with Distinction webpage for additional information, resources, and how to apply.

Learn more