UiB : MatNat : Informatikk : Undervisning

INF121 (H04) - Programmeringsparadigmer (Programming Paradigms)

Læreboken Lærebok (Textbook): Ravi Sethi, Programming Languages: Concepts and Constructs, 2nd Edition, Addison-Wesley.

Pensum INF121 (10 poeng): The course covers Chapters 1,2,8,9,11,15.5 and 15.7, as well as some additional material handed out during the semester. Chapter 1, the introduction, is mainly reading material. Chapter 2, on syntax description techniques, will be treated in some detail. We skip Part II, Imperative Programming, and Part III, Object-Oriented Programming. The material in these Chapters 3-7 is covered by the preceeding courses INF100 and INF101. However, we strongly recommend Part II and III as reading material, in particular to students who were not at ease with INF100 or INF101. Chapter 8 is about Functional Programming in general, and Chapter 9 is about a specific, typed, functional programming language called ML. We skip Chapter 10 about untyped functional languages and resume with Chapter 11 on the logic programming language Prolog. Section 15.5 takes a look at Standard ML (UA/HA/FA: /usr/bin/sml), which is used as example of a functional language, and likewise 15.7 for the logical language Prolog. (UA/HA/FA: /usr/bin/pl) We conclude with Datalog, a sublanguage of Prolog that can be used as a data base query language. Additional topics of interest are a type checking algorithm and a unification algorithm. There are 3 compulsory exercises.

Foreleser (Lecturer): Marc Bezem

Gruppeledere (Assistents): Gruppe 1Kristian Harms, gruppe 2Dag Hovland

Forelesninger (lectures): tirsdag 14.15-16.00, onsdag 14.15-16.00
Sted (place): Auditorium 2142 HIB

Gruppeøvinger (workshops): Gruppe 1: fredag 10.15-12.00, Gruppe 2: mandag 14.15-16.00, gruppe 2 begynner i uke 36.
Sted (place): mandag og fredag 2103

Spørretime (consultation hour): Onsdag (Wednesday) 16.00-...
Sted (place): 2142, just after the lecture, or 4141 (my office, phone 55584177)

Første forelesning (starting lecture): 17.08 Siste forelesning (last lecture): somewhere in November

Tentative Schedule:

Off stands for no meeting at all, Ch. for lecturing material and Ex. for workshop exercises to be found at the end of each chapter. For example, Ch.1.1-5;2.1,3 denotes a slot with lectures on the first 5 sections of Chapter 1 and sections 1 and 3 of Chapter 2. Click on weeknumbers for some extra material.

WDates Tuesday Wednesday Workshop
34 16-20.08 Ch.1 Ch.2.1-4 Off
35 23-27.08 Ch.2.4-6 Ch.8.1-2 Ex.1.1-6,8-10
36 30-03.09 Ch.8.2-3 Ch.8.4-5 Ex.2.1-3,6-8,10-11,15,20
37 06-10.09 Ch.8.5-6 Ch.9.1-2 Ex.8.1-7
38 13-17.09 Ch.9.3-4 Ch.9.5-6 Ex.8.9-14
39 20-24.09 Ch.9.7,15.5 Intro Oblig 2 9.1,2,3,Oblig 1
40 27-01.10 Ch.11.1-2,15.7 Ch.11.3-4 Ex.9.5-10
41 04-08.10 Ch.11.5,Unification Ch.11.6 Ex.9.11-14
42 11-15.10 Off Type inference Ex.11.1-5
43 18-22.10 Relational model Deductive databases Ex.11.6-10, Oblig 2
44 25-29.10 Intro Oblig 3 Off Exercises type inference
48 22-26.11 Off Off Oblig3 delivery
49 29-03.12 Exam training Exam training Q&A

Compulsory Exercise 1
En kort innføring i ML av Tom Therkildsen
Introduction to Standard ML by Bob Harper (CMU)
Compulsory Exercise 2
Prolog tutorial by J.R. Fisher ()
SWI-Prolog Manual by Jan Wielemaker (UvA)
Compulsory Exercise 3
exam V2002 and answers
exam V2003 and answers
exam H2003 and answers
exam H2004 and answers

Eksamen: 8 desember 2004. Alle obligatoriske øvelser må være godkjent.