Algorytmy i programowanie Kierunek studiów: Matematyka
Kod programu: W4-S1MT19.2024

Nazwa modułu: Algorytmy i programowanie
Kod modułu: W4-MT-S1-24-AiP
Kod programu: W4-S1MT19.2024
Semestr: semestr letni 2025/2026
Język wykładowy: polski
Forma zaliczenia: egzamin
Punkty ECTS: 5
Cel i opis treści kształcenia:
1. Elementy algorytmiki: problem i jego specyfikacja; algorytm i różne sposoby jego zapisu. 2. Elementy analizy algorytmów. Rozmiar danych, złożoność obliczeniowa (czasowa i pamięciowa). Typy złożoności: pesymistyczna, optymistyczna, średnia. Notacja asymptotyczna, rzędy wielkości funkcji. 3. Algorytmy iteracyjne i rekurencyjne; metoda dziel i zwyciężaj. 4. Algorytmy klasyczne w tym m.in.: - obliczania pochodnej wielomianu za pomocą schematu Hornera, - algorytmy Euklidesa w wersji iteracyjnej i rekurencyjnej wraz z zastosowaniami, - operujące na liczbach (badania pierwszości liczby, zamiany reprezentacji liczb między pozycyjnymi systemami liczbowymi, działań na ułamkach z wykorzystaniem NWD i NWW), - operujące na tekstach (porównywania tekstów, wyszukiwania wzorca w tekście metodą naiwną, szyfrowania tekstu metodą Cezara i przestawieniową), - wyszukiwania elementów w dowolnej tablicy (algorytm sekwencyjny) oraz w tablicy uporządkowanej (metoda wyszukiwania binarnego) - sortujące (sortowanie przez wstawianie, przez wybieranie, bąbelkowe, przez scalanie, szybkie), - znajdowania określonego elementu w zbiorze: maksymalnego, lidera oraz idola, - generowania liczb pierwszych metodą sita Eratostenesa, - jednoczesnego wyszukiwania elementu najmniejszego i największego (algorytm iteracyjny oraz rekurencyjny wykorzystujący metodę dziel i zwyciężaj), - szybkiego potęgowania liczb w wersji iteracyjnej i rekurencyjnej, - problem wież z Hanoi (rozwiązanie rekurencyjne). 5. Różne metody i techniki programowania: - podejście zachłanne (wydawania reszty najmniejszą liczbą nominałów, pakowanie plecaka), - programowanie dynamiczne (pakowanie plecaka, szukania najdłuższego wspólnego podciągu), - algorytmy z nawrotami (problem n-hetmanów). 6. Implementacja poznanych algorytmów w wybranym języku programowania wysokiego poziomu.
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]
testuje na komputerze swoje programy pod względem zgodności z przyjętymi założeniami i ewentualnie je poprawia, objaśnia przebieg działania programów [AiP_01]
KN_I_U04 [5/5]
formułuje problem w postaci specyfikacji (czyli opisuje dane i wyniki) i wyróżnia kroki w algorytmicznym rozwiązywaniu problemów; zna pojęcie algorytmu i stosuje różne sposoby przedstawiania algorytmów, w tym w języku naturalnym, w postaci schematów blokowych, listy kroków, w pseudokodzie oraz w wybranym języku programowania [AiP_02]
KN_I_W03 [5/5] KN_I_U03 [5/5] KN_I_U04 [5/5]
zna i zapisuje klasyczne algorytmy za pomocą listy kroków, schematu blokowego lub pseudokodu oraz implementuje je w wybranym języku programowania; zna i omawia sytuacje, w których wykorzystuje się klasyczne algorytmy [AiP_03]
KN_I_W03 [5/5] KN_I_U03 [5/5] KN_I_U04 [5/5]
zna podstawowe własności algorytmów; prezentuje przykłady zastosowań algorytmiki w innych dziedzinach nauki [AiP_04]
KN_I_W03 [3/5] KN_I_U03 [3/5]
rozwija znajomość algorytmów i wykonuje eksperymenty z algorytmami; rozumie potrzebę programowania z użyciem zaawansowanych algorytmów [AiP_05]
KN_I_W03 [3/5] KN_I_U03 [3/5] KN_I_K02 [3/5]
zna i rozumie pojęcie złożoności obliczeniowej (czasowej i pamięciowej) oraz notacji asymptotycznej [AiP_06]
KN_I_W03 [4/5]
potrafi przeprowadzić analizę złożoności obliczeniowej danego algorytmu [AiP_07]
KN_I_U03 [4/5]
zapisuje wybrane algorytmy klasyczne w postaci iteracyjnej lub/oraz rekurencyjnej [AiP_08]
KN_I_U03 [5/5] KN_I_U04 [5/5]
porównuje działanie różnych algorytmów dla wybranego problemu, analizuje algorytmy na podstawie ich gotowych implementacji [AiP_09]
KN_I_U03 [4/5]
zna różne metody i techniki programowania: podejście zachłanne, programowanie dynamiczne, programowanie z nawrotami [AiP_10]
KN_I_W03 [3/5]
Forma prowadzonych zajęć Liczba godzin Metody prowadzenia zajęć Sposób weryfikacji efektów uczenia się Efekty uczenia się
wykład [AiP_fs_01] 25 Wykład informacyjny/kursowy [a01] 
Prezentacja [c07] 
egzamin AiP_03 AiP_06 AiP_08 AiP_09 AiP_10
konwersatorium [AiP_fs_02] 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 AiP_01 AiP_02 AiP_03 AiP_04 AiP_05 AiP_06 AiP_07 AiP_08 AiP_09 AiP_10
laboratorium [AiP_fs_03] 20 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 AiP_01 AiP_02 AiP_03 AiP_04 AiP_05 AiP_06 AiP_07 AiP_08 AiP_09 AiP_10
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)