Data Structures and Algorithms (3 cr)
Code: TTC1050-3006
General information
Enrollment
01.11.2022 - 05.01.2023
Timing
26.01.2023 - 28.04.2023
Number of ECTS credits allocated
3 op
Mode of delivery
Face-to-face
Unit
School of Technology
Campus
Lutakko Campus
Teaching languages
- English
Seats
0 - 35
Degree programmes
- Bachelor's Degree Programme in Information and Communications Technology
Teachers
- Ville Arvio
Groups
-
TIC21S1Bachelor's Degree Programme in Information and Communications Technology
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.
Learning materials and recommended literature
Materials in the e-learning environment.
Teaching methods
- lectures
- independent study
- distance learning
- exercises
- course exercise (in groups)
Exam dates and retake possibilities
The possible date and method of the exam will be announced in the course opening. Pandemic may affect the course management.
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 24 h
- learning project and seminar 20 h
- independent study 37 h
Total 81 h
Content scheduling
The lessons cover the entire data structures and algorithms topic area. The course exercise will be started in groups before the self-study week. It is possible for student groups to receive support for the course exercise throughout the course.
Further information for students
The evaluation is based on a set of the following assignment types:
- Exercise 10 points
- Exercises 14 points
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.