Skip to main content

Data Structures and Algorithms (3 cr)

Code: ELA22PR01-3001

General information


Enrollment

30.11.2023 - 03.03.2024

Timing

04.03.2024 - 28.04.2024

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

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

Groups

  • ELA22D-V
    Ingenjör (YH), el- och automationsteknik, 2022, dagstudier

Small groups

  • ELA22-I

Objective

The student:
- understands and can construct data structures,
- understands and can construct O-notation
- is able to create algorithms that take into account different complexities.

Content

The course contains the theoretical and practical knowledge needed to develop and implement efficient and stable programming solutions.

The following concepts are discussed here, among other things
1. 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