UiB : MatNat : Informatikk : Undervisning


I121/INF121 - Programmerings Paradigmer (Programming Paradigms), H-2005

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

Pensum I121 (15 poeng): The course covers Chapters 1,2,8,9,11, parts of 14,15, 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 (as well as Inf102). However, we strongly recommend Part II and III as reading material, in particular to students who were not at ease with Inf100 or Inf101, as well as those who have not yet taken Inf102. Chapter 8 is about Functional Programming in general, and Chapter 9 is about a specific, typed, functional programming language called ML.

  • Section 15.5 takes a look at Standard ML (UA/HA/FA: /usr/bin/sml), which is used as example of a functional language.
  • A good and quick overview which should suffice is in: En kort innføring i ML av Tom Therkildsen.
  • A quick and tidy overview of the use of SML (New Jersey) interpreter is here
  • A more elaborate presentation of the full language is: Introduction to Standard ML by Bob Harper (CMU).
    We skip Chapter 10 about untyped functional languages and resume with Chapter 11 on the logic programming language Prolog. (Chapter 14 is about lambda calculus which may, or may not become a part of the syllabus.)
  • Chapter 15.7 is a brief summary the logical language Prolog. (UA/HA/FA: /usr/bin/pl).
  • Again, this should suffice but for more details one can consult, for instance, SWI-Prolog Manual by Jan Wielemaker (UvA).

    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, a unification algorithm, initial models. There are 3 compulsory exercises.

    Pensum INF121 (10 poeng): The same pensum as for I121, but without Chapter 14 and the additional material on initial models.

    Foreleser (Lecturer): Michal Walicki (email: michal@ii.uib.no)

    Forelesninger (lectures): Tuesday 14.15-16.00, Wednesday 14.15-16.00
    Sted (place): Auditorium 2142 HIB

    Gruppeledere (Assistents): Anya Bagge

    Gruppeøvinger (workshops):
    Gruppe 2.: fredag 12.15-14.00 (Anya Bagge); starter 2.09, Sted: Høyteknologisenteret, grupperom 2103
    NB! Det blir ingen andre grupper!

    Semester Schedule:

    (click the week number for possible additional material/notes).

    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.

    WDates First lecture Second lecture Workshop
    34 23-24.08 Ch.1 Ch.2
    35 30-31.08 Ch.2 recursion Ex.1.1, 1.2, 1.4, 2.1-4, 2.6
    36 06-07.09 Off Off Oblig.1 - diskusjon
    37 13-14.09 Ch.8 Ch.9 Oblig.1
    38 20-21.09 Parsing og ML(en nyttig detalj om ML tolker) ingen Ex. 8.2, 8.3, 8.5, 8.13, og noen programmeringsoppgaver
    39 27-28.09 noen oppgaver og parsing evt. resten av oppgaver Ex.9.1,2,3, 9.5, 9.8
    40 04-05.10 ingen ingen Oblig 2 -- evt. spørsmål om oblig.2 (fredag)
    41 11-12.10 ingen ingen evt. spørsmål om oblig.2 (onsdag)
    42 18-19.10 Ch.11/15.7 Ch.11 Oblig.2 - diskusjon
    43 25-26.10 Ch.11 Ch.11, Unifikasjon litt bakgrunn, 11.1-3,11.5
    44 01-02.11 Prolog (SLD-traer, snitt, negasjon) Prolog (differanselister og parsing) litt Prolog programmering og 11.7-9.
    45 08-09.11 Datalog ... mer Prolog programmering
    46 15-16.11 ingen ingen oblig.3 og evt. spørsmål om denne (onsdag/fredag)
    47 22-23.11 ingen Oblig.3 innlevering: Onsdag, 23.11, kl.16:00 Oblig.3 resultater kommer på fredag 25.11
    48 29-30.11 ingen ingen
    49 06-07.12 Eksamen: spørmsål& svar
    50 14.12 Eksamen, kl.9-14

    Evaluation and Exam: There are three compulsory exercises (called "Oblig."): you must have all three accepted in order to be able to take the final exam.