Introduction to Algorithms and Data Structures (LTAT.03.029) Spring 2027

A tentative schedule is available.

High-Level Description

This course is intended to be a gentle introduction to the fundamentals of algorithm design and analysis for students who are not necessarily computer science majors, but who have some experience with computer programming.

While algorithms have been studied in some form since ancient times, the development and widespread adoption of digital computers has resulted in an explosion of activity over the last hundred or so years. From this activity emerged a core collection of techniques for (and perspectives on) the storage and manipulation of information.

We will explore this core. In addition to being interesting in and of itself, undertaking this exploration will equip you with one of the basic tools of computer science, allowing you to better understand modern information processing systems, and to make better technical decisions about them.

More concretely, we will study classical data structures including arrays, linked lists, trees, graphs, and hash tables, algorithms operating on these data structures, and the analysis of their time and space usage, as well as their implementation and practical use.

See also the course page in the study information system.

DO NOT take this course if:

You are majoring in computer science at the university of Tartu. In this case take LTAT.03.005, which is for computer science majors, instead.

Details

There will be one lecture and two practical sessions each week. One of the practical sessions will focus on theoretical understanding of course concepts, and the other will focus on their implementation in Python.

The grading scheme is:

Component Weight
Assignments 20%
Midterm Test 40%
Final Exam 40%

There will be four assignments, each of which consists of one or more programming tasks to be completed using Python. The midterm test will take place in class some time in the middle of the semester. The final exam takes place during the usual examination period. Both the midterm and final exam will be closed-book. In contrast to the assignments, the exams will focus on theoretical understanding of and fluency with course concepts.