CS Curricula

←All schools

Amherst CollegeWebsiteAcademic Catalog

Computer Science DepartmentDepartment Website

BS Degree in Computer Sciencesource 1source 2source 3

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

CS Courses

Other Courses


Learning Goals

We expect computer science majors to graduate with the following knowledge and skills:

  • To be able to apply abstraction and algorithmic reasoning to the task of solving problems and to communicate those solutions clearly and effectively.
  • To be able to design, implement, and evaluate computer programs that solve significant computational problems.
  • To recognize, and know when to apply, a standard body of algorithms, data structures, and algorithm paradigms. To be able to reason about problem complexity and design new algorithmic solutions when faced with new problems.
  • To understand how modern hardware and software systems are organized and why they are built that way. To be able to work through the implications of specific design decisions regarding computer architecture, operating systems, and memory structures, and to evaluate those decisions.
  • To work with a variety of approaches to computational problem-solving via our elective courses. This experience may include: developing deeper understanding of theoretical aspects of computation; working with a variety of languages and language paradigms; understanding concurrency and network-based models of computation; and mastering techniques of specific problem areas such as artificial intelligence, graphics, optimization, and language and compiler design.

History of the Major

2024  
Replace 171 (Computer Systems) + CS Elective → 175 (Systems I: Computer Organization and Design) + 275 (Systems II: Operating Systems).
2023  
2022  
2021  
Replace Comprehensive Exam → Video Presentation.
  old  new
2020  
2019  
2018  
2017  
Replace 161 (Computer Systems I) + 261 (Computer Systems II) → 171 (Computer Systems) + CS Elective.
Replace 201 (Data Structures and Algorithms I) + 301 (Data Structures and Algorithms II) → 211 (Data Structures) + 311 (Algorithms).
2016