Skip to main content

Data Structures and Algorithms (3 cr)

Code: TTC1050-3020

General information


Enrollment

18.11.2024 - 09.01.2025

Timing

13.01.2025 - 18.04.2025

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

  • Juha Peltomäki

Groups

  • TIC23S1
    Bachelor's Degree Programme in Information and Communications Technology
  • 14.01.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 21.01.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 28.01.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 04.02.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 11.02.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 18.02.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 04.03.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 11.03.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 18.03.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 25.03.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 01.04.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 08.04.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020
  • 15.04.2025 16:45 - 18:15, Data Structures and Algorithms TTC1050-3020

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 2025.

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 24 h
- assignments 42 h
- independent study 15 h

Total 81 h

Further information for students

The evaluation is based on a set of the following assignment types:

- Assignments
- Practice 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.