TDDB28 Programming and Data Structures, 9 ECTS-points
/Programmering - tillämpning och datastrukturer/

Advancement level:
B

Aim:
This course is a deeper study in application programming, and this in a wide spread programming language, where the choice has fallen on C++. The course shall also teach frequently used data structures and algorithms, and give opportunity to practically work with such.

Prerequisites:
TDDB 25 Programming - abstraction and modelling (or equivalent).

Supplementary courses:
Data bases, Programming in Ada, Artificial intelligence and Lisp, Compilers and interpreters, Realtime- and process programming, Object-oriented systems development.

Course organization:
The lectures covers the main part of the programming language C++, object-oriented analysis and design, principal aspects of data structures and algorithms with practical examples. During the lessons, exercises will be carried out, and laboratory work will be prepared. Laboratory work consists of programming assignments of various kinds. A project work consisting of object-oriented analysis, design, documentation and implementation is to be carried out.

Course content:
The programming language C++, simple object-oriented analysis and design, object-oriented programming in C++. Data structures: abstract data types, lists, stacks, queues, various forms of trees, hash tables and priority queues. Searching and sorting. Basics of analysis of algorithms.

Course literature:
Mark Allen Weiss, Algorithms, Data Structures and Problem Solving with C++, Addison-Wesley, 1996. A C++ book. Course material from the Dept. of Computer and Information Science (IDA)

TEN1Written examination, 1,5 p.
LAB1Labratory work, 2,5 p.
PRA1Project work, 2 p.
Course language is swedish.