CS243 / MATH243 - Theory of Computation


During fall semester 2017, I will serve as teaching assistant for CS 243 / MATH 243 — Theory of Computation. This course is taught by Professor Alan Ling, and it meets Monday and Wednesday, from 5:05 PM to 6:20 PM, in Votey 209.

You can find Professor Ling’s page for this course here, and announcements here.

My office hours are Monday, 3:30 PM to 4:30 PM, in Votey 351A, or by appointment. I can be reached at clayton (dot) cafiero (at) (you know the rest).

Topics - reducibility and decidability, recursion theory, time and space complexity, P, NP, NP-completeness, PSPACE, PSPACE-completeness, L and NL, and other advanced topics in computability and complexity.

  • CS 243 / MATH 243 - Last Year's First Exam - Sample Solutions

    Here are sample solutions for last year’s CS 243 / MATH 243 exam #1 (2016).

    See also my recent post, quoting the illustrious David Hume.

    Sample solutions for practice exam

  • Guidelines and Rubric

    Guidelines for preparing homework - For most homework problems the answer will be a proof. If so, please write it as a proof. If you are proving by construction, say so. If by contradiction, give some indication, e.g., “Suppose, for sake of contradiction”. In most cases, a bare state / transition diagram is insufficient for full credit. Your verbiage can be minimal, but you should include something. Remember: You are making an argument, and a proof should serve to convince.

    Read on →