Study Guide@lith

Linköping Institute of Technology

Valid for year : 2016
TDDA69 Data and Program Structures, 6 ECTS credits.
/Data- och programstrukturer/

For:   D   IP   IT  


Prel. scheduled hours: 64
Rec. self-study hours: 96

  Area of Education: Technology

Main field of studies: Computer Science, Computer Engineering

  Advancement level (G1, G2, A): G2

Provide knowledge of various programming paradigms and evaluation strategies. The aim of the course is that the students should gain knowledge of different programming paradigms and strategies for evaluation, and how these can be implemented. After the course the student will be able to:
  • describe aspects of evaluation and execution in different language models
  • explain and demonstrate how design choices affect the expressiveness and efficacy of a programming language
  • analyze and value programming languages based on their evaluation and compilation strategies
  • implement programming languages in the form of an interpreter and a compiler

Prerequisites: (valid for students admitted to programmes within which the course is offered)
Functional programming, preferably Common Lisp or Scheme, and also to some extent object oriented programming.

Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.

Supplementary courses:
Logic Programming, Programming Theory.

The theoretical part of the course is treated during the lectures. The seminars are used for preparing for the laboratory assignments and for exercising the solving of applied problems. The laboratory work provides practical experience.
The course runs over the entire spring semester.

Course contents:
The following topics are adressed during lectures and lessons:
  • The Scheme programming language, used as a tool in the literature and during the labs, and as a model language for implementing other languages.
  • The substition and environmental model.
  • Programming paradigms and models of evaluation, e.g. functional, imperative, object oriented; lazy evaluation, streams, non-deterministic evaluation, logic programming.
  • Aspects of evaluation, parameter passing, exection environments and models of recursion.
  • Study and implmenentation of interpreters and compilers, where Scheme is the model language.

Course literature:
Abelson H. & Sussman, G.J. (1996) Structure and Interpretation of Computer Programs. MIT Press.

Written examination
Laboratory exercises
1,5 ECTS
4,5 ECTS

Course language is Swedish.
Department offering the course: IDA.
Director of Studies: Peter Dalenius
Examiner: Cyrille Berger
Link to the course homepage at the department

Linköping Institute of Technology


Contact: TFK ,
Last updated: 09/26/2014