Skip to main content

Data Structures and Algorithms (3 cr)

Code: ELA18PR01-3004

General information


Enrollment

01.12.2022 - 05.03.2023

Timing

06.03.2023 - 30.04.2023

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

Scheduling groups

  • ELA21-I (Size: 30. Open UAS: 0.)

Groups

  • ELA21D-V
    Ingenjör (YH), el- och automationsteknik, 2021, dagstudier

Small groups

  • ELA21-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