University of Waterloo

Term and Year of Offering: Fall 2017

Course Number and Title: CS360, Introduction to the Theory of Computing

Section Lecture Time Room Instructor
1 10:00 AM - 11:20 AM Tu Th MC 4040 Jeffrey Shallit

Instructor's Name Office Location Contact Office Hours
Jeffrey Shallit DC 3134 2:30 - 3:30 PM Wednesdays, or by appt, or when office door is open

TA's Name Office Location Contact Office Hours
Jian Li DC 2102 Th 2 PM - 3 PM
Vijay Subramanya DC 2569 W 11 AM - 12 Noon

Course Description:

A basic introduction to the theoretical foundations of computer science. Words and languages. Finite automata, regular expressions, pushdown automata, context-free grammars, Turing machines, solvability and unsolvability, NP-completeness.

Course Objectives:

To give a basic introduction to the theoretical foundations of computer science.

Course Overview:

Finite Automata (10 hours)

Deterministic and non-deterministic finite automata and their equivalence. Equivalence with regular expressions. Closure properties. The pumping lemma and applications.

Context-free Grammars (10 hours)

Definitions. Parse trees. The pumping lemma for CFLs and applications. Normal forms. General parsing. Sketch of equivalence with pushdown automata.

Turing Machines (9 hours)

Designing simple TMs. Variations in the basic model (multi-tape, multi-head, non-determinism). Church-Turing thesis and evidence to support it through the study of other models.

Undecidability (7 hours)

The undecidability of the halting problem. Reductions to other problems. Reduction in general.

Required text:

Course notes by Prof. John Watrous


Assignments 20% Two tests 20% Each Final exam 40% Dates: Test 1 Thursday October 12 Test 2 Thursday November 9 Assignments given out Thursdays and due the following Thursdays.

Late and Missed Assignments Policy:

Late homework will not be accepted. Missing assignments will receive the mark of 0.

Rules for Group Work:

Students may work together on assignments, provided they write up their solutions separately and provide a list of collaborators.

Assignment Submission and Pickup:

Submit to LEARN. Marks will be available on LEARN.

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. [Check 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 [check] 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.

Intellectual Property: Students should be aware that this course contains the intellectual property of their instructor, TA, and/or the University of Waterloo. Intellectual property includes items such as:

Course materials and the intellectual property contained therein, are used to enhance a student's educational experience. However, sharing this intellectual property without the intellectual property owner's permission is a violation of intellectual property rights. For this reason, it is necessary to ask the instructor, TA and/or the University of Waterloo for permission before uploading and sharing the intellectual property of others online (e.g., to an online repository).

Permission from an instructor, TA or the University is also necessary before sharing the intellectual property of others from completed courses with students taking the same/similar courses in subsequent terms/years. In many cases, instructors might be happy to allow distribution of certain materials. However, doing so without expressed permission is considered a violation of intellectual property rights.

Please alert the instructor if you become aware of intellectual property belonging to others (past or present) circulating, either through the student body or online. The intellectual property rights owner deserves to know (and may have already given their consent).