These requirements have been replaced with the 2024 requirements, though the 2020 ones are still available for students in classes 2024-2027.
The requirements for an AB are as follows:
-
Calculus prerequisite (zero to three courses) (see below)
-
Intro sequence (two courses) (see below)
-
Three intermediate courses (see below) that touch at least two of the intermediate-course categories
-
One complete pathway
-
Requires two 1000-level (or higher) CSCI courses as well as one-to-three intermediate courses (which can overlap the three intermediate courses required for the concentration)
-
Unless explicitly stated in a pathway, non-CS courses may not be used as part of pathways
-
-
One additional 1000-level (or 2000-level) CSCI course that is neither a core nor a related nor a grad course for the pathway
-
One additional course (elective)
-
This may be an intermediate course not otherwise used as part of the concentration. Otherwise, it must be a 1000-level or 2000-level course, including approved non-CS courses (see the for a list of such courses)
-
-
No more than two arts, humanities, or social science oriented CS courses may be used for concentration credit (see the for the current list of such courses)
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.
Calculus Prerequisite
You must either complete or place out of second-semester calculus (MATH 100, 170, or 190). MATH 180, MATH 200, MATH 350, and ECON 170 also satisfy this requirement. 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.
Introductory Courses
You must complete one of these introductory course sequences:
-
CSCI 0111 followed by either CSCI 0112 and CSCI 0180/0200 or only CSCI 0180/0200 (skipping 0112 requires completion of additional work within 0111). [At this time, CSCI 0180 is taking the place of the previously-announced CSCI 0113]
-
CSCI 0150 and 0200 (or 0160)
-
CSCI 0170 and 0200 (or 0180)
-
CSCI 0190 followed by any more advanced course or CSCI 0180/0200
Intermediate Courses
Intermediate courses are grouped into categories as follows:
Foundations
-
Intro to Discrete Structures and Probability (CSCI 220); MATH 1530 may be used instead
-
Theory of Computation (CSCI 1010)
Mathematics
-
Linear Algebra (one of CSCI 530, MATH 520, MATH 540)
-
Probability and Statistics (one of CSCI 1450, APMA 1650, APMA 1655, MATH 1620)
-
Multivariable Calculus (one of MATH 180, MATH 200, MATH 350)
Systems (only one of CSCI 300 and CSCI 330 may be counted)
-
Fundamentals of Computer Systems (CSCI 300)
-
Intro to Software Engineering (CSCI 320)
-
Intro to Computer Systems (CSCI 330)