The mathematics requirements are essential for a firm understanding of computer science, and serve as important prerequisites for Computer Science 256 (Algorithms), Computer Science 361 (Theory of Computation), and Computer Science 371 ( Computer Graphics). All students should be aware that Math 251 has Math 103 (Introduction to Calculus), as a prerequisite, although many students place out of Math 103 on the basis of sufficient prior study of calculus in high school. See the Mathematics Department for details. We strongly urge students to take Math 251 before or at the same time as Computer Science 136, because of the rich interaction of subject matter between the courses.
To be eligible for admission to the major, a student must have completed Computer Science 134 and Computer Science 136, as well as Math 251, by the end of the sophomore year. The second math course should be completed by the end of the junior year. While any 200-level or higher math course suffices, you should be aware that Math 211 is a prerequisite for Computer Science 371, Computer Graphics. Students are urged to have completed 2 of the 4 core courses ( Computer Science 237, Computer Science 256, Computer Science 334, and Computer Science 361) by the end of the sophomore year and at least 3 out of the 4 core courses by the end of the junior year.
With the advance permission of the Department, two mathematics courses numbered 240 or above may be substituted for one computer science elective. We are willing to consider other variations in the required courses, adapting the requirements to the special needs and interests of the individual student. Any such requests should be discussed with the Department well in advance.
The department sponsors a weekly Computer Science Colloquium intended for all majors. Attendance at the colloquium is required for all senior majors and highly recommended for all others. The colloquia consist of talks on areas of computer science not normally covered in our curriculum. In particular, many of the speakers will be discussing their recent research in computer science. The speakers include Williams faculty, faculty from other institutions, computer scientists from industry, and current Williams computer science majors talking on their own work or other areas of interest to them. Every year additional sessions focus on such topics as computer ethics, computer-related jobs, and computer science graduate schools.
Go up to About the Computer Science Major