Hide menu

High-level notions of computations and programming language concepts

2006HT

Status Cancelled
School Computer and Information Science (CIS)
Division AIICS
Owner Anders Haraldsson
Homepage http://www.ida.liu.se/~bjoha/hln

  Log in  




Course plan

Lectures

Approx 24 h mostly for students presentations and discussions. Invited lecturers.

Recommended for

For all graduate students in computer science, especially students from CIS, CUGS and ECSEL.

The course was last given

New course, but is based on the 2005-year course High-level notions of computations and programming language concepts (with the same name).

Goals

The goal of this course is to
1. give the participants the opportunity to get acquainted with good state-of-the-art high-level abstractions and concepts found in programming languages,
2. provide insight in what distinguishes productive abstractions for less productive ones, and
3. provide an overview of techniques for implementing and deploying such abstractions.

Prerequisites

Knowledge of different progrmaming languages and paradigms, constructions of compilers and interpreters.
For example: The Ph.D. course Concepts, Techniques, and Models of Computer Programming.

Contents

Topics that may be covered by lectures and student presentations include but are not limited to:

- active objects and mobile agents,
- type systems,
- multimethods and predicted dispatch,
- reflection, introspection and intercession,
- persistent object systems and garbage collection,
- generative programming,
- constraint imperative programming,
- naturalistic programming,
- cognitive aspects of programming languages, and empirical studies on what makes abstractions productive,
- partial evaluation and abstractions for defining program transformation in a modular fashion,

Programming Systems
Several programming languages and tools used and discussed during the course may include but are not limited to:
AspectJ, Curry, Eclipse, Erlang, Haskell, JRocket, Mays, Multi-Java, Matematica, Modelica, LLVM (Low Level Virtual Machine, Oz/Mozart, MZtake, Prolog, Ruby, Scheme, Scream, Self and Smalltalk/Squeak.

The course will also include some lectures giving historical aspects on the development of concepts and systems related to the course.

Organization

As a course with some intensive lecturing by invited lecturers. Student presentation of papers.

Literature

Research papers and documentations.

Lecturers

Anders Haraldsson
Björn Hägglund
Invited lecturers

Examiner

Anders Haraldsson

Examination

Active participation on lectures.
Each student selects a topic and surveys the abstractions that are related to that topic and provided by one or more programming systems. The work is to be presented orally and in a written report.

Credit

3 credits.

Organized by

Anders Haraldsson, Björn Hägglund, AIICS with contributions from teachers from other divisions and invited lecturers.

Comments

The course High-level notions of computations and programming language concepts given VT 2005 was splited up into two courses. This course (with the same name) covers the part where each student selects a topic and surveys the abstractions that are related to that topic and provided by one or more programming systems. The work is to be presented orally and in a written report. The first part of the course VT 2005 was covered VT 2006 in Concepts, Techniques, and Models of Computer Programming.


Page responsible: Director of Graduate Studies