This is an archived page from the Fall 2019 version of the course.
For the latest version, see


Here are links to some useful resources for cs3102. If you discover other resources you think would be helpful for students in the class, please let us know to add them here.

Course Book

Main Website
Full Text PDF

Github (if you have corrections or suggestions for the book, submit them to Boaz Barak here; useful contributions will be worth bonus points in the course, so let us know if you have a pull request accepted or start a useful issue)


Mathematics for Computer Science (free PDF) by Eric Lehman, F Thomson Leighton, Albert R Meyer. (This is the book that is sometimes used in cs2102: Discrete Math.) Some other useful resources for material that is covered in cs2102 are here.

forall x (Solutions Booklet from University of Calgary) (P. D. Magnus and Tim Button)

Here are some other materials from cs2012/DMT1 courses that may be useful:

Harry Porter’s Theory of Computation: Background Knowledge (video) (you may find his other videos useful for some of the topics we cover also - playlist)

Other Classes

Courses similar to this one include:


More resources will be added here as the semester progresses. If you find something you think would be useful to other students in the class, please let us know.