CS243 / MATH243 - Theory of Computation

banner


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.



  • Homework #4 - Sample Solutions

    Here are selected sample solutions for CS 243 / MATH 243 homework #4. Since most of the assigned problems require writing a proof, and there is often more than one way to write a proof, these should be considered as examples only.

    Read on →

  • Homework #3 - Sample Solutions

    Here are selected sample solutions for CS 243 / MATH 243 homework #3. Since most of the assigned problems require writing a proof, and there is often more than one way to write a proof, these should be considered as examples only.

    Your proofs did not need to match these examples exactly in order to receive full credit.

    I will add a supplement to include the last two problems later this evening. (I do all my first drafts left-handed, holding a big fat Crayola in a gorilla grip. Only after scrawling this way for several hours do I have something ready to be copied neatly for presentation.)

    Update: 14 November, 10:00 AM ET. Have added solutions for 4.26, 4.28, and last year’s exam Problem #3 to the linked PDF. If you downloaded earlier, you may want to get this update.

    See Guidelines and Rubric for how problems were marked.

    Sample solutions - homework #3

  • First Exam - Sample Solutions

    Here are sample solutions for CS 243 / MATH 243 exam #1 (fall 2016).

    Sample solutions for practice exam


    P.S. If you have questions about how your problems were marked, I did problems 1 and 3 (red pen), Prof Ling did 2 and 4 (purple pen).

  • 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

  • Homework #2 - Sample Solutions

    Here are sample solutions for CS 243 / MATH 243 homework #2. Since most of the assigned problems require writing a proof, and there is often more than one way to write a proof, these should be considered as examples only.

    Your proofs did not need to match these examples exactly in order to receive full credit. In fact, there were two noteworthy answers that differ from what’s presented here.

    • One student simplified 2.42 dramatically by using a string that no one else (including me or Prof. Ling) had considered.

    • Another student provided a very elegant, two-state PDA as the solution for 2.47(a).

    Kudos to both!

    See Guidelines and Rubric for how problems were marked.

    Sample solutions homework #2

  • Homework #1 - Sample Solutions

    Here are sample solutions for CS 243 / MATH 243 homework #1. Since most of the assigned problems require writing a proof, and there is often more than one way to write a proof, these should be considered as examples only. Your proofs did not need to match these examples exactly in order to receive full credit. See Guidelines and Rubric for how problems were marked.

    Sample solutions homework #1

  • 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 →