Williams College Computer Science Department

Computer Science

Williams College

Patterns of Course Elections

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

Notes: The electives may be taken any time during the Junior or Senior years, and one of the Core courses may be postponed to the senior year. Math 251 must be taken before Computer Science 256 and would ideally be taken in the freshman year. Note also that students without advanced placement in Calculus will be required to take Math 103 as a prerequisite for Math 251. Students with advanced placement in computer science may begin immediately with Computer Science 136, moving the whole schedule forward one semester.

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

Notes: Many of the same remarks as above apply. Also the junior year may be eased by postponing one of the core courses until the senior year, and/or one or more electives may be swapped with core courses in the junior year. Math 251 must be completed by the end of the sophomore year.

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
Go up to About the Computer Science Major
Go forward to Course Selections Beyond the Requirements