| Announcements |
| General Information |
Our policies about collaboration and use of materials are intended to promote our most important goal, which is that you learn the concepts and skills of the course well. The other, closely related goal, is that we be able to assess reasonably accurately how well the first goal was met.
The primary way that you learn this material is by working problems on homeworks (and the studying that you have to do to be able to work those problems). The problems give practice, help you understand your comprehension of the material, and (importantly) the creative part of problem solving helps you to remember and appreciate that material.
So, only limited collaboration is allowed on homeworks. You should first try to work through them by yourself, thoroughly and carefully. Of course, Prof. Dill and the course assistants will be available to you if you are stuck or want to know if there is a better way to solve a problem. It's ok to discuss problems with others, but please make sure you are doing your best to solve them yourself. In particular, do not copy solutions. If you're looking at someone's answer as you write yours, you are violating this rule (if you have an eidetic memory, try not to use it).
Another way to undermine the value of homework problems is to look up answers on the internet, find answers in other textbooks, copy answers from homeworks from previous classes at Stanford or elsewhere, etc. Don't do these things. If you use material from sources other than the lectures, office hours, or course textbooks to understand a problem better, write down what you used and how you used it in your homework solutions. Any assistance received (both from human and from inanimate sources) that is not given proper citation may be considered a violation of the Honor Code.
In any case, you are responsible for understanding and being able to explain all of the statements in your assignments and examinations. Solutions must be written up independently of other students.
| Course Calendar |
| Date | Day | Event | Topic | Readings | Assignments |
|---|---|---|---|---|---|
| 1-Apr | Mon | Lecture 1 | Introduction, Sets (video) | ||
| 3-Apr | Wed | Lecture 2 | Logic I (video) | ||
| 5-Apr | Fri | Lecture 3 | Logic II (video) | Homework 1 (Solutions) | |
| 8-Apr | Mon | Lecture 4 | Proof Methods I (video) | ||
| 8-Apr | Mon | Section 1 | Problems (Solutions) | ||
| 10-Apr | Wed | Lecture 5 | Proof Methods II (video) | ||
| 12-Apr | Fri | Lecture 6 | Sets, Relations I (video) | HW1 due, Homework 2 (Solutions) | |
| 15-Apr | Mon | Lecture 7 | Sets, Relations II (video unavailable) | ||
| 15-Apr | Mon | Section 2 | Problems (Solutions) | ||
| 17-Apr | Wed | Lecture 8 | Functions (video) | ||
| 19-Apr | Fri | Lecture 9 | Functions, Cardinality (video) | HW2 due, Homework 3 (Solutions) | |
| 22-Apr | Mon | Lecture 10 | Induction I (video) | ||
| 22-Apr | Mon | Section 3 | Problems (Solutions) | ||
| 24-Apr | Wed | Lecture 11 | Induction II (video) | ||
| 26-Apr | Fri | Lecture 12 | Formal Language Theory (video) | HW3 due, Homework 4 (Solutions) | |
| 29-Apr | Mon | Lecture 13 | Regular Languages I (video) | ||
| 29-Apr | Mon | Section 4 | Problems (Solutions) | ||
| 1-May | Wed | Lecture 14 | Regular Languages II (video) | ||
| 2-May | Thur | Midterm | Time: 7 PM - 9 PM, Location: 320-105 | ||
| 3-May | Fri | Lecture 15 | Regular Languages III (video) | Homework 5 (Solutions) | |
| 6-May | Mon | Lecture 16 | Pumping Lemma and Closure Properties (video) | HW4 due | |
| 6-May | Mon | Section 5 | Problems (Solutions) | ||
| 8-May | Wed | Lecture 17 | Applications of Regular Languages (video) | ||
| 10-May | Fri | Lecture 18 | Context-free Languages I (video) | HW5 due, Homework 6 (Solutions) | |
| 13-May | Mon | Lecture 19 | Context-free Languages II (video) | ||
| 13-May | Mon | Section 6 | Problems (Solutions) | ||
| 15-May | Wed | Lecture 20 | Context-free Languages III (video) | ||
| 17-May | Fri | Lecture 21 | Turing Machines and Decidability I (video) | HW6 due, Homework 7 (HW7 Feedback) | |
| 20-May | Mon | Lecture 22 | Turing Machines and Decidability II (video) | ||
| 20-May | Mon | Section 7 | Problems (Solutions) | ||
| 22-May | Wed | Lecture 23 | Undecidability I | ||
| 24-May | Fri | Lecture 24 | Undecidability II | HW7 due, HW8 assigned | |
| 27-May | Mon | Memorial day | |||
| 29-May | Wed | Lecture 25 | NP Completeness I | ||
| 31-May | Fri | Lecture 26 | NP Completeness II | HW8 due | |
| 3-Jun | Mon | Lecture 27 | Complexity Theory | ||
| 5-Jun | Wed | Lecture 28 | Review | ||
| 12-Jun | Wed | Final Exam | Time: 8:30 AM - 11:30 AM, Location: TBA |