Lectures: 3 session(s) / week, 1.5 hour(s) / session
Class sessions will be a mixture of mini-lectures by the Instructor and problem solving in student teams of 4 or 5. Students will also present mini-lectures in later weeks.
This is an graduate introduction to Programming Theory, Logic of Programming, and Computability, with the programming language Scheme used to crystallize computability constructions and as an object of study itself.
The course instructor is Prof. Albert R. Meyer. There are no TA's or graders.
There are no required texts. Course Notes and excerpts from various references and papers will be posted on the website as needed. A detailed schedule including daily lecture topics will appear in the course calendar.
There will be weekly problem sets early in the term, and a few longer problem sets later in the term.
You are encouraged to collaborate on homework as you do on in-class problems. However, you must write up solutions on your own, neither copying solutions nor providing solutions to be copied. If you do collaborate on homework, you must cite, in your written solution, all of your collaborators. Also, if you use sources beyond the course materials in one of your solutions, e.g., an "expert" consultant, an unassigned text, or material from prior terms, be sure to include a proper scholarly citation of the source.
Plagiarism, cheating, and similar anti-intellectual behavior are serious violations of academic ethics and will be correspondingly penalized. If you are concerned about a possible violation of this kind, please talk with the Lecturer.
There will be one in-class quiz in the middle of the term, and a final project due on the last day of class. There will not be a final exam.
Grades for the course will be based on the following approximate weighting: