Course Analysis for DA1, Spring 1997

Author: Karl Meinke, NADA

The following is a course analysis for the course DA1 "Datorer och programmeringsteknik" (Computers and programming principles) given to students on the Stockholm University mathematics and computer science line.

1. Course Data

Course: Datorer och programmeringsteknik (Computers and programming principles)

Examination: Tenta 7p

Course Period: weeks 3 - 15

Lectures: 48 hours (24 lectures)

Exercises: 44 hours (22 classes)

Laboratory work: 48 hours (24 classes)

Course literature: (Scheme, english) "Structure and interpretation of computer programs", Abelson and Sussman

(Pascal, english) "Condensed Pascal", D. Cooper

(Pascal, swedish) "Pascal helt enkelt", S. Dahl and K Lindqvist

Number of students: 23

Number of students passing lab exercises: 9

NB. this figure does not include students taking the course previously who sat one of the two examinations only.

Number of students passing first exam: 10 of 11 = 91%

Number of students passing second exam: 4 of 7 = 57%

Number of students failing first exam and passing second: 0

Percentage students finally passed: 61%

Percentage students passed with "väl godkänd": 17%

Prestations och examinationsgrad efter ordinarie tenta (initial exam)

Prestations och examinationsgrad efter första omtentan (repeat exam)

Kursansvarig: Karl Meinke

Övningsassistent: Kicki Frisch

2. Goals

The goal of this course is to give students a basic understanding of programming using two types of programming language: functional (Scheme) and imperative (Pascal), mainly by means of solving small programming exercises, both in class and in the computer laboratory. The course also provides basic information on the structure and operation of computing hardware, where this is necessary to understand programming concepts.

3. New Aspects this Year

3.1. Course content

Rather more emphasis was given to precise mathematical specifications of (simple!) functions in presenting programming exercises, compared with the previous autumn course for this subject. Specifications were normally presented as systems of recursion equations (following the equational data type style of specification). Under examination students seemed to cope very well with this style of problem presentation.

3.2. Course administration

With regard to administration, a list of course exercises "övningar" was maintained on a web page, and updated according to class progress. This was found to be more flexible than producing the entire list initially. The same web page was used to make administrative course announcements.

4. Summary

A slightly different style of lecturing was used, compared with the previous course lecturer. In particular, more emphasis was placed on student dialogue, and discussion using the blackboard. Consequently less emphasis was placed on prepared slides. Furthermore, the course was given in english, although students had, and used, the opportunity to ask questions in Swedish. In view of the course pass rate, it seems that these changes were not adverse.

An analysis of the lab exercise pass rate seems to indicate a number of students dropping out early or during the course.

4.1. Lectures

Lectures were given in english, students had the chance to present questions in Swedish, which they nearly always took. Lecture attendance was good, unless other examinations or coursework intervened. Emphasis was generally placed on dialogue with the students, and working through of definitions and examples. The available slides were used with less frequency, but were used to provide a sequence to the course material covered.

An analysis of exam results indicates that a high percentage of students taking the first exam passed. Students taking the second exam (none of whom had presented themselves for the first exam) did somewhat less well on a very similar paper. In fact a very low percentage of students failed both exams 17%. Any deficit in the number of points awarded to students through this course ("prestationsgrad") is therefore mainly explained by students failing to present themselves for examination.

4.2. Exercises

The exercise classes were taken by Kicki Frisch, who reported good attendance and a reasonable degree of committment from the students. Ms Frisch should be commended a competent and dedicated "handledare" throughout.

4.3. Laboratory

Laboratory work is compulsory for this course. Generally the labs were found to be relatively easy. The more able students generally completed labs well before the deadline. Taking 50% as a pass mark for the labs alone, then just one student failed the lab component. The majority received over 80% on labs alone.

An analysis of the lab exercise pass rate seems to indicate a number of students dropping out early or during the course. Three students passed the lab exercises but failed the exams, of these, one failed to attend any lectures.

4.4. Examination

A number of students failed to present for the first examination, electing instead to first present at the "omtentamen". There seemed to be no clear reason for this, possibly there was a heavy loading in combination with other exams. In the event, this caused no problem since relatively few students failed the course.

4.5. Course Literature

During lectures the course book of D. Cooper was used extensively (by the english speaking lecturer!). This is a revised version of an earlier book "Oh Pascal" by the same author , which had been used succesfully for many years on the Swansea University computer science degree course. The book includes the complete "Standard Pascal User Reference Manual", which was found to be highly effective in teaching students to understand language syntax description and compiler errors. Students were optionally advised to buy the swedish alternative text. Several handouts were taken from Cooper's book and several new exercises (e.g. on tree data structures) were taken from Cooper.

5. Student Work Load

There appeared to be no complaints about this. The workload was comparable with the autumn course DA1H96.

6. Course Prerequisites

Essentially none other than basic high school mathematics and sufficient computer literacy to handle editors etc. This was provided to those students requiring it in a brief introductory course of 3 lectures.

7. Actual Course Contents

Essentially the same as DA1H96 but with more mathematical formulation of problems. Also more attention payed to recursive data structures such as trees.

8. Changes for Next Year

No particular changes, although one should consider the long term future of Scheme as a first language, and the use of Abelson and Sussman as a text. The latter seems particularly poor for exercises. In my opinion it could be removed leaving ML alone as a functional language.

Latest update 27th August 1997. <karlm@nada.kth.se>