Bachelor of Arts (BA) Degree

Beginning with the class that matriculated at Duke in 2019 the requirements below define the BA degree. The classes that matriculated in 2016, 2017, and 2018 can use either these new requirements or the previous requirements.

Prerequisites:

  • One of the following introductory COMPSCI courses or equivalent:
    • COMPSCI 101L (Introduction to Computer Science)
    • COMPSCI 102 (Interdisciplinary Introduction to Computer Science)
    • COMPSCI 116 (Foundations of Data Science)
  • MATH 111L (Introductory Calculus I) or equivalent
  • MATH 112L (Introductory Calculus II) or equivalent

Requirements:

  • COMPSCI 201 (Data Structures and Algorithms)
  • COMPSCI 230 (Discrete Math for Computer Science)
  • COMPSCI 250 (Computer Organization and Programming)
  • COMPSCI 330 (Introduction to the Design & Analysis of Algorithms)
  • One of the following COMPSCI courses on systems:
    • COMPSCI 310 (Introduction to Operating Systems) or 510 (Advanced Operating Systems)
    • COMPSCI 316 (Introduction to Databases) or 516 (Database Systems)
    • COMPSCI 350 (Digital Systems, cross-listed as ECE 350) or 550 (Advanced Computer Architecture, cross-listed as ECE 552)
    • COMPSCI 351 (Computer Security) or 551 (Advanced Computer Security)
    • COMPSCI 356 (Computer Network Architecture) or 514 (Computer Networks and Distributed Systems)
  • Three electives at 200-level or higher (beyond those counted towards the requirements above):
    • One COMPSCI course that is not an independent study
    • Two in COMPSCI (independent study possible), MATH, STA, or a related area approved by the Director of Undergraduate Studies

Course Substitutions

Possible course substitutions pre-approved by the Director of Undergraduate Studies.