Major Requirements
Computer Science Major Description
First-year students interested in majoring in Computer Science should enroll in CSI 111 during their first semester at the College. Many of our upper-level courses in both majors require MAT/CSI 240 Discrete Mathematics, so we encourage prospective majors to take this course during their freshman or sophomore year.
The major in computer science consists of at least eleven courses and a senior capstone experience.
Computer Science Major Course Tree
Computer Science Major Requirements Table
Foundational Courses (take all of these)
CSI 111 | Computer Science I |
CSI 112 | Computer Science II |
CSI 210 | Object Oriented Programming |
MAT/CSI 240 | Discrete Mathematics |
CSI 320 | Theory of Computation |
CSI 380 | Design and Analysis of Algorithms |
CSI 460 | Software Engineering |
Mathematics Course (take one of these)
MAT 109 |
Statistical Inference and Data Analysis |
MAT 111 |
Differential Calculus |
MAT 106 and 107 |
Stretch Differential Calculus I and II (must take both) |
MAT 280 |
Linear Algebra |
Electives (take three of these)
Choose three Electives Chosen from CSI courses numbered 200 and above or any other course approved by the department chair.
Completion of a three-course track (which may include courses listed above)
- A track is a set of three related courses, mutually agreed upon by the student and their computer science advisor (with chair final approval).
- Track courses may include major requirements, computer science electives, or courses outside computer science.
- Track requirements will usually be satisfied by courses that are also used to meet other requirements, such as computer science electives. There is no restriction against courses counting towards the track and something else.
- Track suggestions include (but are not limited to)
Systems |
CSI 250 / CSI 430 / CSI 440 |
Data Science | MAT 109 / CSI 220 / CSI 360 |
Software | CSI 330 / CSI 380 / CSI 460 |
Agents | CSI 310 / CSI 360 / CSI 420 |
Electronics | CSI 250 / MAT 210/ PHY 352 |
Cybersecurity | CSI 250 / CSI 440 / MAT 310 |
Games, GUIs, and Graphics |
CSI 104 / CSI 330 / CSI 410 |
Other | Must be approved by the chair. |
The Computer Science Minor
The minor in computer science consists of at least six courses.
CSI 111 | Computer Science I |
CSI 112 | Computer Science II |
CSI 210 | Object Oriented Programming |
MAT/CSI 240 | Discrete Mathematics |
Two elective courses from other required or elective courses listed above. |