Previous Requirements

Previous BS Degree requirements on this page include:

2012-2018 BS Degree requirements

Beginning with the class that matriculates at Duke in 2012 the requirements below define the BS degree. The classes of 2013, 2014, and 2015 can use either these new requirements or the previous requirements below. Pre-fall 2012 course numbers are shown in parenthesis.


COMPSCI 101L (06L) * Introduction to Computer Science
MATH 111L (31) * Introductory Calculus I
MATH 112L (32) * Introductory Calculus II

*Or equivalent


COMPSCI 201 (100) Data Structures and Algorithms
COMPSCI 230 (102) Discrete Math for Computer Science
COMPSCI 250 (104) Computer Organization and Programming
COMPSCI 310 (110) Introduction to Operating Systems
COMPSCI 330 (130) Introduction to the Design & Analysis of Algorithms
MATH/STA Two courses: one a statistics course at or above Statistics 111 (103), this includes the cross-listed Math 230 (135). The other course is one of either Math 202 (102), 216 (107), 218, or 221 (104).
Five Electives Three computer science electives that are not independent study courses. Two electives from computer science (independent study possible), math, statistics, or a related area approved by the director of undergraduate studies. Electives must be 200-level or above.

Course Substitutions

Possible DUS-approved course substitutions can be found here

Before 2012 BS Degree requirements

These BS Degree requirements are for students who matriculated prior to 2012. Current BS requirements can be found here.


(or 6L or 6X)
Introduction to Program Design & Analysis I (or equvalent) 
MATH 31  Introductory Calculus I 
MATH 32  Introductory Calculus II 
MATH 103 Intermediate Calculus 
MATH 104 Linear Algebra and Applications

Major Requirements: 

Core Courses:

COMPSCI 100  Program Design and Analysis II 
COMPSCI 104  Computer Organization and Programming 
COMPSCI 108  Software Design and Implementation 
COMPSCI 110  Introduction to Operating Systems 
COMPSCI 130  Introduction to the Design and Analysis of Algorithms 
COMPSCI 140  Mathematical Foundations of Computer Science 
COMPSCI 150  Introduction to Numerical Methods and Analysis 

One of the following three combinations:

(1) COMPSCI 102  Discrete Math for Computer Science 
(2) MATH 135  Probability
  MATH 124  Combinatorics
(3) MATH 135  Probability
  MATH 187 Introduction to Mathematical Logic 

Three Electives:

>100- or 200-level Computer Science course (not an independent study course)
Two Electives 100- or 200-level electives in Computer Science, Electrical Engineering, Mathematics, Statistics, or in a related area approved by the Director of Undergraduate Studies.