The Princeton Program in Algorithmic and Combinatorial Thinking (PACT) is a summer program in theoretical computer science for high school and college students that offers opportunities for year-round learning. Students are divided into two groups. In the main group, most students have limited experience with theoretical computer science. Students start the program by studying topics in discrete mathematics such as systematic counting and methods of proof. They then learn proof techniques, such as induction, and basic graph theory to prove various theorems.
Additionally, the students are exposed to combinatorics and probability. Though many students have been exposed to probability in school, the program introduces them to more theoretical and fundamental topics, developing sophisticated ideas from basic principles. Topics covered in these lectures advance in difficulty as students cover set theory, advanced permutations and combinations, conditional probability, independent events, random variables, and linearity of expectation. For the probability section of the course, the problem sets feature numerous challenging exercises that both verify and challenge students’ instincts as to the likelihood and independence of events.
Later in the summer, the main group may begin studying algorithms if time permits. Students may be introduced to topics like asymptotic analysis and Big-O notation as well as a few basic algorithms like Euclidean GCD.
Additionally, guest lecturers expose the group to other fields of computer science including computational geometry, cryptography, the probabilistic method, and planar graph coloring.
During the year, most students from the summer main group eagerly continue to meet every other weekend either virtually or on Princeton’s campus. During these sessions, Professor Gandhi gives lectures on specific classes of algorithms including divide and conquer, dynamic programming, network flows, and greedy algorithms. In addition, students learn about NP-completeness and how to make polynomial-time reductions from one decision problem to another. Students begin to explore more of the concepts featured in Algorithm Design by Jon Kleinberg and Éva Tardos.
Group 2 consists of students who have participated in PACT in previous years, and other students—usually undergraduate students—who have equivalent knowledge. Between lectures and homework, Group 2 students are responsible for mentoring Main Group students, grading their homework, and creating difficult and challenging exam problems.
The focus of Group 2 generally alternates between approximation algorithms and randomized algorithms. Guest Lecturers often come and teach specific topics to Group 2 students.
Location(s)
- Remote
- University of Pennsylvania, Philadelphia, Pennsylvania
Schedule
- Five weeks from late June to late July
Cost/Compensation
- Virtual fees: The fee for each admitted student is $1,925 ($2,025 for international students).
- In-person: The fee for each admitted student is $3,950 + cost for housing, etc.
Eligibility Requirements
The only requirements to participate are:
- An understanding of high school algebra
- A willingness to work hard and be challenged
- The desire to learn
Deadline
- Rolling admissions. All applications received before mid March will receive full consideration.
Application or Entry Requirements
- Statement of Interest: A brief description about yourself and why you are interested in participating in the program (PDF document to be uploaded by the applicant)
- Transcript: A copy of your transcript; unofficial will do (PDF file to be uploaded by the applicant)
- Recommendations: Two letters of recommendation are required, at least one of them should be from your Math teacher. The other one could be from a Math or a Science teacher or from your guidance counselor. The letters must be uploaded by the respective teachers. The applicant will enter the contact information of the teachers and they will be contacted directly
- Official Transcript: Guidance counselor must email an official transcript to the email address: summertcs@gmail.com
Notifications of Decisions
- Applications are reviewed every few weeks
Financial Aid Details
Financial support is available. It is strongly encouraged for anyone interested in the program to apply.