Course Evaluation
You can download the results of the course evaluation as well as the action plan.
Schedule
Week | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
---|---|---|---|---|---|---|---|
Mo 14-16 (IMADA Sem. Room) | Lecture |
Proposals 1, 2, 3, 4 |
Proposal 9 Lecture |
Lecture | Presentations 1, 2, 3 |
Presentations 7, 8, 9 |
|
Wed 14-16 (IMADA Sem. Room ) | Intro Meeting | Lecture | Proposals 5, 6, 7, 8 |
Lecture | Lecture | Presentations 4, 5, 6 |
Office Hours
Just come to my office. If you want to make sure I'm there, contact me before (by e-mail, jabber, skype, phone).
- Office: IMADA, Ø16-602a-2 (map)
- Phone: 2327
- E-mail: petersk
- Home page: http://www.imada.sdu.dk/~petersk/
Topics
Number | Name | Topic | Proposal | Presentation |
---|---|---|---|---|
1 | Martin Kamp Jensen | Generic Types in Java | proposal slides | project and benchmarks |
2 | Johnny Svensson | Graphical User Interfaces in Java | Observer pattern (Wikipedia) Swing Tutorial |
presentation source |
3 | Rasmus Færing Larsen | Introspection and Metaprogramming in Java | presentation source 1 source 2 |
|
4 | Arun Vadiveal | Aspect-Oriented Programming in Java | DM8XX_AOP.tar.gz DM8XX_AOP.zip |
presentation and sources |
5 | Patrick-Ranjit D. Madsen | Introspection and Metaprogramming in Python | diveintopython.zip source and presentation.zip |
source and presentation |
6 | Thomas Glue Rasmussen | Python for Database Applications | proposal3rd.odp
gadfly.txt sqlobject.txt |
source and presentation |
7 | Jonas Haustad | Webservices | proposal | presentation source code |
8 | Bjørn Madsen | Erlang | Proposal Erlang | source and presentation |
9 | Jakob Lykke Andersen | Spec# | proposal slides | presentation and source |
Literature
Course Material: Handed out individually.
You can download the introductory slides from the pizza meeting.
Course Description
Prerequisites:
The content of DM509 must be known.
Evaluation:
Pass/fail based on presentation of articles and a project. Internal examination by the teacher.
Course type:
Lectures, discussion sessions, project work.
Teaching period:
4th quarter, spring 2009
Aims:
The goal of the individual study activitiy "Advanced Concepts in Programming Languages" 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 furhter programming experience by applying these advanced concepts to small practical problems. The advanced concepts for imperative programming include the use of polymorphic types in an object-oriented language (generics in Java), the use of functional progamming styles in imperative languages for high-performance computing (single assignment C) and the use of functional constructs in imperative scripting languages (higher-order functions and list operations in Python). For logic-based programming, the concepts introduced should include foreign language interfaces (interfacing Prolog with Java using InterProlog), meta programming (expert systems), database query languages (Datalog), and parser generation (definite clause grammars). For functional programming, extensions to combined functional logic languages (Curry) and to concurrent programming (concurrent Haskell) are considered. Furthermore, the implementation of web interfaces (using Haskell's cgi and xhtml modules) and graphical user interfaces (using Java Swing through the LambdaVM) are of interest.