The actual schedule of computer science courses taken varies widely from one student to another. Your interests and the somewhat random forces that control the scheduling of courses both in and outside our department will lead you to find your own unique plan of study.
To assist you, however, we describe two possible patterns of course selection for majors.
Typical major (see notes for timing of Math courses):
| Fall | Spring | |
| Freshman | 134 | 136 + Math 251 |
| Sophomore | 237 + 2nd Math Course | 256 |
| Junior | 361 | 334 |
| Senior | Elective | Elective |
Late-starting major (see notes for timing of Math courses):
| Fall | Spring | |
| Freshman | (none) | (none) |
| Sophomore | 134 | 136 + Math 251 |
| Junior | 237 + 2nd Math Course | 256 & 334 |
| Senior | Elective & 361 | Elective |
While this schedule is cramped in the junior year, it leaves open the possibility of majoring to a student who does not elect computer science in his/her freshman year. Of course we highly recommend that students with any interest in majoring take at least Computer Science 134 in their freshman year to avoid a cramped schedule later on. An intermediate course schedule can be obtained by taking Computer Science 134 in the spring of the freshman year.
We have had several students who have started computer science late in their college career, gotten excited about the material, and gone on to take several upper level courses in their senior year. Of course it is always better to make that exciting discovery earlier in one's college career, so students are encouraged to select computer science courses in their freshman or sophomore years.
Go backward to Major Requirements