The bachelor of science in computer science provides a comprehensive curriculum.

- be able to work in a team to analyze, design, and implement a computerized solution to a substantial problem;
- be able to enter an appropriate graduate program or be hired as a computing professional;
- have a broad background in computer science.

Students must maintain a minimum 2.0 GPA in all CS courses.

The Core Computer Science Courses

- Intro courses (CS 104, CS 105, or CS 106)
- 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 Major Math Requirements

- MATH 161 (Calculus I)
- MATH 162 (Calculus II)
- 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 263 (Calculus III)
- MATH 272 (Linear Algebra with Applications) or MATH 282 (Techniques of Mathematical Modeling) [or MATH 300 (Vector Spaces) by petition]

Natural Science requirements outside of the major fulfill all Common Course of Study Natural Science requirement, which includes:

- 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

**Additional Major Requirements**

The following should be completed by the end of Sophomore year.

- An intro course (CS 104, CS 105, or CS 106)
- Data Structures and Algorithms (CS 150)
- Analysis of Algorithms (CS 202)
- Computer Organization (CS 203)
- Software Engineering (CS 205)
- Calculus I (Math 161), Calculus II (Math 162), and Discrete Structures (Math 182)

First Year Fall Courses |
First Year Spring Courses |

CS 104, CS 105, or CS 106 | CS 150 |

First-Year Seminar | Math 162 |

Math 161 | English Elective |

Math 182 | |

Second Year Fall Courses |
Second Year Spring Courses |

CS 202 | CS 303 or a 300- or 400-level course |

CS 203 | CS 205 |

Math 263 | CS 200 (In Dept Writing Course) |

Humanities/social science elective | Math 282 (Math Modeling) |

Third Year Fall Courses |
Third Year Spring Courses |

CS 401 or a 300- or 400-level course | CS 303 & hum/soc or CS 301 & CS 406 |

Physics 121 or 131 | Physics 122 or 133 |

Math 286 | Free elective |

Humanities/social science elective | |

Fourth Year Fall Courses |
Fourth Year Spring Courses |

CS 495 | CS 470 |

CS 401 or a 300- or 400-level course | CS 303 & hum/soc or CS 301 & CS 406 |

Natural science with lab | Humanities/social science elective |

Free elective | Free elective |