CS Course Paths
Back in May, we recorded a video for incoming students on which CS courses to take. This post is a followup to that video.
Math and CS students are both expected to take CS courses in their first two terms. There are multiple CS courses available. As a new student, which ones should you take?
There are three main paths:
- Computing minor course path: recommended for Math students, or students pursuing a Computing minor.
- Regular CS course path: recommended for CS majors, or Math students who want a more challenging path. Note that courses above CS 245/246 are only available to CS students.
- Advanced CS course path: for CS students who want the most advanced courses at each level.
Computing Minor Course Path
This course path is recommended for non-CS students. You start with a slightly slower progression, which swaps CS 115 for CS 135, and also introduces a Python programming course, CS 116. You can then optionally continue to CS 136, CS 245 and CS 246.
If you are not a CS student, you could continue with recommended courses for the computing minor. CS students should be following the regular CS course path after first year.
---
title: Computing Minor Courses
config:
theme:
neutral
---
flowchart TD
cs115
cs116
cs115 --> cs116
cs116 -.-> cs136
cs136 -.-> cs245
cs136 -.-> cs246
Regular CS Course Path
The regular course path is what we recommend for most Computer Science students. You take the major versions of all CS courses, and you take them in the recommended sequence.
---
title: Standard CS courses
config:
theme:
neutral
---
flowchart TD
cs115
cs116
cs135
cs136
cs245
cs246
cs251
cs240
cs241
cs341
cs350
cs115 --> cs116
cs116 --> cs136
cs135 --> cs136
cs136 --> cs245
cs136 --> cs246
cs136 --> cs251
cs245 --> cs240
cs246 --> cs240
cs246 --> cs241
cs240 --> cs341
cs245 --> cs341
cs240 --> cs350
cs241 --> cs350
cs246 --> cs350
cs251 --> cs350
Advanced CS Course Path
We also offer advanced versions of first and second year CS courses that are available for students who want more challenging content. These are not required, and are really intended for students that already have a high degree of knowledge in CS. The prerequisites for these courses are relaxed, since these courses may only be offered occasionally.
Note that taking one or more of these courses does not commit you to continue taking advanced courses; you can always take the regular versions of any of these if you choose (and many students will mix/match regular and advanced courses based course availability).
---
title: Advanced CS courses
config:
theme:
neutral
---
flowchart TD
cs145
cs146
cs136
cs240e
cs241e
cs245e
cs246e
cs251
cs341
cs350
cs145 --> cs146
cs145 --> cs136
cs136 --> cs240e
cs136 --> cs241e
cs136 --> cs251
cs146 --> cs240e
cs146 --> cs241e
cs146 --> cs251
cs136 --> cs245e
cs146 --> cs245e
cs136 --> cs246e
cs146 --> cs246e
cs240e --> cs341
cs245e --> cs341
cs240e --> cs350
cs246e --> cs350
cs251 --> cs350