CS 271: Automata and Computation Theory

Spring 2014

**Instructor:** Stephen Checkoway, s@cs.jhu.edu**Required textbook:** Michael Sipser, Introduction to the Theory of Computation, 3rd ed.**Optional textbook:** Richard Hammack Book of Proof (available online)

**Lectures:** Tuesday and Thursday. 13:30–14:45 in Shaffer Hall, room 303**Exam 1:** Tuesday, March 4**Exam 2:** Tuesday, April 8**Final:** Friday, May 9 at 14:00–17:00

Your work will be assessed through four mechanisms: exercises, problem sets, quizzes, and exams. Grades will be determined as follows:

Exercises: 15%

Problem sets: 30%

Quizzes: 15%

Exams: 40%

You may collaborate with as many other students in the class as you like on the exercises. You *must* write up your solutions on your own. Exercises will be collected at the beginning of class on the day they're due and checked off for completeness but will not be graded. (These do still count toward your grade, so make sure you do them all.)

It is recommended, but not required, that you write up your exercise solutions in LaTeX (see below). A LaTeX template for exercises #1 is here.

Solutions to the exercises (including the LaTeX source) is available on Piazza.

Exercises #1: Sipser 0.3, 0.6, 0.7, 0.10, 0.11, 0.12

Due: Thursday, January 30, 2014.Exercises #2: Sipser 1.2, 1.3, 1.11, 1.16, 1.22a, 1.31, 1.32, 1.36, 1.37, 1.48

Due: Thursday, February 6, 2014.Exercises #3: Sipser 1.25, 1.27, 1.29ab, 1.30, 1.41, 1.54, 2.4bcef, 2.9, 2.14, 2.25

Due: Tuesday, February 25, 2014.Exercises #4: Sipser 3.2bcd, 3.5, 3.6, build a TM in JFLAP for 3.8a [

*Hint: Mine has 5 states and uses*], 3.8b, 3.11, 3.13, 3.15 [`#`

and`x`

as additional tape symbols.*Hint: For star, consider all the way you can break the input string up.*]

Due: Thursday, March 13, 2014.Exercises #5: Sipser 3.16, 4.1, 4.2, 4.3, 4.4, 4.5, 4.13, 4.26, 4.28, 4.31

Due: Thursday, March 27, 2014.Exercises #6: Sipser 5.4, 5.5, 5.6, 5.7, 5.22, 7.1, 7.2, 7.5, 7.6

Due: Thursday, April 17, 2014.Exercises #7: Sipser 7.7, 7.8, 7.9, 7.12, 7.13, 7.14, 7.16

Due: Thursday, April 24, 2014.

You must solve the problem sets *on your own*, without discussing them with anyone other than course staff. You must write up your solutions on your own. Further, solutions to problem sets *must* be written in LaTeX (see below). Problem sets are to be turned in as PDFs on Blackboard and will be graded for correctness.

Problem set #1: ps1.pdf

Due: Thursday, February 13, 2014 at 23:59.Problem set #2: ps2.pdf

Due: Tuesday, March 4, 2014 at 23:59.Problem set #3: ps3.pdf

Due: Thursday, April 3, 2014.Problem set #4: ps4.pdf

Due: Thursday, May 1, 2014.

There are 10 short, weekly quizzes (when exams do not conflict) given on Tuesdays at the beginning of class. Quizzes cover everything up to and including the reading for the day of the quiz. *Make sure you read the required material* before *class.*

The lowest quiz score you receive will be dropped. There will be no makeup quizzes.

There are two, 75-minute, in-class exams at the times listed above. Each in-class exam is worth 10% of your grade. There is a final exam worth 20% of your grade that will be given on the scheduled final exam day. The exams are closed book; however, **you are allowed to bring in one sheet of 8.5" by 11" paper filled on both sides with any information you think you'll need.**

Any student who does not take the final exam will fail the course. There will be no makeup exams.

There are two tools that you will be using throughout this course, LaTeX and JFLAP.

LaTeX is a typesetting system which you will use to write up solutions to the problem sets. Here is an example proof written in LaTeX. Here is the LaTeX source.

LaTeX distributions are available for OS X, *NIX, and Windows:

There are a number of good references on the Web including

The Not So Short Introduction to LaTeX 2e Good introduction.

User's Guide for the amsmath Package Documentation for mathematical environments.

TeX StackExchange Q&A site.

There are many tools that can assist in writing LaTeX, including a variety of specialized editors such as Texmaker and TeXShop as well as add ons for editors like Emacs (AUCTeX is probably the best of them) and Vim.

Writing your solutions in LaTeX will take time at first, but as you become more familiar with it, you'll find that it's an invaluable tool. I *strongly* recommend you learn to use it well.

JFLAP is software that you may use for building some of the machines we will be discussing such as DFAs and Turing machines. Nothing in the class requires you to use the software, but I recommend it. It's a good way to test your solutions before turning them in.

You can also using JFLAP as an easy way to produce diagrams for your DFAs, NFAs, etc. that you can then save as PDF and include as graphics in your problem sets (and exercises). There is a tutorial as well.

*The strength of the university depends on academic and personal integrity. In this course, you must be honest and truthful. Ethical violations include cheating on exams, plagiarism, reuse of assignments, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition.*

*Report any violations you witness to the instructor. You may consult the associate dean of student affairs and/or the chairman of the Ethics Board beforehand. See the guide on “Academic Ethics for Undergraduates” and the Undergraduate Academic Ethics Board Web site for more information.*