Data Structures and AlgorithmsLaajuus (3 ECTS)
Course unit code: TT00AA23
General information
- Credits
- 3 ECTS
Objective
After the course, the student will understand the basic principle behind abstract data types. The student is also able to construct an application, which uses an abstract data type. The student can also select a suitable container for the problem in hand and implement 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
Qualifications
Introduction to Programming
Advanced C 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)
Student is able to utilize dynamic memory when realizing abstract data types. He is also able to use stack and queue container types when designing various algorithms. Student knows that there are benefits and drawbacks when implementing containers in different ways, and he is able to select optimal implementations in particular cases.
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.