Course Evaluation
You can download the results of the course evaluation.
Exam
The exam will take place Monday, January 10, 2011 from 9:00-13:00 in rooms U48 and U48A.
There is a number of old exams from previous editions of this course.
Weekly Notes
Week | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
---|---|---|---|---|---|---|---|
Weekly notes | 08.11.2010 | 15.11.2010 | 22.11.2010 | 30.11.2010 | 06.12.2010 | 06.12.2010 | 06.12.2010 |
Project
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.
Part 2
Information about the second part of the project is now available in a note on Part 2.
Template
There is a template available to use as a starting point for the solution.
Schedule
Week | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
---|---|---|---|---|---|---|---|
Tue 10-12 | Exercise (U26a) | ||||||
Tue 14-16 | Lecture (U27a) | Lecture (U27a) | Lecture (U27a) | Lecture (U27a) | Lecture (U27a) | Lecture (U27a) | Lecture (U27a) |
Wed 12-14 | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) | Exercise (U27a) |
Fri 08-10 | Lecture (U26) | Lecture (U26) | Exercise (U26) | Lecture (U26) | Lecture (U26) | Exercise (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.
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:
- A four hour written exam with books, notes, etc. External examiner, grades according to the 7-point marking scale.
- A number of mandatory assignments (pass/fail, internal evaluation by teacher), accounting for 1 ECTS of the 5 ECTS of the course. These assignments must be approved before the written exam can be taken.
- Reexam after 4th quarter. The reexam is an oral exam with external examiner and grades according to the 7-point marking scale.
Withdrawal date:
Withdrawal from the exam must be 7 days before the first exam date.
Course type:
Lectures (22 hours), discussion sessions (20 hours), project work.
Teaching period:
2nd quarter, fall 2010
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 Haskell by writing clear and correct code and by applying the standard language libraries.
- solve non-trivial programming tasks in Prolog by writing clear and correct code and by applying the standard language libraries.
- estimate time and space consumption of Haskell programs.
- prove properties of simple Haskell programs.
- calculate the most general type of a Haskell expression.
- determine if a Haskell function is strict.
- calculate the most general unifier of two Prolog terms.
- execute resolution for a Prolog goal.
- convert an expression in first order logic to clausal form.