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>