Skip to main content

Data Structures and AlgorithmsLaajuus (5 cr)

Code: HT00CF29

Credits

5 op

Teaching language

  • Finnish

Responsible person

  • Tommi Tuikka

Objective

Purpose of the course

Do you want to learn how to design and develop more efficient algorithms and use more diverse data structures in their development? Data Structures and Algorithms is a course that deepens your knowledge of the basics of programming and develops problem-solving skills needed in programming.

Course competences

- Application development skills: knows the technologies used in application development and recognizes the significance of different technologies and their relationships.
- Application development skills: Is able to program and develop secure applications.
- Learning to learn: Is able to acquire, critically assess and appropriately apply the national and international knowledge base and practices of their field.

Learning outcomes

You will be familiar with the most common data structures used in software development and be able to use them in the development of algorithms.

Content

Common data structures and types of algorithms, use of data structures in algorithm development, efficiency of algorithms, applications of algorithms.

Qualifications

To participate in this course, you must have mastered the basics of Javascript programming language.

Assessment criteria, satisfactory (1)

(Adequate 1) You know the most common data structures used in software development and can use them to develop algorithms. You can implement simple algorithms using models presented in lessons or tutorials on the web. You will have reached the final result defined in the tutorials in at least 50% of the exercises.

(Satisfactory 2) You are familiar with the most common data structures used in software development and can use them to develop algorithms. You can implement simple algorithms using models presented in lessons or tutorials on the web. You will be familiar with the factors that influence the efficiency of algorithms. You have reached the final result specified in the tutorial in at least 70% of the tasks.

Assessment criteria, good (3)

(Good 3) You know the most common data structures used in software development and can use them to develop algorithms. You understand the importance of the efficiency of algorithms. You can apply the methods you have learned to the development of more sophisticated algorithms. You will have achieved the outcome specified in the instructions in at least 80% of the tasks.

(Commendable 4) You know the most common data structures used in software development and can use them in the development of algorithms. You understand the importance of the efficiency of algorithms. You can apply the methods you have learned to the development of slightly more sophisticated algorithms. You will be able to extend your knowledge beyond the topics covered in the course on your own initiative. You will have reached the final result specified in the instructions in at least 90% of the exercises.

Assessment criteria, excellent (5)

(Excellent 5) In addition to the previous requirements, you can critically evaluate the performance of data structures and algorithms in different situations and understand the criteria for their selection for different purposes. You have completed all the exercises and reached the final result specified in the instructions for each exercise.

Timing

20.05.2025 - 31.07.2025

Number of ECTS credits allocated

5 op

Virtual portion

5 op

Mode of delivery

Online learning

Unit

School of Business

Campus

Main Campus

Teaching languages
  • Finnish
Seats

0 - 50

Degree programmes
  • Bachelor's Degree Programme in Business Information Technology
Teachers
  • Tommi Tuikka
Groups
  • HTK24S1
    Tietojenkäsittely (AMK)
  • ZJAHTK24S1
    Avoin AMK, Tiko, AMK-polut, tietojenkäsittely, tradenomi amk

Objectives

Purpose of the course

Do you want to learn how to design and develop more efficient algorithms and use more diverse data structures in their development? Data Structures and Algorithms is a course that deepens your knowledge of the basics of programming and develops problem-solving skills needed in programming.

Course competences

- Application development skills: knows the technologies used in application development and recognizes the significance of different technologies and their relationships.
- Application development skills: Is able to program and develop secure applications.
- Learning to learn: Is able to acquire, critically assess and appropriately apply the national and international knowledge base and practices of their field.

Learning outcomes

You will be familiar with the most common data structures used in software development and be able to use them in the development of algorithms.

Content

Common data structures and types of algorithms, use of data structures in algorithm development, efficiency of algorithms, applications of algorithms.

Time and location

Summer/Autumn 2025

Teaching methods

The course is entirely online. The course includes pre-recorded video lectures, and the solutions to the tasks can be tested using the unit tests provided. In addition, the course includes a 0.5-1 hour personal assessment discussion with the teacher via Zoom.

Student workload

135 tuntia

Further information for students

The exercises will be assessed in a personal assessment interview. Understanding the solutions to the exercises and answering the teacher's questions will be the main focus of the assessment. Simply completing the exercises, e.g. with the help of AI, does not guarantee a grade.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

(Adequate 1) You know the most common data structures used in software development and can use them to develop algorithms. You can implement simple algorithms using models presented in lessons or tutorials on the web. You will have reached the final result defined in the tutorials in at least 50% of the exercises.

(Satisfactory 2) You are familiar with the most common data structures used in software development and can use them to develop algorithms. You can implement simple algorithms using models presented in lessons or tutorials on the web. You will be familiar with the factors that influence the efficiency of algorithms. You have reached the final result specified in the tutorial in at least 70% of the tasks.

Evaluation criteria, good (3-4)

(Good 3) You know the most common data structures used in software development and can use them to develop algorithms. You understand the importance of the efficiency of algorithms. You can apply the methods you have learned to the development of more sophisticated algorithms. You will have achieved the outcome specified in the instructions in at least 80% of the tasks.

(Commendable 4) You know the most common data structures used in software development and can use them in the development of algorithms. You understand the importance of the efficiency of algorithms. You can apply the methods you have learned to the development of slightly more sophisticated algorithms. You will be able to extend your knowledge beyond the topics covered in the course on your own initiative. You will have reached the final result specified in the instructions in at least 90% of the exercises.

Evaluation criteria, excellent (5)

(Excellent 5) In addition to the previous requirements, you can critically evaluate the performance of data structures and algorithms in different situations and understand the criteria for their selection for different purposes. You have completed all the exercises and reached the final result specified in the instructions for each exercise.

Prerequisites

To participate in this course, you must have mastered the basics of Javascript programming language.