Course Evaluation

You can download the results of the course evaluation as well as the action plan.

Project Details

The project topics are assigned individually and in a dialogue between student and teacher. Each project will have different requirements as to what should be included in the report. Here are some general guidelines, though:

  • discuss the programming concepts you will apply in sufficient details for the other students of the course to be able to follow the rest of your report
  • focus on the interesting aspects (e.g. how to employ a language feature or a programming framework for a specific task)
  • provide the reader with an idea of what you wanted to achieve in your project and where the journey actually led you
  • you should end up with approx. 10-15 pages (not including references and appendices, but including figures, screenshots, important code snippets etc.)
  • latest deadline for delivery is June 30 (but early delivery is appreciated)

Preliminary Schedule

Week 15 16 17 18 19 20 21 22
Mo 16-18 (U49B)
Presentations 2,3

Presentations 4,5,6

Wed 08-10 (U49E) Exercise
Thu 08-10 (IMADA Sem. Room) Lecture
Presentations 10,11,12
Thu 12-14 (IMADA Sem. Room)

Presentations 7,8,9

Office Hours

Just come to my office. If you want to make sure I'm there, contact me before (by e-mail, jabber, phone).


Number Name Topic Proposal Presentation
2 Jeppe Schmidt The Google App Engine presentation slides project reports
3 Christian Funder Sommerlund Creating Dynamic Web Pages using AJAX presentation slides project reports
4 Michael Franz Platform-Independent USB Communication in Java presentation slides project reports
5 Philip Pontoppidan Thyssen XML DOM Trees and SVG Generation from Point Data presentation slides project reports
6 Martin Dissing-Hansen Graphical User Interface for SVG Manipulation presentation slides project reports
7 Bjarke Niemann Hansen Objective-C and the iOS Csound Library presentation slides project reports
8 Fredrik Alkærsig Audio Hashing using Low-level Interfaces in Python presentation slides project reports
9 Christian Damsgaard Jörgensen Semantic Web Query Interface using SPARQL presentation slides project reports
10 Mikkel Secher Android App Programming for a Wet Business Environment presentation slides project reports
11 Christian Kudahl Winning Strategies and Theorem Proving using TOY presentation slides project reports
12 Anders Knudsen Graphical Presentation in Android Apps presentation slides project reports


Course Material: Handed out during the course and individually.

You can download the introductory slides from the pizza meeting.

Course Description


The contents of DM509 Programming Languages should be known.


a) Oral presentation of an assigned topic. Pass/fail, internal evaluation by the teacher.

b) Project based on individually assigned tasks, that have to be solved by using at least one of the advanced topics. The tasks consist of an implementation and a written report. Grades according to the 7-point marking scale. External examiner.

Reexam after the 4th quarter.

Withdrawal date:

Withdrawal from the exam must be 7 days before the first exam date.

Course type:

Lectures: 20 hours. Discussion and presentations: 22 hours.

Teaching period:

4th quarter, spring 2012


The goal of this course is to give the participants an understanding of advanced concepts in imperative, object-oriented, logic-based, and functional programming languages. The participants should also gain further programming experience by applying these advanced concepts to small practical problems.


Scripting languages, multi-paradigm languages, advanced type systems, reflection and meta programming, extensible programming, program verification, domain specific languages, aspect-oriented programming, distributed programming, foreign language interfaces, parser generation, graphical user interfaces.

Aim description:

After the course, the student is expected to be able to:

  • use advanced features in standard programming languages.
  • write programs in a modern scripting language.
  • write programs that cooperate beyond language and system barriers.
  • classify unknown programming languages.
Design by | Modified by Peter Schneider-Kamp | CSS 2.0