|
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.
W | Dates |
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.
|