Skip to main content

Data Structures and Algorithms (3 cr)

Code: TTC1050-3019

General information


Enrollment

20.11.2023 - 04.01.2024

Timing

08.01.2024 - 30.04.2024

Number of ECTS credits allocated

3 op

Mode of delivery

Contact teaching

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

  • TIC22S1
    Bachelor's Degree Programme in Information and Communications Technology

Objective

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.

Location and time

The course will be implemented in the spring semester of 2024.

Materials

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- assignments
- exam

Exam schedules

The date and method of the exam will be announced in the beginning of the course.

Completion alternatives

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 30 h
- exam 6 h
- independent study 25 h

Total 81 h

Further information

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

- Assignments
- Tentti

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

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.

Assessment criteria, good (3)

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.

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

Qualifications

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.