CS 360: Introduction to the Theory of Computing (Spring 2018)

Syllabus

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)
Stavros Birmpilis (sbirmpil@uwaterloo.ca)
Lectures
RCH 308, Tuesday and Thursday 8:30-9:50
Course webpage
http://www.student.cs.uwaterloo.ca/~cs360/

Overview

This course introduces the theoretical foundations of computer science.

Calendar description

Models of computers including finite automata and Turing machines. Basics of formal languages with applications to the syntax of programming languages. Alternate characterizations of language classes. Proving unrecognizability. Unsolvable problems and their relevance to the semantics of programming.
Prereq: CS 240, 241 and (MATH 239 or 249); Computer Science students only.
Antireq: CS 365

Learning objectives

At the end of the course, students should be able to

Topics

Regular languages (3 weeks)
Deterministic and non-deterministic finite automata, regular expressions, pumping lemma, closure properties and decision problems.
Context-free languages (3 weeks)
Context-free grammars, parse trees, pumping lemma for CFLs, normal forms, equivalence with pushdown automata, closure properties and decision problems.
Decidable and undecidable languages (6 weeks)
Turing machines, variations in the basic model (multi-tape, multi-head, non-determinism), Church-Turing thesis, undecidability, the halting problem, reductions, time-bounded computation.

Text

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. In addition, lecture notes will be made available shortly before or after each lecture.

Evaluation

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.

Assignment policies

There will be five assignments. Students are expected to write up solutions to assignments individually. Assignments will be submitted and returned electronically via Crowdmark. 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. Please ensure that submissions are legible.

If you have a question about how your assignment was marked, please first contact the TA who marked it within one week or receiving the returned assignment. If you are not satisfied after discussing with the TA, contact the instructor.

Midterm policy

The midterm will be held on Tuesday June 19, 7:00-8:50 pm. 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.

Academic integrity

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 https://uwaterloo.ca/academic-integrity/ for more information.

Grievance

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.

Discipline

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.

Appeals

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.

Note for students with disabilities

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.