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.
Enrollment
03.03.2025 - 15.06.2025
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
20 - 75
Degree programmes
- Bachelor's Degree Programme in Business Information Technology
Teachers
- Tommi Tuikka
Groups
-
HTK24S1Tietojenkäsittely (AMK)
-
ZJAHTK24S1Avoin AMK, Tiko, AMK-väylät, tietojenkäsittely, tradenomi amk
-
ZJA25KIAvoin amk, tiko
-
ZJK25KIKorkeakoulujen välinen yhteistyö, TIKO
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 hours
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.