Program Overview
Princeton University Computer Science Department
The Computer Science Department at Princeton University offers a comprehensive program in computer science, with a focus on both theoretical and practical aspects of the field.
Course Overview
Computer Science 240: Reasoning about Computation
This course provides an introduction to mathematical topics relevant to computer science, including combinatorics, probability, and graph theory. Students will learn a computer science approach to thinking and modeling, and will be introduced to fundamental concepts in theoretical computer science, such as NP-completeness and cryptography.
Course Content
The course will cover basic topics in math that are important in computer science, as well as basic topics in theoretical computer science. The following topics will be covered:
- Mathematical Proofs (1.5 lectures)
- Combinatorics (2 lectures)
- Probability Theory (6 lectures)
- Midterm Exam (replacing 1 lecture)
- Graph Theory (4 lectures)
- Game Theory (1.5 lectures)
- Countable vs Uncountable Sets (1 lecture)
- Theoretical Computer Science (Computability, Complexity, Cryptography) (7 lectures)
Administrative Information
Lectures
Lectures will be held on Mondays and Wednesdays from 9:00AM-10:20AM.
Precepts
Precepts will be held on Thursdays, with the following schedule:
- Precept 1: 12:15PM-1:05PM, Preceptor: Linrong Cai
- Precept 2: 12:15PM-1:05PM, Preceptor: Iasonas Petras
- Precept 3: 1:20PM-2:10PM, Preceptor: Iasonas Petras
- Precept 4: 2:25PM-3:15PM, Preceptor: Aleksandr Storozhenko
- Precept 5: 9:35AM-10:25AM, Preceptor: Michelle Le
Lead Instructor
The lead instructor for the course is Zeev Dvir, Ph.D.
Faculty Lead Preceptor
The faculty lead preceptor is Iasonas Petras, Ph.D.
Preceptors
The preceptors for the course are:
- Linrong Cai
- Michelle Le
- Aleksandr Storozhenko
Prerequisites
The prerequisites for the course are COS 126 and 226 (or sufficient mathematical background), and MAT 175 or MAT 202 or MAT 204. COS 226 can be taken along with COS 240 in the same term.
Textbooks and Other Reading
The required textbooks for the course are:
- Mathematics for Computer Science, Eric Lehman and Tom Leighton, 2004
- Mathematics for Computer Science, Eric Lehman and F. Thomsom Leighton and Albert R. Meyer, 2010
Academic Regulations
Students are expected to familiarize themselves with the course policies webpage.
