Equational Programming 2016-2017
Equational Programming (course code 401011) is a course in the
minor Deep Programming about the foundations of functional programming.
The theoretical part of the course is concerned with lambda calculus
and equational specifications.
The practical part consists of exercises in the functional programming language
Logic and Modelling.
Possible follow-up courses:
Term Rewriting Systems (master course) and
Logical Verification (master course).
Lectures are on Mondays and Thursdays, 11.00-12.45, in weeks 2--5.
Exercise classes are on Tuesdays and Fridays, 11.00-12.45, in weeks 2--5.
Haskell labs are on Tuesdays and Thursdays, 13.30-17.00, in weeks 2--4.
In week 4 of the course,
lecture 7 on Monday January 30,
exercise class 7 on Tuesday January 31,
question hour on Thursday February 2,
the exam on Friday February 3,
and that is it.
In particular: no Haskell afternoons, and no exercise class on Friday.
Practical part: functional programming in Haskell
There are three set of obligatory programming assignments.
The grades for the programming assignments contibute to the final grade for the course.
The information concerning the practical part of Equational Programming
is available via
Theoretical part: lambda-calculus and equational specifications
There are four sets of non-obligatory homework exercises.
They contribute to a bonus of at most 0.5 on the exam grade.
The information concerning the theoretical part of Equational Programming
is available via
At the exam, the typing rules of simply typed lambda-calculus and the derivation rules
for equational logic (Definition 3.2) will be given.
The practical part counts for 30% for the final grade,
and the written exam counts for 70% for the final grade.
For both parts the grade should be at least 5.5 in order to pass the course.
A bonus of at most 0.5 contributing to the grade of the written exam
can be obtained via hand-in written exercies.
Mail f.van.raamsdonk @ vu.nl.
Last update May 2017.