Skip to content

Freie Universität Bozen

Data Structures & Algorithms

Semester 1 · 76410 · Bachelor in Wirtschaftsinformatik · 6KP · IT


• Searching and sorting
• Analysis of algorithms: correctness and complexity
• Divide and conquer, recurrences
• Pointers, dynamic data structures, linked lists
• Abstract data types: stacks, queues, priority queues, maps
• Elementary graph and tree algorithms

Lehrende: Ivan Donadello

Vorlesungsstunden: 40
Laboratoriumsstunden: 20
Anwesenheitpflicht: Attendance is not compulsory, but strongly recommended. The lectures consist of presentations, interspersed by small exercises, and discussions with the students. The goal of the course is to enable students to develop and analyze algorithms, which is a skill that can only be acquired by training. Students who are unable to follow all lectures and labs are encouraged to attend at least some of them. They are also encouraged to work out all the exercises given during the lectures and the labs.

Themen der Lehrveranstaltung
- Search and sorting - Analysis of algorithms: correctness and complexity - Divide and conquer, recurrences - Pointers, dynamic data structures, linked lists - Abstract data types: stacks, queues, priority queues, maps - Elementary graph and tree algorithms

Unterrichtsform
Frontal lectures and labs.

Bildungsziele
The course belongs to the type "attività formative di base – informatica di base". By following this course, students will be able to formulate algorithmic problems and to recognize algorithmic problems underlying an application. They will also acquire an in-depth understanding of the standard data structures and the corresponding algorithmic techniques to solve such problems. They will recognize how certain algorithmic approaches depend on the choice of a suitable data structure and vice versa. Moreover, students will learn how to analyze whether an algorithm is correct and which time and space resources it needs. Finally, students will learn how to compare different algorithms with respect to their suitability for a given application. Knowledge and understanding: • D1.3 - Know the basic principles of programming. • D1.6 - Know the most important data structures and their use in programming languages. Applying knowledge and understanding: • D2.2 - Ability to solve algorithmic problems using programming methods. Learning skills • D5.1 - Learning ability to undertake further studies with a high degree of autonomy.

Bildungsziele und erwartete Lernergebnisse (zus. Informationen)
The course belongs to the type "attività formative di base – informatica di base". By following this course, students will be able to formulate algorithmic problems and to recognize algorithmic problems underlying an application. They will also acquire an in-depth understanding of the standard data structures and the corresponding algorithmic techniques to solve such problems. They will recognize how certain algorithmic approaches depend on the choice of a suitable data structure and vice versa. Moreover, students will learn how to analyze whether an algorithm is correct and which time and space resources it needs. Finally, students will learn how to compare different algorithms with respect to their suitability for a given application.

Art der Prüfung
The assessment is based on a written final exam. The written exam consists of questions to verify knowledge, questions that assess the ability to apply knowledge acquired in the course, and exercises.

Bewertungskriterien
There are no requirements for attending the final exam. In the written exam, students have to apply techniques taught in the course in a defined setting and have to develop algorithms for new problems. The algorithms developed have to be analyzed with respect to correctness and efficiency. The answers are marked according to their correctness, the suitability of the algorithms developed, and the validity and clarity of the analysis.

Pflichtliteratur

Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (CLRS), 2nd or 3rd edition

University Library: ST 134 C811



Weiterführende Literatur

Algorithms and Data Structures - The Basic Toolbox, K. Mehlhorn and P. Sanders, free download from

http://www.mpi-inf.mpg.de/~mehlhorn/ftp/Mehlhorn-Sanders-Toolbox.pdf



Weitere Informationen
Subject Librarian: David Gebhardi, David.Gebhardi@unibz.it Software used: Java/C compiler and debugger


Als PDF herunterladen

Ziele für nachhaltige Entwicklung
Diese Lehrtätigkeit trägt zur Erreichung der folgenden Ziele für nachhaltige Entwicklung bei.

4

Infoanfrage