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 Pre-2012 requirements below. Pre-fall 2012 course numbers are shown in parenthesis.
Prerequisites:
COMPSCI 101L (06L) * | Introduction to Computer Science |
MATH 111L (31) * | Introductory Calculus I |
MATH 112L (32) * | Introductory Calculus II |
*Or equivalent
Requirements:
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.
Prerequisites:
COMPSCI 6 (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:
One COMPSCI Elective |
>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. |