BU CAS CS 591 Section B1
Computation and Deduction
Semester: Spring 2003

Course Information

Overview

Computation and Deduction is a course that
explores the theory of programming languages using deductive systems. We
use such systems to specify, implement, and verify properties of functional
and logic programming languages. The deductive approach to the
specification of programming languages has become standard practice, and
one of the goals of this course is to provide a good working knowledge of
how to engineer such language descriptions. Throughout the course we will
use Twelf as a uniform meta-language in which we can express specification,
implementation, and meta-theory of the object languages we are
considering. An implementation of Twelf and examples will be available
on-line for experimentation.

Prerequisites

This is an introductory graduate course with no formal
prerequisites, but an exposure to functional programming and type systems
would be helpful. Enterprising undergraduates are welcome to attend this
course.

In general, we are to follow tightly a course
taught by Frank Pfenning at Carnegie Mellon University. So you may take a
look here to
have a concrete feel as to what this course is like.

Assignments

Assignment 1 (ps) (pdf) (Due on the 27th of
January, 2003)

Assignment 2 (ps) (pdf) (Due on the 3rd of
February, 2003)

Assignment 3 (ps) (pdf) (Due on the 10th of
February, 2003)

Assignment 4 (ps) (pdf) (Due on the 18th of
February, 2003)

Assignment 5 (ps) (pdf) (Due on the 3rd of
March, 2003)

Assignment 6 (ps) (pdf) (Due on the 17th of
March, 2003)

Assignment 7 (ps) (pdf) (Due on the 31st of
March, 2003)

Assignment 8 (ps) (pdf) (Due on the 23rd of
April, 2003)

Solutions

Solution 1
(txt)
(The average score of HW1 is 49 out of 50 points)

Solution 2
(ps)
(pdf)
(The average score of HW1 is 102 + 7 out of 110 + 50 points)

Solution 3
(The average score of HW1 is 70 out of 80 points)

Solution 4
(The average score of HW1 is 47 out of 50 points)