ECS 120: Theory of Computation

Fall 2015

Dave Doty

doty@ucdavis.edu

Office: 3041 Kemper

Shaopeng Zhu

spzhu@ucdavis.edu

Office: 55 Kemper

Calvin Li

calli@ucdavis.edu

Office: 55 Kemper

Ari Bolton

awbolton@ucdavis.edu

Christian Aranda

charanda@ucdavis.edu

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.

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: https://smartsite.ucdavis.edu

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.

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.

- Midterm: ~20%
- Quizzes: ~20%
- Final exam: ~35%
- Homework (worst two will not count): ~25%

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

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 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: http://clm.ucdavis.edu/rooms/class-sw.html. Note the times they are available and plan accordingly: http://clm.ucdavis.edu/rooms/available/.

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 (https://sdc.ucdavis.edu/forms.html) verifying your disability and specifying the accommodations that you require.

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:
http://sja.ucdavis.edu/cac.html

Here are just a few **disallowed** examples:

- Allow another student to plagiarize your work, which includes posting your answers to Piazza.
- Type in one homework together and turn in two copies.
- Write one homework together on paper and turn in two copies after you each type it in.
- Each write part of a proof (for example, 2 lemmas each), combine them, and turn in two copies.
- Look up answers from a previous term of the course that used the same question.
- Look up an answer on the Internet and hand it in.
- Look up an answer on the Internet, modify it, and then hand it in.
- Give (paper, email, shared network folder, posting on a public machine, letting someone else look at your screen, reading homework out loud while someone types it in, dead drop, etc.) another student a copy of your solution, or of any part of your solution, even if the other student does not copy from your solution. (See below for examples of situations in which it is okay to let another student look at your solution.)
- Receive another student's solution, or part of it, as described in the previous example.

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:

- Talk about and write down ideas about how to solve the problem,
at a
*high level*. Note, however, that sharing ideas specific enough for each student's solution to be identical (except for minor cosmetic changes in variable names, etc.) in terms of having the same statements in the same order, is too much. No two computer scientists will produce the exact same proof of a theorem, so if you are sharing enough "help" with another student for them to be able to re-produce your proof, or almost exactly your proof, you are sharing too much. - Share content that was done as a formal exercise, or that was presented in class or the textbook.
- Share your homework solutions
*after*the last day to turn in an assignment.

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.