These requirements have been replaced with the 2024 requirements, though the 2020 ones are still available for students in classes 2024-2027.
The 2020 requirements for an ScB are as follows:
-
Calculus prerequisite (zero to three courses) (see below)
-
Intro sequence (two courses) (see below)
-
Five intermediate courses (see below), with at least one from each of the three intermediate-course categories
-
Two complete pathways
-
Each requires two 1000-level (or higher) CSCI courses as well as one-to-three intermediate courses (which can overlap the five intermediate courses required for the concentration)
-
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
-
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 pathways
-
Three additional courses (electives)
-
One may be an intermediate course not otherwise used as part of the concentration. The others must be 1000-level or 2000-level courses, including approved non-CS courses (see the concentration handbook for a list of such courses)
-
-
No more than four arts, humanities, or social science oriented CS courses may be used for concentration credit (see the concentration handbook 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. More details are in the professional track page.
The Capstone
A capstone course is taken in your last undergraduate year. This course must be either a capstone-designated course in one of your pathways or a CS1970 on a topic within the general area of one of your pathways. You (alone or as part of a group) use a significant portion of your undergraduate education, broadly interpreted, to study some current topic in depth, to produce a culminating artifact such as a paper or software project. The title and abstract of the artifact, along with your and the faculty sponsor's names, will be placed in the CS website. The inclusion of a relevant image or system diagram is strongly encouraged. The complete text of the best artifacts of each class will be featured on the CS website.
Calculus Prerequisite
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. MATH 180, MATH 200, MATH 350, and ECON 170 also satisfy this requirement.
Introductory Courses
You must complete one of these introductory course sequences:
-
CSCI 0111 followed by either CSCI 0112 and CSCI 0180/CSCI 0200 or only CSCI 0180/0200 (skipping 0112 requires completion of additional work within 0111). [At this time, CSCI 0180/0200 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)