Algorithms and data structures Field of study: Mathematics
Programme code: W4-N2MT19.2023

Module name: Algorithms and data structures
Module code: W4-MT-N2-23-AiSD
Programme code: W4-N2MT19.2023
Semester: winter semester 2023/2024
Language of instruction: Polish
Form of verification: exam
ECTS credits: 5
Purpose and description of the content of education:
Celem modułu jest zapoznanie studentów z wybranymi strukturami danych oraz omówienie wybranych algorytmów i metod konstruowania algorytmów. W trakcie laboratoriów, które będą odbywały się w pracowni komputerowej, studenci będą mieli możliwość napisania programów wykorzystujących omawiany materiał. Natomiast w trakcie konwersatoriów, odbywających się w klasycznej sali tablicowej, będzie możliwość głębszego i teoretycznego omówienia stosownego materiału. 1. Typy złożoności: pesymistyczna, optymistyczna i średnia. 2. Rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych. Twierdzenie o rekurencji uniwersalnej. 3. Omówienie wybranych problemów i algorytmów w tym m.in. tych wymienionych w podstawie programowej kształcenia ogólnego przedmiotu Informatyka w szkole ponadpodstawowej. 4. Abstrakcyjne struktury danych: stosy, kolejki, kolejki priorytetowe, słowniki. Metody implementacji powyższych struktur (tablice, listy dowiązane, kopce binarne, drzewa, drzewa poszukiwań binarnych) i ich zastosowania (np. do zamiany klasycznego wyrażenia na postać w odwrotnej notacji polskiej i obliczanie jego wartości na podstawie tej postaci). 5. Wybrane algorytmy grafowe. 6. Model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania algorytmów sortujących za pomocą porównań. Sortowanie w czasie liniowym.
List of modules that must be completed before starting this module (if necessary): not applicable
Learning outcome of the module Codes of the learning outcomes of the programme to which the learning outcome of the module is related [level of competence: scale 1-5]
zna i zapisuje klasyczne algorytmy, w postaci iteracyjnej oraz rekurencyjnej, za pomocą listy kroków, schematu blokowego lub pseudokodu oraz implementuje je wybranym języku programowania; zna i omawia sytuacje, w których wykorzystuje się klasyczne algorytmy [AiSD_1]
K_W04 [2/5] K_U07 [3/5]
zna podstawowe własności algorytmów; prezentuje przykłady zastosowań algorytmiki w innych dziedzinach nauki [AiSD_2]
K_W04 [2/5]
zna i rozumie pojęcie złożoności obliczeniowej (czasowej i pamięciowej) oraz notacji asymptotycznej [AiSD_3]
K_W04 [3/5]
porównuje działanie różnych algorytmów dla wybranego problemu, analizuje algorytmy na podstawie ich gotowych implementacji [AiSD_4]
K_U07 [2/5]
zna podstawowe abstrakcyjne typy danych (stos, kolejka, kolejka priorytetowa, słownik) i ich realizacje komputerowe (listy, tablice, kopce binarne, drzewa, drzewa poszukiwań binarnych); potrafi konstruować proste algorytmy z wykorzystaniem poznanych struktur danych [AiSD_5]
K_W04 [3/5] K_U07 [2/5]
dostrzega związek pomiędzy czasem działaniem programu komputerowego a doborem różnych struktur danych i algorytmów w jego implementacji; do realizacji rozwiązania problemu dobiera odpowiednią metodę lub technikę algorytmiczną i struktury danych [AiSD_6]
K_U07 [2/5]
projektuje i tworzy rozbudowane programy w procesie rozwiązywania problemów, wykorzystuje w programach dobrane do algorytmów struktury danych, w tym struktury dynamiczne i korzysta z dostępnych bibliotek dla tych struktur [AiSD_7]
K_U07 [2/5]
Form of teaching Number of hours Methods of conducting classes Assessment of the learning outcomes Learning outcomes
lecture [AiSD_fpz1] 15 Formal lecture/ course-related lecture [a01] 
Description [a03] 
Screen presentation [c07] 
exam AiSD_1 AiSD_2 AiSD_3 AiSD_5
laboratory classes [AiSD_fpz_2] 15 Activating method – peer learning [b08] 
Activating method – flipped classroom [b09] 
Working with a computer [d01] 
Laboratory exercise / experiment [e01] 
Individual work with a text [f02] 
course work AiSD_1 AiSD_2 AiSD_3 AiSD_4 AiSD_5 AiSD_6 AiSD_7
discussion classes [AiSD_fpz_3] 15 Activating method – peer learning [b08] 
Activating method – flipped classroom [b09] 
Working with another teaching tool [d03] 
Individual work with a text [f02] 
course work AiSD_1 AiSD_2 AiSD_3 AiSD_4 AiSD_5 AiSD_6 AiSD_7
The student's work, apart from participation in classes, includes in particular:
Name Category Description
Search for materials and review activities necessary for class participation [a01] Preparation for classes
reviewing literature, documentation, tools and materials as well as the specifics of the syllabus and the range of activities indicated in it as required for full participation in classes
Literature reading / analysis of source materials [a02] Preparation for classes
reading the literature indicated in the syllabus; reviewing, organizing, analyzing and selecting source materials to be used in class
Developing practical skills [a03] Preparation for classes
activities involving the repetition, refinement and consolidation of practical skills, including those developed during previous classes or new skills necessary for the implementation of subsequent elements of the curriculum (as preparation for class participation)
Consulting materials complementary to those indicated in the syllabus [a04] Preparation for classes
agreeing on materials complementary to those indicated in the syllabus, supporting the implementation of tasks resulting from or necessary for class participation
Getting acquainted with the syllabus content [b01] Consulting the curriculum and the organization of classes
reading through the syllabus and getting acquainted with its content
Verification / adjustment / discussion of syllabus provisions [b02] Consulting the curriculum and the organization of classes
consulting the content of the syllabus, possibly in the presence of the year tutor or members of the class group, and, if necessary, reassessing the provisions concerning special conditions for class participation, e.g., space and time requirements, technical and other requirements, including conditions for participation in classes outside the walls of the university, classes organized in blocks, organized online, etc.
Consulting the schedule [b03] Consulting the curriculum and the organization of classes
getting acquainted with the class schedule, possibly in the presence of the year tutor, in order to optimize participation in classes, including those supplementary to the core subjects listed in the pursued study programme
Studying the literature used in and the materials produced in class [c02] Preparation for verification of learning outcomes
exploring the studied content, inquiring, considering, assimilating, interpreting it, or organizing knowledge obtained from the literature, documentation, instructions, scenarios, etc., used in class as well as from the notes or other materials/artifacts made in class
Implementation of an individual or group assignment necessary for course/phase/examination completion [c03] Preparation for verification of learning outcomes
a set of activities aimed at performing an assigned task, to be executed out of class, as an obligatory phase/element of the verification of the learning outcomes assigned to the course
Analysis of the corrective feedback provided by the academic teacher on the results of the verification of learning outcomes [d01] Consulting the results of the verification of learning outcomes
reading through the academic teacher’s comments, assessments and opinions on the implementation of the task aimed at checking the level of the achieved learning outcomes
Attachments
Module description (PDF)
Information concerning module syllabuses might be changed during studies.
Syllabuses (USOSweb)
Semester Module Language of instruction
(no information given)