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] |
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] |
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 |
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 |
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 |
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) |
Syllabuses (USOSweb) | ||
---|---|---|
Semester | Module | Language of instruction |
(no information given) |