## Course Analysis for PDDP, Spring 1997

## Author: Karl Meinke, NADA

The following is a course analysis for the course PDDP, "Programdeklarationer
och deklarativ programmering" given to students on the Stockholm University
mathematics and computer science line.

## 1. Course Data

Course: Programdeklarationer och deklarativ programmering
Examination: Assessed lab exercises, 3p

Course period: weeks 15-19

Lectures: 18 hours (9 lectures)

Exercises: 18 hours (9 classes)

Laboratory work: 18 hours (9 classes)

Course literature: (Functional programming) "Programming with Standard ML", Myers et al

"The definition of standard ML", Milner et al

"Commentary on standard ML", Milner and Tofte

"Introduction to Standard ML", R. Harper

(Logic programming) "The art of Prolog", Sterling and Shapiro

"The CLP(R) Programmer's manual" Version 1.2, Heintze et al

Number of students: 24

Number of students passing course: 20 (= 83%)

This figure is current for 97-09-15, and may increase as some students
complete lab examinations.

Kursansvarig: Karl Meinke

Övningsassistent: Kicki Frisch

## 2. Goals

The goal of this course is to give students an advanced understanding
of declarative programming concepts in a functional (ML) and
logic based language ( CLP(R) ). In ML the primary concepts studied
were signatures, types and polymorphism, type assignment, functors
and modularity. In CLP(R) the primary concepts studied were unification,
resolution and constraint solving.
Exercise classes were used primarily
to support teaching and student understanding of concepts. (In particular
there were no examined exercises.) The primary student task was the
completion of assessed practical exercises.

## 3. New Aspects this Year

## 3.1. Course content

No new contents were introduced this year, since the course was being
given for the final time.

## 3.2. Course administration

As with DA1, a web page of adminstrative information for students
was maintained.

## 4. Summary

## 4.1. Lectures

Lectures were rather poorly attended. There appeared to be a clash with
student project work, and examinations. It also appeared that students
preferred self study and solution of the practical exercises at their
own pace.

## 4.2. Exercises

Exercises classes were also poorly attended. These classes were mainly
used to reinforce lectures by means of additional material and examples.

## 4.3. Laboratory

Laboratories were well attended, and most students
had little difficulty completing the exercises.

## 4.4. Examination

Examination was by completed practical work only.
To date 20 of 24 students have been examined.

## 4.5. Course Literature

Some use was made of the definitive reference books by Milner et al on
the definition and standard semantics of standard ML. However the main
teaching texts for ML were Myers et al and the report of Harper.

## 5. Student Work Load

Student work load must be considered low relative to other courses, just
7 lab exercises.

## 6. Course Prerequisites

Students would require a basic foundation in programming, as well as
some training in logic.

## 7. Actual Course Contents

The course contents followed very closely the reports by
Harper (ML) and Heintze et al (CLP(R)). Additional material on the definition
of ML was taken from Milner et al. Basic material on unification and
resolution was taken from Sterling and Shapiro.

## 8. Changes for Next Year

The course will not be repeated next year.

Latest update 14th September 1997.
<karlm@nada.kth.se>