CS 332: Theory of Computation (Fall 2020)

Course Overview

This course is an introduction to the theory of computation. This is the branch of computer science that aims to understand which problems can be solved using computational devices and how efficiently those problems can be solved. To be able to make precise statements and rigorous arguments, computational devices are modeled using abstract mathematical "models of computation." The learning objectives of the course are to:

Instructor: Ran Canetti
Instructor Office Hours: Thu 3:30-5pm ET (Zoom only) or by appointment (send a private note on Piazza)
 
Teaching Fellow: Luowen Qian
T.F. Office Hours: (effective Nov 6th) Fri 3-5pm ET (Zoom only) or by appointment (send a private note on Piazza)
 
Class Times: Tue, Thu 2-3:15pm ET (MCS B37 + Zoom)
Discussion Sections: Wed 11:15am-12:05pm ET (CGS 315 + Zoom)
Wed 12:20-1:10pm ET (CGS 113 + Zoom)

Index of Links

Course website: https://bu-cs332.github.io

Zoom:

Piazza: https://piazza.com/bu/fall2020/cs332

Gradescope: https://www.gradescope.com. Use Entry Code 9W7J53.

Plickers: Get your link here.

Teaching Format

The teaching will follow the Learn from Anywhere (LfA) policy, allowing both in-person and remote students. We will experiment with different methods of teaching, including lecturing, recorded lecturing, flipped class, problem solving in class.

If you are joining the class remotely, please keep your microphone muted when not speaking, and do not talk to others from your remote learning environment while on the microphone. We suggest that if you are comfortable with it, you can turn on your video cameras, especially when asking a question so that your facial expressions can clarify your questions.

We will the use Plickers response system for questions during the lectures. You will be able to submit answers to in-class questions using your web browser. However, we will provide appropriate accommodations if you miss any of the classes.

Finally, all class announcements will be made through Piazza, so please set your notifications appropriately. Please post questions about the course material to Piazza instead of emailing the course staff directly. It is likely that other students will have the same questions as you and may be able to provide answers in a more timely fashion. Active participation on Piazza may add extra points to your participation grade.

Prerequisites

You are not supposed to be registered for the class if you have not met the prerequisites.

Course Outlines

Tentative Schedule

The schedule listed here is tentative and subject to change.

Date Topics Reading/Reference Handouts/Assignments
Th 9/3 Welcome, introduction Sipser 0-1.1
lec01
Tu 9/8 Finite automata, regular languages Sipser 1.1-1.2
lec02
Collaboration policy
HW1 out: pdf, tex
Th 9/10 DFA-NFA equivalence, closure under regular operations Sipser 1.1-1.2
lec03
Tu 9/15 Closure cont'd, non-regular languages Sipser 1.4
lec04
HW1 due
HW2 out
Th 9/17 Pumping Lemma Sipser 1.4
lec05
Tu 9/22 Regular expressions Sisper 1.3
lec06 lec06-ann
HW2 due
HW3 out
Th 9/24 Context-free grammars, pumping lemma for CFGs Sipser 2.1, 2.3
lec07 lec07-board
Tu 9/29 Pumping lemma, closure properties for CFGs Sipser 2.3
lec08
HW3 due
HW4 out
Th 10/1 Midterm 1 Review lec09 lec09-ann HW4, HW2 resubmission due (Sun)
Tu 10/6 MIDTERM 1
Th 10/8 Turing machines Sipser 3.1, 3.3
lec10
Tu 10/13 NO CLASS — Substitute Monday Schedule of Classes HW5 out
Th 10/15 TM variants, closure properties Sipser 3.2
lec11
Tu 10/20 TM variants, Church-Turing Thesis, universal computations Sipser 3.2, 4
lec12
HW5 due
HW6 out
Th 10/22 Decidable languages, undecidability, diagonalization Sipser 3.2, 4
lec13
Tu 10/27 Unrecognizability, enumerators, reductions Sipser 4
lec14
HW6 due
HW7 out
Th 10/29 Undecidability and reductions Sipser 4, 5.1
lec15
Tu 11/3 More on reductions Sipser 5
lec16
HW7 due
Th 11/5 Midterm 2 Review lec17 HW8 out (not to be handed in)
Tu 11/10 MIDTERM 2
Th 11/12 Time complexity, Extended Church-Turing thesis Sipser 7.1-7.2
lec18
Tu 11/17 Polynomial time, P Sipser 7.1-7.2
lec19
HW9 out
Th 11/19 Nondeterministic time, NP Sipser 7.3-7.4
lec20
Tu 11/24 NP completeness Sipser 7.3-7.4
lec21
HW10 out
Th 11/26 NO CLASS — Thanksgiving Recess
Tu 12/1 Cook-Levin Theorem, more NP-complete problems Sipser 7.3-7.5
lec22
HW9 due
Th 12/3 Space complexity Sipser 8.1-8.3
lec23
Tu 12/8 More on space complexity Sipser 8.1-8.3
lec24
HW10 due
Th 12/10 Course Wrap-Up and Final Review Sipser 7.1-8.3
lec25
W 12/16 Final Exam 3-5pm ET

Discussion sections

Attendance of discussion sections is optional but encouraged for you to better understand the materials.

Date Topics
W 9/9 Introduction, review of basics, regular languages
W 9/16 Equivalence of NFA/DFA, closure of regular languages, number of states
W 9/23 Common mistakes in HW1
W 9/30 CFGs, non-CFLs
W 10/7 Midterm 1 solutions
W 10/14 High level and implementation level descriptions of TMs
W 10/21 Decidable and Turing-recognizable languages
W 10/28 Diagonalization and undecidability
W 11/4 Unrecognizability and mapping reductions
W 11/11 Midterm 2 solutions
W 11/18 P and extended Church-Turing thesis
W 11/25 NO DISCUSSION — Thanksgiving Recess
W 12/2 NP-completeness, search v.s. decision
W 12/9 More on NP, PSPACE
Textbooks and References

Required Textbook

Michael Sipser, Introduction to the Theory of Computation, 3rd Edition. ISBN-13: 978-1133187790.
See here for a list of errata.

Reading the textbook before class and reviewing it after class are important for solidifying your understanding of the course material. However, I do not want the exhorbitant price of the book to pose a barrier to your learning. Using an older edition of the text is fine (though beware that section numbers may be different). If the cost of the textbook still presents a burden for you, let me know and I can loan you a copy or recommend another solution.

Other Resources

Proof Techniques:
Richard Hammack, Book of Proof. Available online here.

Automata and Computability Theory:
Dexter Kozen, Automata and Computability.

Complexity Theory:
Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach.
Cristopher Moore and Stephan Mertens, The Nature of Computation.

Evaluation Your grade in the course will be determined by homework assignments, three in-class exams, and class participation.
The following letter grades are guaranteed if you earn the corresponding percentages: A ≥93%, A- ≥90%, B+ ≥87%, B ≥83%, B- ≥80%, C+ ≥75%, C ≥70%. However, to correct for the possibility of assignments and exams being more difficult than anticipated, letter grades may be (significantly) increased above these guarantees based on the overall performance of the class.

Homework (30%)

There will be weekly homework assignments to be submitted on Gradescope every Tuesday at 2PM. No late homework will be accepted. To accomodate extenuating circumstances, your two lowest homework grades will be dropped.

You are allowed, and indeed encouraged, to collaborate with other students on solving the homework problems. However, you must write the solutions independently in your own words.

Some homework assignments may include optional "bonus" problems. Solving these problems will not directly contribute to your homework grade but may improve the letter grade you receive in the course if the final percentage we calculate is on the borderline between two letter grades. Solving bonus problems is also a good way to impress your instructor if you are seeking a recommendation letter, research opportunities, or a grading position. Collaboration is NOT allowed on bonus problems.

You are expected to present your homework cleanly so that the graders do not mistakenly take away your points. You may want to use LaTeX to typeset your homework solutions. LaTeX is the standard document preparation system used in the mathematical sciences. Using LaTeX makes it easier for you to revise and edit your solutions and for us to read them, so you will never lose points for illegibility.

For LaTeX editors, you can try TexShop for Mac and TeXstudio for Windows. If you would like to give LaTeX a try on the web without installing anything on your computer, Overleaf is a good option.

Not so short intro to LaTeX. A LaTeX tutorial. LaTeX Stack Exchange is a good place to go for more fancy LaTeX tricks.

Homework template files: source zip, and its pdf output.

Midterm 1 (10%), Midterm 2 (10%), Final Exam (20%)

There will be two 70-minute in-class midterm exams scheduled for Monday, Feb. 24 and Wednesday, Apr. 1. These dates are confirmed and are not subject to change. Each midterm will cover roughly one-third of the course content. A comprehensive final exam will be held during the normal two-hour exam slot. Please wait until the official University final exam schedule is finalized before making your end-of-semester travel plans.

You may bring one double-sided 8.5" x 11" sheet of notes to each midterm exam and two such sheets to the final exam. Note sheets may be either handwritten or typeset. You may not use any other aids during the exam, including but not limited to books, lecture notes, calculators, phones, or laptops.

Class Participation (30%)

Your active participation in class and in discussion sections is an essential part of your learning. Your participation grade will be determined by your engagement with the Plickers system. It will also be possible to increase this score by thoughtfully asking and answering questions in lectures, in discussions, on Piazza, or during office hours.

Policies

Academic Conduct

All Boston University students are expected to maintain high standards of academic honesty and integrity. It is your responsibility to be familiar with the Academic Conduct Code, which describes the ethical standards to which BU students are expected to adhere and students’ rights and responsibilities as members of BU’s learning community. All instances of cheating, plagiarism, and other forms of academic misconduct will be addressed in accordance with this policy. Penalties for academic misconduct can range from failing an assignment or course to suspension or expulsion from the university.

https://www.bu.edu/academics/policies/academic-conduct-code/
http://www.bu.edu/cas/current-students/phd-mfa-students/academic-policies-and-conduct-code/

Attendance Policy

Students are expected to attend each class session unless they have a valid reason for being absent. If you must miss class due to illness or another reason, please notify the instructor as soon as possible, ideally before the absence.

Consistent attendance is necessary for remote students in order to follow the classes. All students are expected to be responsible for preparing the equipments for them to be able to either attend the class and exams, either in-person or remotely.

https://www.bu.edu/academics/policies/attendance/

Absence Due to Religious Observance

If you must miss class due to religious observance, you will not be penalized for that absence and you will receive a reasonable opportunity to make up any work or examinations that you may miss. Please notify the instructor of absences for religious observance as soon as possible, ideally before the absence.

https://www.bu.edu/academics/policies/absence-for-religious-reasons/

Bereavement

In the event of the death of an immediate family member, you should notify your advisor, who will help you coordinate your leave. You will be automatically granted five weekdays of leave, and if necessary, you advisor will help you to petition the Dean for additional leave time. You may also request a leave of absence due to bereavement. Please contact your advisor, who will help you with the process.

https://www.bu.edu/academics/policies/student-bereavement/

Disability Services

Students with documented disabilities, including learning disabilities, may be entitled to accommodations intended to ensure that they have integrated and equal access to the academic, social, cultural, and recreational programs the university offers. Accommodations may include, but are not limited to, additional time on tests, staggered homework assignments, note-taking assistance. If you believe you should receive accommodations, please contact the Office of Disability Services to discuss your situation. This office can give you a letter that you can share with instructors of your classes outlining the accommodations you should receive. The letter will not contain any information about the reason for the accommodations.

If you already have a letter of accommodation, you are encouraged to share it with your instructor as soon as possible.

Disability & Access Services
25 Buick Street, Suite 300
617-353-3658
access@bu.edu
http://www.bu.edu/disability/

Grade Grievances

If you feel that you have received an arbitrary grade in a course, you should attempt to meet with the grader before filing a formal appeal. If the student and the instructor are unable to arrive at a mutually agreeable solution, the student may file a formal appeal with the chair. This process must begin within six weeks of the grade posting. To understand how an “arbitrary grade” is defined, please explore the following link.

https://www.bu.edu/academics/policies/policy-on-grade-grievances-for-undergraduate-students-in-boston-university-courses/

Incomplete Grades

An incomplete grade (I) is used only when the student has conferred with the instructor prior to the submission of grades and offered acceptable reasons for the incomplete work. If you wish to take an incomplete in this class, please contact the instructor as soon as possible but certainly before the submission of final grades. To receive an incomplete, you and your instructor must both sign an “Incomplete Grade Report” specifying the terms under which you will complete the class.

https://www.bu.edu/academics/policies/incomplete-coursework/

Student Health Services

Offers an array of health services to students, including wellness education and mental health services (behavioral medicine).

http://www.bu.edu/shs/
http://www.bu.edu/shs/wellness/
http://www.bu.edu/shs/behavioral/index.shtml

Medical Leave of Absence

If you must take a leave of absence for medical reasons and are seeking to re-enroll, documentation must be provided to Student Health Services so that you may re-enroll. To take a medical leave, please talk with SHS and your advisor, so that they may assist you in taking the best course of action for a successful return.

http://www.bu.edu/usc/leaveandwithdrawal/arranging/
http://www.bu.edu/academics/policies/withdrawal-leave-of-absence-and-reinstatement/

ISSO

The International Students & Scholars Office is committed to helping international students integrate into the Boston University community, as well as answering and questions and facilitating any inquiries about documentation and visas.

https://www.bu.edu/isso/