Skip to main content

Data Structures and Algorithms (5 cr)

Code: TX00DS64-3009

General information


Enrollment

28.11.2022 - 05.03.2023

Timing

13.03.2023 - 07.05.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Myllypurontie 1

Teaching languages

  • English

Seats

0 - 55

Degree programmes

  • Information and Communication Technology

Teachers

  • Sami Ben Cheikh

Groups

  • TVT21-O
    Ohjelmistotuotanto

Objective

Student is familiar with basic data structures and knows about some crucial, often used algorithms. Student will have practical skills for planning and analysing algorithms. Furthermore a student familiarizes oneself with the Java Collections API module, as an example of a framework including a complete set of data structures and algorithms.

Content

- Abstract data type
- Data structures: linear list, stack, queue, trees, priority queue, set (hashing), graphs
- Recursion
- Implementation of data structures and algorithms
- Search problem, sort problem
- Computational complexity
- Using Java Collections API: containers and iterators

Materials

There is no required textbook for the course and all course materials will be provided by the instructor.

Teaching methods

The course is 8 weeks long

Here's the schedule for this time period:

- Thursday 09.00 – 12.00
- Thursday 13.00 – 16.00

Exam schedules

Quizzes/ Midterm

- 2023-03-23: Quiz 1
- 2023-03-30: Quiz 2
- 2023-04-06: Midterm 1
- 2023-04-13: Quiz 3
- 2023-04-20: Quiz 4
- 2023-04-27: Quiz 5
- 2023-05-04: Midterm 2

Student workload

This course is worth 5 ECTS which maps to 135 hours: (1 ECTS = 27 hours ).

The workload is divided into mini-lectures, homework, group activities and pair programming tasks.

In addition to the lectures, you should plan to spend some time each week studying beyond class.

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Understands the principle of abstraction in programming work and is able to use different data structures offered by APIs.

Assessment criteria, good (3)

The student understands the implementation principles of different data structures and is able to choose an appropriate data structure to a problem in hand. Student is able to write algorithms to manage different data structures.

Assessment criteria, excellent (5)

The student understands and is able to analyze the computational complexity of different data structures and their algorithms.

Assessment criteria, approved/failed

Understands the principle of abstraction in programming work and is able to use different data structures offered by APIs.

Assessment methods and criteria

- 90%: Grade 5
- 80%: Grade 4
- 70%: Grade 3
- 60%: Grade 2
- 50%: Grade 1

The course grade will be as follows:

- Group activities (17,5%)
- Pair programming tasks (15%)
- Peer Assessments (7%)
- 5 Quizzes (20%)
- 2 Midterms (40.5%)

Prerequisites

Object-oriented Applications and Databases