# Lecture plan

Note: All students are advised to start reading the textbook and slides before the lectures.

At the beginning of a lecture, you should have identified an issue which you do not understand, and formulated a question about it.

The slides come in two formats; either

• [pdf]: pdf with one slide per page
• [4pdf]: pdf with 4 slides per page
or
• [for projector]: an html-file for projector. Use page-down to view next page
• [for printing]: same information as above, but with additional notes

## Lecture 1: Introduction to SML

15-17, August 30, 2011

Hansen: 1
Paulson: 1, 2.1-2.6, 2.11-2.12
Ullman: 0-1

### Introduction

for projector, for printing.

### Introduction to SML

for projector, printing.

## Lecture 2: SML

10-12, September 2, 2011

Hansen: 1-3
Paulson: 1, 2.1-2.17, 2.19, 2.23
Ullman: 1-4, 6-9

Where is currying first mentioned? As far as I can tell, all three textbooks explain currying quite late.

Hansen: 9.4
Paulson: 5.2
Ullman: 21, Section "Curried functions"

pdf, 4pdf, programs.

## Lecture 3: Recursion

13-15, September 5, 2011

Hansen: 1.4-1.5, 2.3-2.4
Paulson: 2.14-2.16, 5,2
Ullman: 5

pdf, 4pdf, programs.

## Lecture 4: Lists

10-12, September 8, 2011

Hansen: 5
Paulson: 3.1-3.8, 3.14-3.16
Ullman: 4, 10

pdf, 4pdf, programs.

## Lecture 5: Inductive data types

13-15, September 12, 2011

Hansen: 4, 7, (8)
Paulson: 4.1-4.12
Ullman: 12, 13

for projector, for printing.

## Lecture 6: Complexity and tail recursion

15-17, September 16, 2011

Hansen: 17
Paulson: -
Ullman: -

for projector (please note that only the first part can be viewed in this format),
for printing.

Exercises

## Lecture 7: Higher-order functions

Hansen: 9
Paulson: 5.1-5.11
Ullman: 11, 21

notes, programs.

notes,

notes,

## Lecture 8: Abstract datatypes

13-15, September 22, 2011

Hansen: 4,8,10
Paulson: 3.22-3.25, 7.1-7.3
Ullman: 13

pdf, 4pdf,

## Lecture 9: Algorithms in functional programming

13-15, September 30, 2011

Hansen: -
Paulson: 3.18-3.21
Ullman: 7

Today I will also talk about binary search trees. See notes from previous lecture.

### Sorting in a functional language

pdf, 4pdf, programs.

notes, programs.

## Lecture 10: Examples, advanced concepts

10-12, October 6, 2011

Hansen: 11, Appendix D,E
Paulson: 2.20-2.22, 4.13, 7.14-7.17
Ullman: 14-15

notes. program.

### Modules

All textbooks explain the module concept, but the chapter from Pucella's book may still be helpful. (Again, same password as the status page.)

### Standard library of SML

Notes on the standard library.