- Instructor
- Timothy Ng (tim.ng@uwaterloo.ca)
*Office hours*: Tuesday and Thursday 10:00-11:00 , DC 3124 - Teaching assistants
- Rylo Ashmore (rjashmor@uwaterloo.ca)
*Office hours*: Wednesday 2:30-3:30, DC 2551A - Stavros Birmpilis (sbirmpil@uwaterloo.ca)
*Office hours*: Tuesday 3:30-4:30, DC 2302D - Lectures
- RCH 308, Tuesday and Thursday 8:30-9:50
- Official course information
- University undergraduate calendar
- School of Computer Science description
- Course webpage
- http://www.student.cs.uwaterloo.ca/~cs360/
- Syllabus
- (HTML)

We will use Piazza for course announcements and communication.

Marks will be made available through LEARN.

There is no required textbook for this course. Lectures will be roughly following Hopcroft, Motwani, Ullman. **Introduction to Automata Theory, Languages, and Computation, 3rd ed.** (2007).

A copy has been placed on reserve in the DC library. However, the material in this course is fairly standard and so any introductory theory of computation textbook will suffice (although notation may differ). In addition, lecture notes will be made available shortly before or after each lecture.

Final grades for this course will be determined by the following formula: $$ \sum_{i=1}^5 (6\% \times A_i) + (25\% \times M) + \left( 45\% + \sum_{i=1}^5 (6\% \times (1-A_i)) \right) \times F,$$ where $A_i$ is the percentage grade for assignment $i$, $1 \leq i \leq 5$, $M$ is the grade for the midterm, and $F$ is the grade for the final.

In other words, there are five assignments worth up to 6% each, one midterm worth 25%, and a final exam worth at least 45%, with the portion of the grade that you don't receive on the assignments assigned to the final.

References are given as section numbers for Hopcroft, Motwani, Ullman 3rd ed.

- May 1
- Introduction and basic definitions (1.5)
- May 3
- Deterministic finite automata (2.2)
- May 8
- Nondeterministic finite automata (2.3)
- May 10
- $\varepsilon$-NFAs, regular operations (2.5, 3.1.1, 3.2.3)
- May 15
- Kleene's theorem (3.1, 3.2)
- May 17
- Non-regular languages, closure properties (4.1, 4.2)
- May 24
- Context-free grammars (5.1)
- May 29
- Parse trees, ambiguity, Chomsky normal form (5.2, 5.4, 7.1)
- May 31
- Pushdown automata (6.1, 6.2)
- June 5
- Equivalence of PDAs and CFGs (6.3)
- June 7
- Non-context-free languages (7.2)
- June 12
- Closure properties of CFLs (7.3)
- June 14
- Computability theory and Turing machines (8.2)
- June 19
- Extensions of Turing machines (8.4)
- June 21
- Decidability and decidable properties of regular and context-free languages (4.3, 7.4)
- June 26
- Undecidability and universality (9.1, 9.2)
- June 28
- Undecidable problems (9.3)
- July 3
- Reductions (9.3)
- July 5
- Rice's theorem, Post correspondence problem (9.3.3, 9.4)
- July 10
- Time complexity and P (10.1)
- July 12
- NP (10.1)
- July 17
- NP-completeness and the Cook-Levin theorem (10.2)
- July 19
- co-NP and the polynomial hierarchy, space complexity (11.1, 11.2)
- July 24
- Wrap-up

- There will be five assignments.
- Students are expected to write up solutions to assignments individually.
- Assignments will be submitted and returned electronically via Crowdmark. Information on how to submit assignments on Crowdmark is available here.
- Assignments will be due on 5pm on the dates below and will be made available at least two weeks before the due date.
- Late submissions will not be accepted.
- If you have a question about how your assignment was marked, please first contact the TA who marked it within one week of receiving the returned assignment. If you are not satisfied after discussing with the TA, contact the instructor.
- Please ensure that submissions are legible.

- Assignment 1
- Due May 18 (Marker: Rylo Ashmore)
*Update (May 11, 4:30 pm):*Q5 has been clarified to ask for the language of words with edit distance**at most**1.- Assignment 2
- Due June 1 (Marker: Stavros Birmpilis)
- Assignment 3
- Due June 15 (Marker: Rylo Ashmore)
- Assignment 4
- Due July 6 (Marker: Rylo Ashmore)
- Assignment 5
- Due July 25 (Marker: Stavros Birmpilis)

The midterm will be held on **Tuesday June 19, 7:00-8:50 pm** in **STC 0010**. There will be no makeup or deferred sitting for the midterm. In cases where a student is unable to write the midterm, with approval from the instructor, the weight of the midterm will be assigned to the final exam.

More information about the midterm.

The final will be held on **Monday July 30, 12:30-3:00 pm** in **PAC 9,10**.

More information about the final exam.

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. Please see the Office of the Academic Integrity for more information.

A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.

A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties check Guidelines for the Assessment of Penalties.

A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72, Student Appeals.

AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.