Data Structures and Algorithms (3 cr)
Code: TTC1050-3019
General information
Enrollment
20.11.2023 - 04.01.2024
Timing
15.01.2024 - 30.04.2024
Number of ECTS credits allocated
3 op
Mode of delivery
Face-to-face
Unit
School of Technology
Campus
Lutakko Campus
Teaching languages
- English
Seats
20 - 35
Degree programmes
- Bachelor's Degree Programme in Information and Communications Technology
Teachers
- Esa Salmikangas
Groups
-
TIC22S1Bachelor's Degree Programme in Information and Communications Technology
- 17.01.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 24.01.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 31.01.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 07.02.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 14.02.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 21.02.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 06.03.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 13.03.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 20.03.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 27.03.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 03.04.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 10.04.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 17.04.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
- 24.04.2024 08:15 - 09:45, Data Structures and Algorithms TTC1050-3019
Objectives
Purpose:
After completing the course you understand the basic concepts regarding algorithm and its implementation. Additionally, you are able to select the applicable data structures to implement an algorithm and assess its effectiveness.
EUR-ACE Competences:
Knowledge and Understanding
Engineering Practice
Investigations and information retrieval
Objectives:
You are able to describe and interpret algorithms and evaluate their functionality and effectiveness in different situations. In addition, you know the most important data structures and are able to choose suitable algorithms for them regardless of the implementation language and platform.
Content
The course introduces various types of algorithms and the most common algorithms. You learn the measurement of algorithm effectiveness with the most important algorithms. The algorithm types are discussed starting from the basic data structures advancing to more complicated (tree and networks) implementations. The course discusses the features of various types of algorithms and data structures regardless of implementation language or platform.
Time and location
The course will be implemented in the spring semester of 2024.
Learning materials and recommended literature
Materials in the e-learning environment.
Teaching methods
- lectures
- independent study
- distance learning
- assignments
Alternative completion methods
The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.
Student workload
One credit (1 Cr) corresponds to an average of 27 hours of work.
- lectures 20 h
- assignment 45 h
- independent study 16 h
Total 81 h
Further information for students
The evaluation is based on a set of the following assignment types:
- Assignments
- Practical Work
Evaluation scale
0-5
Evaluation criteria, satisfactory (1-2)
Pass / Sufficient 1:
You know the most essential concepts related to data structures and algorithms. You are acquainted with the most important linear data structures and their uses. You are able to analyze the function of a simple algorithm and assess its effectiveness.
Satisfactory 2: You know the most essential concepts related to data structures and algorithms. You are acquainted with the linear data structures discussed in the course with their uses. You are able to analyze the function of a simple algorithm and assess its effectiveness.
Evaluation criteria, good (3-4)
Good 3: You know the essential concepts related to data structures and algorithms. You are acquainted with the linear data structures and part of the more complicated data structures. Additionally, you understand the uses of linear algorithms. You are able to implement an algorithm that utilizes some selected data structure. You are able to analyze the function of an algorithm and assess its effectiveness.
Very good 4: You know the essential concepts related to data structures and algorithms. You know the data structures discussed in the course and you are able to visualize their uses. You are able to implement an algorithm that utilizes data structures versatilely. You are able to analyze the function of an algorithm and assess its effectiveness.
Evaluation criteria, excellent (5)
Excellent 5: You know thoroughly the key concepts related to data structures and algorithms. You know the data structures discussed in the course and you are able to visualize their uses. You are able to implement an algorithm that utilizes data structures versatilely. You are able to analyze the function of an algorithm and assess its effectiveness. You are able to select and justify the use of an algorithm and its data structures most suitable for the problem solving case at hand.
Prerequisites
Prerequisites
Basics in Programming
Further information
Technologies discussed in the course: algorithm types, effectiveness classification and analysis, data search and classification algorithms for various data structures, data search and saving techniques, abstract data structures, lists, queues, stacks, trees and networks as well the algorithms related to them.