This is the website for the Winter 2020 session of CSC240, Enriched Introduction to the Theory of Computation, taught by James Cook. In this course you will learn about mathematical logic and proofs, and some applications of mathematics to computer science. Topics include:

Most of the material we'll use in this course is closely based on or copied from Professor Faith Ellen's course material. Thanks to Prof. Ellen for creating it.

For some information on how the course will work now that in-person classes are cancelled, see this post.

Announcements

Announcements are posted here and in the forum.

Online quiz

Posted March 31 evening:

The Week 11 Quiz is a take-home quiz, due this Friday (April 3) at 11:59pm. Start on it whenever you're ready.

Resources

Office hours

All remaining office hours will be held online. For now, we're using Quercus; to join, find CSC240 on Quercus and choose "Bb Collaborate".

The last scheduled office hours will be Monday April 6 from 1pm to 2pm.

After that, you can email me to set up an appointment.

Contact

Important information

Textbooks

We'll use three textbooks in this course, listed below. You don't need to buy them: the first two are freely available to anyone online, and the relevant parts of the third will be made available electronically through the library when we need them.

If you want more things to read, see Further reading.

Working with other students

You can learn a lot from other students, so I encourage you to talk about the course, but when it comes to homework assignments, there are some strict rules to follow: see Collaboration and academic integrity.

Lectures and tutorials

Starting on March 16:

Online lectures

We'll use online lecture videos for the second and third weeks, which you should watch before class. See Online lectures.

Dropping down

Before January 31, if there's space, students may drop down from CSC240 to CSC165 or CSC236. See here for more information.

Calendar

Date Attend Due
Monday Jan 6 Lecture (Week 1)
Wednesday Jan 8 Tutorial
Monday Jan 13 Problem session (Week 2) Watch online lecture before class.
Wednesday Jan 15 Tutorial Assignment 1 due
Monday Jan 20 Problem session (Week 3) Watch online lecture before class.
Wednesday Jan 22 Tutorial Assignment 2 due
Monday Jan 27 Lecture (Week 4)
Wednesday Jan 29 Tutorial Assignment 3 due
Friday Jan 31 Deadline to drop down to CSC165 or CSC236
Monday Feb 3 Lecture (Week 5)
Wednesday Feb 5 Tutorial Assignment 4 due
Monday Feb 10 Lecture (Week 6)
Wednesday Feb 12 Tutorial Assignment 5 due
Feb 17-21 Reading week: no classes
Monday Feb 24 Lecture (Week 7) (midterm moved to Mar 2)
Wednesday Feb 26 Tutorial
Monday Mar 2 Midterm: 11:10am-1pm
Wednesday Mar 4 Lecture (Week 8): 11:10am-12pm. No quiz. Assignment 6 due
Monday Mar 9 Lecture (Week 9)
Wednesday Mar 11 Tutorial Assignment 7 due
Sunday Mar 15 Last day to drop from academic record and GPA
Monday Mar 16 Lecture (Week 10)
Wednesday Mar 18 Tutorial Assignment 8 due
Monday Mar 23 Lecture (Week 11)
Wednesday Mar 25 Tutorial Assignment 9 due Assignment 8 due
Friday Mar 27 Quiz 10 due
Monday Mar 30 Lecture (Week 12)
Wednesday Apr 1 Tutorial Assignment 10 due Assignment 9 due
April 7-9 Take-home assessment
Wednesday April 8
Monday April 13
Assignment 10 due