TDDA11 Ada and Programming Languages, ECTS-points
/ADA OCH PROGRAMSPRÅK/

Advancement level:
B

Aim:
This course deals with programming languages, with emphasis on imperative languages, and in this connection, common concepts and principles within this paradigm are elucidated. An overview of imperative programming languages, other than those treated in previous courses, are given. The main stress, concerning the languages treated, is on Ada and on programming practice in Ada.

Prerequisites:
A course in programming (preferably based on Pascal or some other imperative language), course in data structures (not an absolute demand).

Course organization:
The lectures present a selection of programming languages, of which Ada is treated more thoroughly, while only overviews are given of Algol 68, C++ and Simula 67. Furthermore, programming language principles are discussed. The laboratory work consists of programming problems in Ada, C++ and Simula.

Course content:
History and evolution of programming languages. Principles of programming languages, with emphasis on imperative languages. Concepts, such as variable, data type, data abstraction, control structures, subprogram, module, exception handling, execution model and parameter passing, are discussed. An overview of traditional programming languages, such as FORTRAN, Algol 60, Simula 67, Algol 68, Modula-2, C and C++. A more thorough treatment of Ada.

Course literature:
John G.P. Barnes, Programming in Ada, fifth edition, Addison-Wesley, 1995. Robert W. Sebesta, Concepts of Programming Languages, third edition, Benjamin/Cummings, 1995. Course material from the Dept. of Computer and Information Science (IDA)

LAB 1Labratory work
TEN 1Written examination
Course language is Swedish.