Skip to main content

Datastructures and AlgorithmsLaajuus (5 cr)

Code: TI00AC30

Credits

5 op

Objective

After the course, student will understand the basic principle behind abstract data types. Student is also able to construct an application which uses an abstract data type. Student can also select a suitable container for the problem in hand and implementing the container.

Content

- Abstract data types
- Software components
- Abstract data types (ADT), stacks, queues and trees
- Iterators and containers
- Complexity of different implementations
- Recursion in definitions, problem solving and as a programming technique

Prerequisites

Introduction to Programming
Advanced Programming

Assessment criteria, satisfactory (1)

Understands the principle of abstraction in programming work both regarding functionalities and data. Understands the consept of abstract data type (ADT) and its importance in programming work. Is able to use given ADTs and is able to construct reusable ADTs.

Assessment criteria, good (3)

The student can use effectively the dynamic memory in the usage and implementation of abstract data types. The student can exploit the stack and the queue in the implementation of different algorithms. The student understands that different implementation methods of containers each have their advantages and disadvantages and can choose a suitable implementation according the requirements of the application.

Assessment criteria, excellent (5)

Understands the relation between recursion and stack, and is able to resolve relative complicated problems using stack or recursion. Understands when recursive solution is better and when iterative solution is better in solving a given problem. Understands the consept of generality when trying to improve the productivity of the programming work.