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.

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

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

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

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).

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

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

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

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