Algorytmy i struktury danych Kierunek studiów: Matematyka
Kod programu: W4-S2MT19.2024

Nazwa modułu: Algorytmy i struktury danych
Kod modułu: W4-MT-S2-23-AiSD
Kod programu: W4-S2MT19.2024
Semestr: semestr zimowy 2024/2025
Język wykładowy: polski
Forma zaliczenia: egzamin
Punkty ECTS: 5
Cel i opis treści kształcenia:
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.
Lista modułów koniecznych do zaliczenia przed przystąpieniem do tego modułu (o ile to konieczne): nie dotyczy
Efekt modułowy Kody efektów kierunkowych do których odnosi się efekt modułowy [stopień realizacji: skala 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]
KN_NI_W04 [3/5] KN_NI_U05 [5/5]
zna podstawowe własności algorytmów; prezentuje przykłady zastosowań algorytmiki w innych dziedzinach nauki [AiSD_2]
KN_NI_W04 [3/5]
zna i rozumie pojęcie złożoności obliczeniowej (czasowej i pamięciowej) oraz notacji asymptotycznej [AiSD_3]
KN_NI_W04 [3/5]
porównuje działanie różnych algorytmów dla wybranego problemu, analizuje algorytmy na podstawie ich gotowych implementacji [AiSD_4]
KN_NI_U04 [5/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]
KN_NI_W04 [4/5] KN_NI_U04 [4/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]
KN_NI_W04 [4/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]
KN_NI_U04 [2/5] KN_NI_U05 [2/5]
Forma prowadzonych zajęć Liczba godzin Metody prowadzenia zajęć Sposób weryfikacji efektów uczenia się Efekty uczenia się
wykład [AiSD_fpz1] 15 Wykład informacyjny/kursowy [a01] 
Opis [a03] 
Prezentacja [c07] 
egzamin AiSD_1 AiSD_2 AiSD_3 AiSD_5
laboratorium [AiSD_fpz_2] 15 Metody aktywizujące: peer learning [b08] 
Metody aktywizujące: flipped classroom [b09] 
Praca z komputerem [d01] 
Ćwiczenie laboratoryjne/doświadczenie [e01] 
Indywidualna praca z tekstem [f02] 
zaliczenie AiSD_1 AiSD_2 AiSD_3 AiSD_4 AiSD_5 AiSD_6 AiSD_7
konwersatorium [AiSD_fpz_3] 15 Metody aktywizujące: peer learning [b08] 
Metody aktywizujące: flipped classroom [b09] 
Praca z innym narzędziem dydaktycznym [d03] 
Indywidualna praca z tekstem [f02] 
zaliczenie AiSD_1 AiSD_2 AiSD_3 AiSD_4 AiSD_5 AiSD_6 AiSD_7
Praca studenta poza udziałem w zajęciach obejmuje w szczególności:
Nazwa Kategoria Opis
Kwerenda materiałów i przegląd działań niezbędnych do uczestnictwa w zajęciach [a01] Przygotowanie do zajęć
przegląd literatury, dokumentacji, narzędzi i materiałów oraz specyfiki i zakresu działań wskazanych w sylabusie jako wymagane do pełnego uczestnictwa w zajęciach
Czytanie literatury / analiza materiałów źródłowych [a02] Przygotowanie do zajęć
czytanie literatury wskazanej w sylabusie; przegląd, porządkowanie, analiza i wybór materiałów źródłowych do wykorzystania w ramach zajęć
Ćwiczenie praktycznych umiejętności [a03] Przygotowanie do zajęć
czynności polegające na powtarzaniu, doskonaleniu i utrwalaniu praktycznych umiejętności, w tym ćwiczonych podczas odbytych wcześniej zajęć lub nowych, niezbędnych z punktu widzenia realizacji kolejnych elementów programu (jako przygotowanie się uczestnictwa w zajęciach)
Konsultowanie materiałów uzupełniających [względem wskazanych w sylabusie] [a04] Przygotowanie do zajęć
uzgadnianie dodatkowych do wskazanych w sylabusie materiałów, służących realizacji zadań wynikających z uczestnictwa w zajęciach lub na potrzeby przygotowania się do nich
Zapoznanie się z zapisami sylabusa [b01] Konsultowanie programu i organizacji zajęć
przeglądanie zawartości sylabusa i zapoznanie się z treścią jego zapisów
Weryfikacja/dostosowanie/dyskutowanie zapisów w sylabusie [b02] Konsultowanie programu i organizacji zajęć
konsultowanie treści sylabusa z potencjalną weryfikacją zapisów wymagających spełnienia specjalnych warunków uczestnictwa w zajęciach, np. wymagań technicznych, czasowych, przestrzennych, innych, w tym warunków uczestnictwa w zajęciach poza murami uczelni, zajęć organizowanych w blokach, organizowanych online, itp.; konsultowanie z potencjalnym udziałem opiekuna roku lub członkami grupy zajęciowej
Konsultowanie harmonogramu [b03] Konsultowanie programu i organizacji zajęć
zapoznanie z planem zajęć w celu optymalizacji uczestnictwa w zajęciach, w tym komplementarnych do zajęć kierunkowych; konsultowanie z potencjalnym udziałem tutora lub opiekuna roku
Studiowanie wykorzystanej literatury oraz wytworzonych w ramach zajęć materiałów [c02] Przygotowanie do weryfikacji efektów uczenia się
wgłębianie się, dociekanie, rozważanie, przyswajanie, interpretacja lub porządkowanie wiedzy pochodzącej z literatury, dokumentacji, instrukcji, scenariuszy, itd., wykorzystanych na zajęciach oraz z notatek lub innych materiałów/wytworów sporządzonych w ich trakcie
Realizacja indywidualnego lub grupowego zadania zaliczeniowego/egz./etapowego [c03] Przygotowanie do weryfikacji efektów uczenia się
zbiór czynności zmierzających do wykonania zadania zleconego do realizacji poza zajęciami, jako obligatoryjnego etapu/elementu weryfikacji przypisanych do tych zajęć efektów uczenia się
Analiza korekt/informacji zwrotnej ze strony NA dotyczących wyników wer. ef. ucz. [d01] Konsultowanie wyników weryfikacji efektów uczenia się
przegląd uwag, ocen i opinii sporządzonych przez NA odnoszących się do realizacji zadania sprawdzającego poziom osiągniętych efektów uczenia się
Załączniki
Opis modułu (PDF)
Informacje o sylabusach mogą ulec zmianie w trakcie trwania studiów.
Sylabusy (USOSweb)
Semestr Moduł Język wykładowy
(brak danych)