The requirements for an AB are as follows:
Calculus prerequisite (zero to three courses)
Intro sequence (two courses)
Seven CS courses numbered 220 or higher
One complete pathway
Requires two 1000-level courses as well as one-to-three intermediate courses
Additional intermediate courses so that a total of three are taken with at least one in each of two different intermediate-course categories
One additional 1000-level course that is neither a core nor a related course for the pathways used above
Of the remaining two courses, at least one must be at the 1000-level or higher (i.e., one may be an intermediate course not otherwise used as part of the concentration). One course may be an approved 1000-level course from another department. Unless explicitly stated in a pathway, such non-CS courses may not be used as part of pathways.
A professional track is also available. To complete this track, you must complete the requirements for your concentration and complete two two-to-four-month full-time professional experiences, doing work that's related to your concentration program. Such work is normally done within an industrial organization, but may also be at a university under the supervision of a faculty member.
You must either complete or place out of second-semester calculus (MATH 100, 170, or 190). Note that if you haven't had sufficient calculus in high school, you may need to take Math 90 (or other courses) before taking a second-semester calculus course.
You must complete one of these introductory course sequences:
Intermediate courses are grouped into categories as follows:
- Intro to Discrete Structures and Probability (CSCI 220)
- Theory of Computation (CSCI 1010)
- Linear Algebra (one of CSCI 530, Math 520, Math 540)
- Probability and Statistics (one of CSCI 1450, APMA 1650, APMA 1655)
- Multivariable Calculus (one of Math 180, Math 200, Math 350)
- Intro to Software Engineering (CSCI 320)
- Intro to Computer Systems (CSCI 330)