The Williams College Computer Science Department seeks to provide the finest possible computer science education to our students. We strive to enable all students, non-majors and majors alike, to understand the core ideas of, utilize the tools from, and contribute to future advances in computer science.
At its core, computer science investigates computation and its applications. The notion of computation embodies ways to represent and transform information as well as fundamental problem solving processes. These processes enable us to precisely define and algorithmically solve problems from within the field of computer science and also from a myriad of domains across all of the arts and sciences.
As in many scientific fields, the study of computation includes both theoretical and experimental aspects. We develop precise formal models for concepts we study, we reason about them mathematically, we manifest them in computing hardware and software, and we experimentally validate them via the scientific method. The complexity of the computing systems we build also requires us to develop design and abstraction principles widely-applicable to tackling any large problem.
In keeping with the mission of a liberal arts education, we aim not to simply teach students the central concepts of computer science, but to foster in them the ability and desire to “think critically, reason logically and empirically, express clearly, and connect ideas creatively [Williams College Mission Statement].”
Enabling students to view the world through the lens of computation prepares them with a strong foundation for continued and lifelong learning extending well-beyond our department and Williams, and independent of career path.