High-level notions of computations and programming language concepts2006HT
|
|
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