CS Curricula

←All schools

Princeton UniversityWebsiteAcademic Catalog

Computer ScienceDepartment Website

A.B. Degree in Computer Sciencesource 1source 2source 3source 4source 5source 6

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

CS Courses

Math/Stat Courses

Science Courses

Other Courses


Goals for Student Learning

  • Students will be able to understand, modify, debug, refactor and analyze programs in a variety of different programming languages;
  • Students will be able to learn new programming languages and computational paradigms they encounter in the future;
  • Students will be able to read and comprehend technical literature in computer science;
  • Students will be able to plan and complete a one- or two-term project in an area of computer science of their choice;
  • Students will be able to identify, isolate and solve important technical subproblems that lead to a solution to a more significant problem;
  • Students will be able to present technical ideas in computer science clearly, both orally and in written form;
  • Students will be able to identify and assess related work in their area of study;
  • Students will demonstrate an ability to work independently in accomplishing all of the above goals.

Goals for Independent Work Requirement

  • Students will be able to read and comprehend technical literature in computer science;
  • Students will be able to plan and complete a one- or two-semester project in an area of computer science of their choice;
  • Students will be able to identify, isolate and solve important technical subproblems that lead to a solution to a more significant problem;
  • Students will be able to present technical ideas in computer science clearly, both orally and in written form;
  • Students will be able to identify and assess related work in their area of study;
  • Students will demonstrate an ability to work independently in accomplishing all of the above goals.

History of the Major

2024  
2023  
2022  
2021  
Add COS 240 (Reasoning about Computation).
Replace "2 theory electives + 2 systems electives + 2 applications electives + 2 CS electives" → "1 theory elective + 1 systems elective + 1 applications elective + 1 AI/ML elective + 3 CS electives".
Drop COS 333I (Advanced Programming Techniques) as an Independent-Work option.
2020  
2019  
Add COS 511 (Theoretical Machine Learning) as a theory elective.
Add COS 316 (Principles of Computer System Design) as a systems selective.
Add COS 360 (Computational Models of Cognition) as applications electives.
Drop COS 435 (Information Retrieval, Discovery, and Delivery) as applications elective.
Change Independent Work guidelines.
2018  
Drop COS 441 (Programming Languages) as a theory elective.
Add COS 343 (Algorithms for Computational Biology) and COS 485 (Neural Networks) as applications electives.
2017