Course Information
ECS 120: Theory of Computation
Fall 2015


Dave Doty
Office: 3041 Kemper

Teaching assistants

Shaopeng Zhu
Office: 55 Kemper

Calvin Li
Office: 55 Kemper


Ari Bolton

Christian Aranda

Course objective

To study the fundamental abilities and limits of computation, in a mathematically rigorous way. This will be broadly subdivided into three units: automata theory, computability theory, and computational complexity theory.


ECS 20 or Math 108.

Office hours schedule

See above for office locations. Course staff can also be reached by appointment you can't make the regular office hours.

Dave office hours: Tuesday 9am-10am, 4-6pm

Shaopeng office hours: Tuesday/Thursday, 4pm-5pm

Calvin office hours: Monday, 12pm-3pm


Location: Haring 1227

Tuesday, Thursday, 10:30am - 11:50am

It is very easy to get lost if you skip lecture. It is also easy to attend every lecture but get lost and spend 80 minutes listening to me talk at you, with no idea what I'm talking about. Let me know if you are getting behind so we can work and get you caught back up.


Section A01: Monday, 10:00am - 10:50am, Olson 251 (Calvin)
Section A02: Thursday, 2:10pm - 3:00pm, Physics 130 (Shaopeng)
Section A03: Friday, 3:10pm - 4:00pm, Giedt 1006 (Shaopeng)

The discussion is supposed to be interactive; go with questions for the TA.


We will be using Smartsite for this course. Information on Smartsite can be found here:

Students are responsible for checking the Smartsite homepage for this course regularly for announcements and homework/exam information. It is your responsibility to know how to login, submit homework, etc. Click on Help after you log in if you have not used Smartsite before, and familiarize yourself with its functionality.

General contact

You may post questions to the Piazza discussion board (available within Smartsite or via this link), where it will be seen by the instructor, the TAs, and the entire class. This is a good forum for asking for homework clarification or LaTeX help, for instance.

Please write an email to the instructor or TAs or attend office hours if the subject is of a personal nature, for instance, a question about how your homework was graded. If you send an email to the instructor or the TAs, please begin the subject line with "ECS 120". Note: If you ask a non-personal question about homework or course policies over email, the instructor/TA may post it (after removing your contact information) to Piazza along with an answer for everyone's benefit.


There will be two short quizzes, a midterm, and the final exam for this course. The final exam is comprehensive and will be held during finals week. The quizzes and midterm are held during lecture, according to the following tentative schedule.

Quiz 1: Thursday, October 15, during lecture

Midterm: Thursday, November 12, during lecture

Quiz 2: Thursday, December 3, during lecture

Final Exam: Thursday, December 10, 8:00 am - 10:00 am

There will be a one-week window of appeal for each exam beginning the day the exam is returned to the students. An exam appeal must be in writing and provide information to include the number of the question under issue and a brief statement giving the reason for the appeal. Simply stating that you think you deserve more points is not sufficient; you must justify the claim that your answer is completely correct (thus deserving full credit) or partially correct (thus deserving partial credit). This written statement and the original exam must be given to the instructor during the specified appeal period. If an exam is re-graded, the entire exam will be re-graded, with the potential to lower your score if you were mistakenly awarded points on the first grading.

If you cannot attend an exam for a valid reason, you must notify the instructor at least one week prior to the exam to indicate the reason that you cannot attend.


Grading tentatively will be based on the following approximate weighting.

There will be no late homework accepted for any reason. However, your two worst homework scores will be dropped. So if you miss a homework, it will simply count as one of your dropped scores.

Due to time constraints, it may be necessary to grade only some of the assigned homework problems. However, the intention is for students to complete the entire homework, since this is the primary way that one learns the material and problem-solving methods of this course.


Primary textbook (required):
Introduction to the Theory of Computation, 3rd Edition
Michael Sipser
ISBN-13: 978-1133187790
ISBN-10: 113318779X
Publish date: June 2012

Textbook Homepage

Secondary textbook (optional):
Automata and Computability
Dexter Kozen
ISBN-10: 0387949070
ISBN-13: 978-0387949079
Publish date: August 1997

The following is my own opinion, and explains why I chose the textbook that I did, and how I intend for you to use it to learn the material in this course:

Kozen's book is more formal, but more difficult to follow when initially learning concepts. Sipser's book is a better reference for a learning student to have when not in lecture and in need of help understanding a concept without help from an instructor or TA. However, some of the proofs in Sipser's book can be somewhat informal and skip details, sometimes important details. The proofs in Kozen's book are completely rigorous and correct, though sometimes opaque and difficult to follow. You will be expected to be capable of producing formal, rigorous proofs of theorems, despite the fact that Sipser occasionally skips formalism and leaves out important details, particularly in the first unit of the course. In lecture we will teach and maintain a standard of rigor when proving theorems. Therefore Kozen's book may be helpful to you as a secondary resource for reviewing formal proofs that have all details completely specified. However, Kozen's book does not cover computational complexity theory, the third unit of Sipser's book, so will be of little help in the final third of the course.

Homework assignments

Homework must be submitted as a PDF file to the Smartsite system, so make sure that you are familiar with submitting homework over Smartsite.

The unequivocal best method for producing mathematical text is a program called LaTeX. Learning LaTeX is an important skill for computer scientists to develop, especially for those of you considering graduate school, or any other career involving technical writing. See the ECS 120 page on LaTeX for some guidance on how to get started.

Since it can take time to learn LaTeX, it is not required for all homeworks (the first homework is a notable exception where one of the problems requires you to use LaTeX). Alternatives include using a word processor (Word/OpenOffice/etc. have the ability to save the file as a PDF) or scanning/photographing hand-written homework. If you require a scanner to convert written homework to PDF format, they are available on campus: Note the times they are available and plan accordingly:

Late homework will not be accepted under any circumstance. However, some number (see Grading) of your worst homework scores will be dropped.

For each homework assignment, there will be a limited period in which to appeal your score. You have one week after the graded results have been returned to you via Smartsite to appeal your score. Make appeals of homeworks directly to the TA/Reader who graded your homework, over email. After the appeal period has ended, the score will stand as is. If you appeal a homework score, the entire homework will be re-graded. Thus, re-grading has the potential to lower your score; please ensure before submitting a re-grade appeal that you have actually verified that you did not receive enough points due to a grading mistake.

Anything discussed in lecture may be assumed to hold when proving a statement on the homework. However, this is not the case for discussions. If you write "The TA said X is true, and the proof follows from X like this..." then you won't receive credit. Write out the whole proof, including the reasoning needed to see that X is true.


If you have a documented disability and anticipate needing accommodations in this course, please meet with your instructor as soon as possible. Request that the Student Disability Center staff send the proper form ( verifying your disability and specifying the accommodations that you require.

Academic dishonesty policy

Each assignment is to be the product of your own intellectual effort. We will check for cheating in this course. Anyone caught cheating will receive an automatic F. Additionally, we will adhere to university policies regarding academic dishonesty, which means that you may receive any of the penalties described in the UC-Davis Code of Academic Conduct:

Here are just a few disallowed examples:

This is a non-exhaustive list that does not enumerate all possible situations that constitute cheating. The general principle to follow is that whatever sort of help you receive to figure out how to do the homework, after receiving this help, you should be able to reproduce the homework on your own, without requiring anyone else's help. That is, help from a website/tutor/classmate is allowed as long as it is help in learning how to do the homework, but that help should not be required to actually do the homework once you have learned how. If you are unable to reproduce a homework that you submit without the person who helped you, then it is not a product of your own intellect, and it means you are misrepresenting someone else's work as your own.

Similarly, if you are helping someone else, be wary of letting them simply write down what you say as their answer. If you have truly helped them, then they should be able to do it on their own once you leave the room. If you show your homework to a friend to "help" them, eventually your friend, or a friend of your friend, will turn in part of your homework, and you will be held responsible for their cheating. This is known as tendering of information, and it is just as serious of an offense as copying someone else's work.

Things you may do when working with another student:

In general, it is acceptable to discuss how to do the homework with other students, but when it is time to sit down and write your homework, you must be able to produce the entire homework without help from anyone else. And if you do consult outside sources (meaning besides the course staff or the textbook) to learn how to do the assignment, you must cite these sources. For example, if you look at a proof on a website and to get ideas for how to do the homework, and you indicate that you looked at that website and which website it was, you will not be accused of academic dishonesty. However, if you get help from anywhere besides the textbook, instructors, and TAs, you must cite it. Anything else is misrepresenting someone else's work as your own. It would be a good idea to cite help from instructors and TAs anyway, in order to train yourself always (including outside of this class and this university) to think about who helped your with some piece of work, so that they may be acknowledged. Similarly, if you discuss homework with another student, state this explicitly in your homework submission.

The "Honor Pledge" on Smartsite is not customizable. It reads "I have neither given nor received aid on this assignment." If I could customize it, it would say instead, "This work is solely the product of my own intellectual effort," to emphasize (as above) that aid in learning how to solve a problem is acceptable, but aid in actually writing down the solution is unacceptable. So you should interpret "I have neither given nor received aid on this assignment" to actually mean, "This work is solely the product of my own intellectual effort."

Naturally, cheating on exams will be held to the same standard, and anyone caught cheating (for example, reading the exam before it starts, writing after it ends, looking at notes or a book or a cell phone or any other information source on a closed-note exam, looking at another student's exam, communicating with another student during the exam, etc.) will be dealt with just as with cheating on the homework.