Data Structures and Algorithms WM-FI-S1-E4-ALSD
The subject covers basic issues related to the design, analysis and implementation of algorithms as well as the selection of data structures appropriate to the problem being solved. Methods for assessing the correctness and complexity of algorithms, asymptotic analysis of computational costs and the relationship between the method of data representation and the efficiency of their processing are discussed.
The course introduces abstract data types and basic data structures, including lists, stacks, queues, trees, and graphs, as well as structures for efficiently storing, retrieving, and organizing data. Classical search, sorting, tree and graph processing algorithms are discussed, as well as selected algorithm design techniques, in particular recursion, divide and conquer, greedy algorithms and dynamic programming.
Particular emphasis is placed on the analysis of the relationship between the algorithm, the data structure used and the cost of calculations. Students learn to design and implement solutions to algorithmic problems, analyze their correctness and complexity, and compare alternative ways of solving the same problem. The methods and data structures discussed are also considered in the context of data processing and analysis and the implementation of calculations occurring in scientific applications.
(in Polish) Dyscyplina naukowa, do której odnoszą się efekty uczenia się
(in Polish) E-Learning
(in Polish) Grupa przedmiotów ogólnouczenianych
Course coordinators
(in Polish) Opis nakładu pracy studenta w ECTS
Subject level
Learning outcome code/codes
Type of subject
Preliminary Requirements
Learning outcomes
LECTURE
The student:
W1 – characterizes basic algorithm design techniques, including recursion, the divide-and-conquer method, greedy algorithms, and dynamic programming, and explains fundamental methods for analyzing algorithm correctness and complexity (FIZ1_W15),
W2 – describes basic data structures and the operations performed on them, and explains the criteria for selecting data structures appropriate for a given problem (FIZ1_W15),
W3 – characterizes classic algorithms for searching, sorting, and data processing, and explains the relationship between the chosen algorithm, the data representation method, and computational cost (FIZ1_W15).
EXERCISES
The student:
U1 – selects data representation methods and data structures appropriate for the problem at hand and uses them to process and organize data (FIZ1_U02),
U2 – designs and implements algorithms using learned techniques and data structures, and employs IT tools to analyze their operation and efficiency (FIZ1_U09),
U3 – applies learned algorithms and data structures to solve problems related to data processing, data analysis, and scientific computing (FIZ1_U02, FIZ1_U09),
K1 – formulates questions and identifies gaps in reasoning when analyzing the correctness, complexity, and operation of algorithms (FIZ1_K02).
Assessment criteria
For all learning outcomes, the following assessment criteria are adopted for all forms of verification:
grade 5: fully achieved (no obvious shortcomings),
grade 4.5: achieved almost fully and criteria for awarding a higher grade are not met,
grade 4: largely achieved and the criteria for a higher grade are not met,
grade 3.5: largely achieved with a clear majority of positives and the criteria for granting a higher grade are not met,
grade 3: achieved for most of the cases covered by the verification and criteria for a higher grade are not met,
grade 2: not achieved for most of the cases covered by the verification.
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: