DRAFT - Bachelor of Science in Computer Science

Computer Science (BS) - Academic Requirements

We have revised our BS degree requirements to include AI as part of the core, including two AI courses--COMPSCI 270 and an AI elective. 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.

Students must successfully complete at least 15 units total to finish the major. Candidates must successfully complete at least 34 units total to earn the Bachelor of Science in Computer Science 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 101L requirement if you successfully take and complete COMPSCI 201.

Core Courses (4 units) from the following:

  • COMPSCI 201
  • COMPSCI 230 OR COMPSCI 231D OR COMPSCI 232
  • COMPSCI 210D OR COMPSCI 250D
  • COMPSCI 270 OR (one of MATH 202, MATH 212,  or MATH 219) AND (one of MATH 216 or MATH 218 or MATH 221) )
  • 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

Artificial Intelligence Course (1 unit) - one of the following:

  • COMPSCI 370 OR COMPSCI 570
  • COMPSCI 371 OR COMPSCI 671
  • COMPSCI 376
  • COMPSCI 526
  • COMPSCI 527
  • COMPSCI 572

Electives (4 units)

  • 3 COMPSCI courses - 200-level or higher, with QC code, one of which MAY be a COMPSCI independent study course
  • 1 COMPSCI course - 200-level or higher and MAY be 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, available areas of concentration in the BS Computer Science major are: software systems, data science, artificial intelligence and machine learning, and software engineering and design.

These concentrations are pathways through our curriculum designed to guide students with interests and career goals in these areas. They conform to the BS requirements above and do not require any additional courses, but they may require more specific choices of courses and sometimes additional prerequisites. However, they are not required for the BS major.

To declare one of these concentrations for your BS, 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 the following criteria:

  • Must have a grade point average of 3.0 or higher in computer science courses numbered above 200.
  • Must complete a substantial project, representing at least one year’s work and including at least one independent study course, under the guidance of a Computer Science faculty member who oversees and endorses the project.
  • The project should represent a significant intellectual endeavor including the writing of a report.
  • A presentation of the project must be made to a committee comprised of at least three faculty members, two of whom will normally be from the Department of Computer Science. For interdisciplinary projects, this restriction can be relaxed.

Graduation with High or Highest Distinction are awarded at the discretion of the faculty committee in consultation with the DUS. Graduation with High or Highest Distinction are typically awarded for projects that are of publishable quality. Additionally, candidates for a degree with high or highest distinction should have a grade point average of 3.5 or higher in those computer science courses related to the area of research. Finally, these courses must include at least one course at the 500 level. See the CS Graduation with Distinction webpage for additional information, resources, and how to apply.

Learn more