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 course staff

Time and Location

CSCI 1010 will hold lectures on Tuesdays and Thursdays from 10:30AM to 11:50AM in Friedman Hall 202.


Access the course Piazza page here. Students are responsible for all clarifications posted on Piazza.


The first midterm will be at 7:00 PM on Thursday, October 4. The second midterm will be take-home. It will be released on Thursday, November 8, and will be due on Thursday, November 15. The final will be at 2:00 PM on Monday, December 17.

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 yew!