Previous BA Degree requirements on this page include:

## 2012-2018 BA Degree requirements

Beginning with the class that matriculates at Duke in 2012 the requirements below define the BA 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.

### Prerequisites:

COMPSCI 101L (06L) * | Introduction to Computer Science |

MATH 111L (31) * | Introductory Calculus |

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 |

Three Electives: | One in computer science that is not an independent study. Two in either computer science (independent study possible), math, statistics, electrical and computer engineering, 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 BA Degree requirements

These BA degree requirements are for students who matriculated prior to 2012. Current BA requirements **can be found here.**

### Prerequisites:

COMPSCI 6 (or 6X or 6G) | Intro to Program Design & Analysis I (or equivalent) |

MATH 31 | Introductory Calculus I |

MATH 32 | Introductory Calculus II |

### 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 & Analysis of Algorithms |

**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 |

**Two Electives:**

One COMPSCI Elective |
100- or 200-level Computer Science course (not an independent study course) |

One Elective | 100- or 200-level elective in Computer Science, Electrical Engineering, Mathematics, Statistics, or in a related area approved by the Director of Undergraduate Studies. |