Course Prerequisites

This is a proof-based course in theoretical computer science.

The course requires the following:

  • Knowledge of ALGORITHMS at a basic undergraduate level (COMPSCI 330 or equivalent)

  • Knowledge of DISCRETE MATHEMATICS at a basic undergraduate level (COMPSCI 230 or equivalent)

  • Knowledge of PROBABILITY and LINEAR ALGEBRA at a basic undergraduate level

  • Mathematical maturity commensurate with someone who has taken and done well in undergraduate proof-based mathematical courses

Evaluation Metrics

Exam

There will be an exam on Friday 1/22 on basic math and algorithms to gauge your preparedness for the course material. This exam will not count toward your final letter grade.

Homework Assignments

There will be around two homework assignments during the course.

Project

Students have to do a project in groups of 2-4. Some proposed project topics and ideas will be published on the course website during the course.

Scribing/Grading

Each student is expected to either scribe a lecture or help grade homework. A sign up sheet allowing you to sign up for either of these will be circulated a week or two into the course.