Datastructures and AlgorithmsLaajuus (4 ECTS)
Course unit code: TI00AB66
General information
- Credits
- 4 ECTS
Objective
The main objective of the course is to understand the importance of abstraction and generality in programming work, and being able to use those concepts efficiently. We use and create software components in this course. Those components are contructed using the C programming language with the concept of abstract data types. The student can use abstraction in programming work. Using pointer and structures efficiently in C.
Content
Abstraction, generality and software components, abstract datatypes (ADTs), stack, queues and tree structures. Recursion in problem solving. Iterators and containers. Complexity of different implementations analysis of the applicability of different solutions in a particular problem (mainly considering memory and processing requirements)
Assessment criteria, satisfactory (1)
Understands the principle of abstraction in programming work both regarding functionalities and data. Understands the concept 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, excellent (5)
Understands the relation between recursion and stack, and is able to resolve relative complicated problems using stack or recursion. Understands when a recursive solution is better and when an iterative solution is better in solving a given problem. Understands the concept of generality when trying to improve the productivity of the programming work.