This course introduces the theoretical foundations of computer science.
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
At the end of the course, students should be able to
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.
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.
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.
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.
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.
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.