Weekly Notes
Week | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
---|---|---|---|---|---|---|---|
Weekly notes | 04.11.2011 | 11.11.2011 | 15.11.2011 | 15.11.2011 | 15.11.2011 | 15.11.2011 | 15.12.2011 |
Programs | family.pl | smm.pl 20111125.hs | types.hs | higherorder.hs 20111209.hs | 20111214.hs |
Project
Re-Exam
Information about the re-exam project is available in the re-exam project description.
Supporting files for the re-exam project are available by clicking here.
Part 2
Information about the second part of the project is now available in a note on Part 2.
Example Inputs
Here is a list of example inputs in the format described by the note above:
Template
There is a template available to use as a starting point for the solution.
Part 1
Information about the first part of the project is now available in a note on Part 1.
Example Inputs
Here is a list of example inputs in the format described by the note above:
Template
There is a template available to use as a starting point for the solution.
Schedule
Week | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
---|---|---|---|---|---|---|---|
Mon 10-12 | Lecture (U142) | Exercise (U142) | |||||
Tue 16-18 | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) |
Wed 12-14 | Lecture (U27a) | Lecture (U27a) | Lecture (U27a) | ||||
Thu 12-14 | Lecture (U155) | Lecture (U155) | Lecture (U155) | Lecture (U155) | |||
Fri 12-14 | Lecture (U155) | Exercise (U26) | Lecture (U26) | Exercise (U26) | Lecture (U26) |
Office Hours
Just come to my office. If you want to make sure I'm there, contact me before (by e-mail, jabber, phone).
- Office: IMADA, Ø13-602b-2 (map)
- Phone: 6550 2327
- E-mail: petersk@imada.sdu.dk
- Home page: http://www.imada.sdu.dk/~petersk/
- Jabber: petersk@jabber.dk
Literature
The course will be based on lecture notes and hand-outs available in Blackboard.
Course Description
Prerequisites:
The contents of Programming A (DM502) and B (DM503) must be known. The course Algorithms and Data Structures (DM507) is recommended.
Evaluation:
Project divided into parts and integrated in the course. Pass/fail, internal evaluation by the teacher.
Re-examination after 4th quarter.
Withdrawal date:
Withdrawal from the exam must be 7 days before the first exam date.
Course type:
Lectures (22 hours), discussion sessions (20 hours) and project work.
Teaching period:
2nd quarter, fall 2011
Aims:
To give the students the general principles of programming languages design, and the specific choices characterizing the language classes imperative, object-oriented, logic-based and functional . To give the participants experience with programming in language of other types than the usual imperative and object-oriented languages.
Synopsis:
- General languages mechanisms:
Control structure, type systems, abstraction, modules. - Functional languages:
Functions, higher-order types, polymorphism, lists, lazy evaluation, referential transparency, monads, efficiency considerations, proof of correctness. - Logic based languages:
Predicates and rules, unification, SLD resolution, function symbols, lists, implementation of negation, constraint programming.
Aim description:
After the course, the student is expected to be able to:
- solve non-trivial programming tasks in a functional programming language by writing clear and correct code and by applying the standard language libraries.
- solve non-trivial programming tasks in a logic-based language by writing clear and correct code and by applying the standard language libraries.
- estimate time and space consumption of functional programs.
- prove properties of simple functional programs.
- calculate the most general type of a functional expression.
- calculate the most general unifier of two terms.
- execute resolution for a logical goal.
- convert an expression in first order logic to clausal form.