Skip to main content

Data Structures and AlgorithmsLaajuus (3 cr)

Code: ELA18PR01

Credits

3 op

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

Qualifications

The course The basics of programming

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.

Materials

See the current realization of the course.

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