Algorithms and Data Structures WM-MA-S1-E4-ASDA
The course covers fundamental concepts related to the design, analysis, and implementation of algorithms, as well as the selection of data structures appropriate for the problem at hand. Topics include methods for evaluating algorithm correctness and complexity, asymptotic analysis of computational costs, and the relationship between data representation and processing efficiency.
The course introduces abstract data types and basic data structures—including lists, stacks, queues, trees, and graphs—along with structures designed for the efficient storage, retrieval, and organization of data. It covers classic algorithms for searching, sorting, and processing trees and graphs, as well as selected algorithm design techniques, specifically recursion, divide-and-conquer, greedy algorithms, and dynamic programming.
Particular emphasis is placed on analyzing the interplay between the algorithm, the chosen data structure, and the computational cost. Students learn to model discrete problems, design and implement algorithmic solutions, analyze their correctness and complexity, and compare alternative approaches to solving the same problem.
(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
Term 2026/27_L: | Term 2025/26_L: |
(in Polish) Opis nakładu pracy studenta w ECTS
Term 2025/26_L: (in Polish) Wykład:
uczestnictwo w zajęciach: 30h
lektury, praca własna: 20h
razem: 50h, 2 punkty ECTS
Ćwiczenia:
uczestnictwo w zajęciach: 30h
praca własna: 44h
razem: 75h, 3 punkty ECTS | Term 2026/27_L: LECTURE
class attendance: 30 hours
exams outside of class: 3 hours
consultations: 4 hours
exam preparation: 13 hours
Total: 50 hours
1.5 ECTS – direct contact with the instructor
0.5 ECTS – independent work
EXERCISES/TUTORIALS
class attendance: 30 hours
consultations: 4 hours
class preparation/homework: 20 hours
preparation for course credit: 21 hours
Total: 75 hours
1.4 ECTS – direct contact with the instructor
1.6 ECTS – independent work |
Subject level
Learning outcome code/codes
Type of subject
Preliminary Requirements
Learning outcomes
LECTURE
W1 – characterizes fundamental algorithm design techniques, including recursion, divide-and-conquer, greedy algorithms, and dynamic programming, and explains basic methods for analyzing algorithm correctness and complexity (MA1_W08),
W2 – describes fundamental and selected advanced data structures, the operations performed on them, and their application in solving algorithmic problems (MA1_W08),
W3 – characterizes classic algorithms for searching, sorting, and data processing, and explains the relationship between data representation, the algorithm used, and computational cost (MA1_W08).
LABORATORY
U1 – recognizes and specifies problems amenable to algorithmic solutions, defining input data, expected results, and solution conditions (MA1_U25),
U2 – designs and analyzes algorithms in accordance with specifications and implements them in a chosen programming language using appropriate data structures (MA1_U26),
U3 – models and solves discrete problems using the algorithms, data structures, and design techniques learned (MA1_U29),
K1 – formulates questions and identifies missing elements of reasoning when analyzing the correctness, complexity, and operation of algorithms (MA1_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: