CS1010: Theory of Computation
Welcome to CSCI 1010!

This is a core undergraduate computer science course on the foundations of computing. The questions it aims to answer are: (1) What is computation? (2) What is computable? (3) What is computable given our limited resources?

We'll answer these questions and, in the process, explore important concepts such as Turing machines, languages, reductions, and NP-completeness. Welcome to the delicious world of theoretical computer science, and we hope you'll join us in exploring it!

the entrée course chefs


All information related to the class (e.g., assignments, grading, collaboration policy, late policy) is available in the official class syllabus.

Time and Location

CSCI 1010 will hold in-person lectures on Tuesdays and Thursdays from 10:30AM to 11:50AM in room 368 of the CIT. The recorded lectures will be available to everyone via Panopto.


Access the course EdStem page here. Students are responsible for all clarifications and toppings posted on EdStem.


Both midterms will be in class exams, with details to be announced. Despite popular demand, there will be no culinary practical.

Wellness Resources

Check out the advice, resources, and friendly words Brown CS students have put together. Please reach out to the TAs, HTA, or professor at any time with concerns or questions about the course. We're rooting for you from the kitchen!