The actual schedule of computer science courses taken varies widely from one student to another. To assist you, we describe two possible patterns of course selection for majors.
Typical major (see notes for timing of math courses):
Fall | Spring | |
Freshman | CSCI 134 | CSCI 136 + MATH 200 |
Sophomore | CSCI 237 + 2nd Math Course | CSCI 256 |
Junior | CSCI 361 or CSCI 334 | Elective |
Senior | Elective | Elective |
Notes: The electives may be taken any time during junior or senior years, and one of the core courses may be postponed until senior year. MATH 200 must be taken before CSCI 256 and would ideally be taken freshman year. Note also that students without advanced placement in calculus will be required to take MATH 103 as a prerequisite for MATH 200. Students with advanced placement in computer science may begin immediately with CSCI 136, moving the whole schedule forward one semester.
Late-starting major (see notes for timing of math courses):
Fall | Spring | |
Freshman | (none) | (none) |
Sophomore | CSCI 134 | CSCI 136 + MATH 200 |
Junior | CSCI 237 + 2nd math course | CSCI 256 & CSCI 334 or CSCI 361 |
Senior | Elective & Elective | Elective |
Notes: Many of the same remarks as above apply. Also, junior year may be eased by postponing one of the core courses until senior year, and/or one or more electives may be swapped with core courses in junior year. MATH 200 must be completed by the end of sophomore year.
While this schedule is cramped in junior year, it leaves open the possibility of majoring to a student who does not elect computer science during freshman year. We recommend that students with any interest in majoring take at least CSCI 134 freshman year to avoid a cramped schedule later on. An intermediate course schedule can be obtained by taking CSCI 134 in the spring of freshman year.