CS Curricula

←All schools

Williams CollegeWebsiteAcademic Catalog

Computer ScienceDepartment Website

BA Degree in Computer Sciencesource 1source 2source 3

32 units needed for graduation. Updated for 2024-25.

CS Courses

Math/Stat Courses

Other Courses


Learning Goals

Our goal is to provide majors with the following abilities:

  • To clearly articulate the core concepts of computing and to successfully apply those concepts using modern theoretical and programming tools.
  • To precisely define, represent, and algorithmically solve problems both from within computing and also from myriad domains across the arts and sciences.
  • To develop precise formal models of computer systems, to reason about them mathematically, to manifest them in computing hardware and software, and to experimentally validate them via the scientific method.
  • To develop design and abstraction principles suitable for tackling problems large and small.
  • To clearly communicate complex ideas orally, in writing, and in collaboration with others.

History of the Major

2024  
Require one of 334 (Principles of Programming Languages) or 361 (Theory of Computation), instead of both.
Require a third CS elective.
Add alternatives to MATH 200 (Discrete Mathematics).
2023  
2022  
2021  
2020  
2019  
2018