Math 441, Computability and Logic Fall 1996, taught by Peter Cholak Comment 1: This course as I taught is very similar to COMP 411 (same book) and in some sense is a really computer science course. To make it a math class, one has to do the proofs and force the students to write proofs for homework and exams and we cannot cover as much. Comment 2: The student's background with proving theorems is very poor. Maybe I should spend more time on background material with them. Also an issue is their lack of critical thinking skills. I tried do improve both of these skills. Comment 3: I am willing to share my notes, exams, etc. I also have copies of everything Anand Pillay used to teach the cousre before me which I can share. Book: "Elements of the theory of computation" by Lewis and Papadimtriou. I thought that the book was good. Many of the problems were challenging. Other possible books that could be used are an upcoming book by Kozen (this cover about the same stuff) and the book by Cutland. This last book would not cover automata but focus on Turing machines. Maybe this is more meaningful for math majors. However the problems about Turing machines can be very hard; hence there is not a good supply of problems. There is also some computer programs by Barwise and etal. for understanding these objects. I have not explored these options but feel using them may move the course away from doing proofs. Syllabus (most of the headings follow the book) 1 -- Background (Chapter 1.1 -- 1.7) type of binary of relations closures finite and infinite sets proof techniques (more time next round) 2 -- Regular Languages (Mostly Chapter 2) definitions (1.9) deterministic finite automata (FA) non-deterministic finite automata equivalence of the two properties of regular languages equivalence of regular languages and languages accepted by FA Pumping Lemma Examples of non-regular languages 3 -- Context-free Languages (Mostly Chapter 3) context-free languages regular and context-free language equivalence of pushdown automata and context-free languages (this is a big pain -- here was the one place I do not do all the proofs) Properties of Context-free Languages Deterministic pushdown automata (3.6.1 only) 4 -- Turing Machines Definition and some examples (4.1 and some of 4.2) Universal Turing Machines (5.7) Church Thesis (5.1 not enough examples of different possible definitions of "algorithm" for them to truly believe it The halting set (6.1) Timing: About 3-5 days on 1, 15 each on 2 and 3 and the rest on 4 (which I sure will prove not to be enough time). I spent a lot of class time reworking their homework in the hopes they would learn to write better proofs and improve their critical thinking skills. Grades: One inclass midterm, one takehome midterm and a final. Homework every week when possible. Option: One possible option is remove the Turing material and replacing it will some stuff from control theory which uses FA. This stuff looks nice but someone would have to write a handout for the students. This would take some research.