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