Syllabus

Introduction

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.

Prerequisites

The prerequisites for the course are 6.001 and 6.042 or equivalent background in Scheme programming and Discrete Mathematics.

Staff

The course instructor is Prof. Albert R. Meyer. There are no TA's or graders.

Course Schedule

Lectures:
Three sessions / week
1.5 hours / 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.

Textbooks and Readings

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.

Problem Sets

There will be weekly problem sets early in the term, and a few longer problem sets later in the term.

Collaboration

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.

Quiz and Final Project

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.

Grading

Grades for the course will be based on the following approximate weighting:

ACTIVITIES PERCENTAGES
In-class Participation 20%
Problem Sets 30%
Quiz 25%
Final Project 25%