The requirements for an ScB are as follows:
Calculus prerequisite (zero to three courses)
Intro sequence (two courses)
Thirteen CS courses numbered 220 or higher
Two complete pathways (at least one core course from each)
Each requires two 1000-level courses as well as one-to-three intermediate courses
One of the courses used in one pathway must be a capstone course (defined below)
The core and related courses used in one pathway may not overlap with those used in the other
Additional intermediate courses so that a total of five are taken, with at least one from each of the three 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 three courses, at least two must be at the 1000-level or higher (i.e., one may be an intermediate course not otherwise used as part of the concentration). These may be approved 1000-level courses from other departments. 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)