TDDB81 Programming, ECTS-points
/Programmering/

Advancement level:
B

Aim:
The course will provide - knowledge regarding concepts about programming languages, such as compiling, interpretation, data types, data structures, control structures, modules, parameters and other program units. - knowledge regarding the functional and the imperative programming paradigms. - ability to formulate algorithms, iterative and recursive, and ability to solve simple problems. - abilities in programming, in the use of the programming language LISP, and the use of an incremental programming system. Emphasis will be made on an interactive methodology when programming. - abilities in programming, in the use of the imperative programming language Ada, and orientation of other such languages, C, Java and Pascal.

Prerequisites:
Elementary computer usage. Concepts (sets, relations and graphs) from TATM 43 Discrete mathematics and logic.

Supplementary courses:
TDDA69 Data and programming structures, TDDB34 Object-Oriented Development of Usable Systems and all other programming courses.

Course content:
- Introduction to actual computer systems. - Overview of programming languages and paradigms. - Functional programming. Recursion, higher order functions. Data and procedure abstraction, abstract data types. Data driven programming. - The programming language Common Lisp. Basic functions applied to numbers, symbols, lists and other data types. Macro functions and functions that changes the structure of data. - Laboratory and project work in Common Lisp. - Imperative programming. Concepts, such as variables, data types, control structures, modularisation, program units, error handling. - The programming language Ada. Laboratory work in Ada.

Course literature:
Course materials from the department of Computer and Information science. Haraldsson, Anders, Programmering i Lisp. Studentlitteratur, 1993 (Swedish) Barnes, J G P, Programming in Ada95, Addison-Wesley, 1995

TEN1Written examination, 2 p.
LAB1Laboratory and project work in Lisp, 4 p.
LAB2Laboratory work in Ada, 2 p.
Course language is Swedish.