The Degree Requirements (Apply to the class of 2030 and later)
The program consists of a minimum of 13 major courses and 7 collateral courses:
The Core Computer Science Courses:
- Intro to Programming (CS 110)
- Computer Science I (CS 120)
- Data Structures and Algorithms (CS 150)
- Computers & Society (CS 200)
- Analysis of Algorithms (CS 202) [See Dept. Policies Page for Note on Math Requirement]
- Computer Organization (CS 203)
- Software Engineering (CS 205)
- Principles of Programming Languages (CS 301)
- Theory of Computation (CS 303)
- Operating Systems (CS 406)
- Senior Project (CS 470) or Senior Thesis (CS 495 & 496)
- and two additional 300-level or 400-level courses
[Note: Students with sufficient prior programming experience may, with instructor permission, begin in CS 120 instead of CS 110. In that case, they will take one additional CS course to replace CS 110]
The Math Requirements:
- MATH 161 (Calculus I)
- MATH 162 (Calculus II)
- MATH 182 (Discrete Structures)
- MATH 186 (Applied Statistics) or MATH 286 (Probability and Mathematical Statistics) or PSYC 120 (Quantitative Methods in Psychology) or [MATH 335 (Probability) AND MATH 336 (Mathematical Statistics)]
- MATH 272 (Linear Algebra with Applications) or MATH 282 (Techniques of Mathematical Modeling) or MATH 300 (Vector Spaces)
The Lab Science Requirements: Two laboratory courses in the natural sciences outside Computer Science.
Sample Bachelor of Science Curriculum
| Year | Fall Courses | Spring Courses |
|---|---|---|
| Year 1 | CS 110 First-Year Seminar Math 161 Elective to fulfill CCS |
CS 120 Math 162 Math 182 Elective to fulfill CCS |
| Year 2 | CS 150 Math 186 Elective to fulfill CCS Free elective |
CS 200 CS 205 Math 272 Elective to fulfill CCS |
| Year 3 | CS 202 CS 203 Elective to fulfill CCS Free elective |
CS 301 CS 303 Natural science with lab CS elective or Free elective |
| Year 4 | CS elective CS elective or Free elective Natural science with lab Free elective |
CS 406 CS 470 Elective to fulfill CCS CS elective or Free elective |
The Degree Requirements (Apply to the classes of 2028 and 2029)
The program consists of a minimum of 13 major courses and 7 collateral courses:
The Core Computer Science Courses:
- An intro course (CS 104 or CS 105)
- Data Structures and Algorithms (CS 150)
- Computers & Society (CS 200)
- Analysis of Algorithms (CS 202) [See Dept. Policies Page for Note on Math Requirement]
- Computer Organization (CS 203)
- Software Engineering (CS 205)
- Principles of Programming Languages (CS 301)
- Theory of Computation (CS 303)
- Operating Systems (CS 406)
- Senior Project (CS 470) or Senior Thesis (CS 495 & 496)
- and three additional 300-level or 400-level courses
The Math Requirements:
- MATH 161 (Calculus I)
- MATH 162 (Calculus II)
- MATH 182 (Discrete Structures)
- MATH 186 (Applied Statistics) or PSYC 120 (Quantitative Methods in Psychology) or [MATH 335 (Probability) AND MATH 336 (Mathematical Statistics)]
- MATH 272 (Linear Algebra with Applications) or MATH 282 (Techniques of Mathematical Modeling) or MATH 300 (Vector Spaces)
The Lab Science Requirements: Two laboratory courses in the natural sciences outside Computer Science.
Sample Bachelor of Science Curriculum
| Year | Fall Courses | Spring Courses |
|---|---|---|
| Year 1 | CS 104 or CS 105 First-Year Seminar Math 161 Elective to fulfill CCS |
CS 150 Math 162 Math 182 Elective to fulfill CCS |
| Year 2 | CS 202 CS 203 Elective to fulfill CCS Free elective |
CS 200 CS 205 Math 272 Elective to fulfill CCS |
| Year 3 | CS elective Math 186 Elective to fulfill CCS Free elective |
CS 301 CS 303 Natural science with lab Free elective |
| Year 4 | CS elective CS elective or Free elective Natural science with lab Free elective |
CS 406 CS 470 Elective to fulfill CCS CS elective or Free elective |
The Degree Requirements (Apply to the class of 2027 and earlier)
The program consists of a minimum of 13 major courses and 9 collateral courses:
The Core Computer Science Courses:
- An intro course (CS 104 or CS 105)
- Data Structures and Algorithms (CS 150)
- Computers & Society (CS 200)
- Analysis of Algorithms (CS 202) [See Dept. Policies Page for Note on Math Requirement]
- Computer Organization (CS 203)
- Software Engineering (CS 205)
- Principles of Programming Languages (CS 301)
- Theory of Computation (CS 303)
- Operating Systems (CS 406)
- Senior Project (CS 470) or Senior Thesis (CS 495 & 496)
- and three additional 300-level or 400-level courses
The Math Requirements:
- MATH 161 (Calculus I)
- MATH 162 (Calculus II)
- MATH 263 (Calculus III)
- MATH 182 (Discrete Structures) [or MATH 325 (Combinatorics) & MATH 335 (Probability) by petition]
- MATH 286 (Introduction to Probability and Mathematical Statistics) [or MATH 186 (Applied Statistics), or BIOL 265 (Biostatistics), or PSYC 120 (Quantitative Methods in Psychology), or MATH 335 & MATH 336 (Probability & Mathematical Statistics)]
- MATH 272 (Linear Algebra with Applications) or MATH 282 (Techniques of Mathematical Modeling) [or MATH 300 (Vector Spaces) by petition]
The Lab Science Requirements:
- One Natural Science lab elective outside the Department of Computer Science.
- Two paired Natural Science courses from one of the following options:
- Physics (131 & 132) or (151 & 152),
- Chemistry 107 & 108,
- Biology 111 & 112
Sample Bachelor of Science Curriculum
| Year | Fall Courses | Spring Courses |
|---|---|---|
| Year 1 | CS 104 or CS 105 First-Year Seminar Math 161 Elective to fulfill CCS |
CS 150 Math 162 Math 182 Elective to fulfill CCS |
| Year 2 | CS 202 CS 203 Math 263 Elective to fulfill CCS |
CS 200 CS 205 Math 272 Elective to fulfill CCS |
| Year 3 | CS elective Physics 131 Math 186 Elective to fulfill CCS |
CS 301 CS 303 Physics 132 Free elective |
| Year 4 | CS elective CS elective Natural science with lab Free elective |
CS 406 CS 470 Elective to fulfill CCS Free elective |