Data Structures and Algorithms (3 cr)
Code: ELA18PR01-3003
General information
Enrollment
15.11.2021 - 07.03.2022
Timing
07.03.2022 - 01.05.2022
Number of ECTS credits allocated
3 op
Mode of delivery
Contact teaching
Unit
Faculty of Technology and Seafaring
Campus
Vasa, Wolffskavägen 33
Teaching languages
- Svenska
Degree programmes
- Degree Programme in Electrical Engineering and Automation
Teachers
- Kaj Wikman
Teacher in charge
Ronnie Sundsten
Scheduling groups
- ELA20-V-I (Size: 20. Open UAS: 0.)
Groups
-
ELA20D-VIngenjör (YH), el- och automationsteknik, h20, dagstudier
Small groups
- ELA20-V-I
Objective
The course will provide the student with basic skills about data structures, their abstractions and associated algorithms. The course contains theoretical knowledge needed to develop and implement effective and stable programming solutions.
Content
The course will provide the student with basic skills about data structures, their abstractions and associated algorithms. The course contains theoretical knowledge needed to develop and implement effective and stable programming solutions.
1. Introduction, data structures, algorithms and abstraction.
2. Time complexity
3. Standard Template Library (STL) concept
4. Linear lists
5. Linear list search algorithms
6. Hash tables
7. Recursion
8. Sorting
9. Tree structures and graphs
Evaluation scale
H-5
Assessment criteria, satisfactory (1)
Understand the concept and be able to rank common complexity measures and derive these from simple program designs.
Understand the concept of data structure and algorithm.
Assessment criteria, good (3)
Be able to derive complexity from more complex programs and algorithms, and perform measurements experimentally.
Understand the coupling data structure algorithm, how the choice of one partially or completely determines the choice of the other, and how the combination of the two affects time and space complexity.
Assessment criteria, excellent (5)
Understand how to choose among different solutions and implement optimal solution taking into account the present problems.
Be able to choose from a wide range of data structures and algorithms. Be able to find and use implementations of these in standard libraries, as well as have good skills in implementing them on their own in an efficient and well-structured way.
Qualifications
The course The basics of programming