M. Sipser (2012) Introduction to the Theory of Computation (note that this book, although very good, uses definitions which sometimes differ quite significantly from those we use)
S. Arora and B. Barak (2009) Computational Complexity: A Modern Approach (if you want to know a lot more)
The website Automaton Simulator allows to create and simulate DFAs, NFAs, and PDAs (graphically). (If you create automata that you think are worth sharing, please let me (Pascal) know.)
The JFLAP package allows you to simulate all kinds of automata and machines.
You can find two past exams them under the Assessments link.
The course COMP1600 (a prerequisite for all COMP3630 students) overlaps by approx. 50%. The additional course material linked from the COMP1600 webpage is thus also very relevant for this course. Among others, that course links an online repository with many exercises and exams (and more), which is likely very helpful. But please be aware that there might be differences in certain formalisms, such as acceptance or termination criteria for automata such as Pushdown automata or Turing Machines. Thus, solutions might be correct in their formalism, but not necessarily for the one we use in this course (in the current year).
The recordings of the current year will be published via Wattle360, which will be linked from Wattle.
Our page on the Lectures provides links to presentations of the textbook authors which might nicely complement the explanations provided in this course.
Carnegie Mellon University (CMU) has two courses on complexity theory: