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] |
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] |
zna podstawowe własności algorytmów; prezentuje przykłady zastosowań algorytmiki w innych dziedzinach nauki [AiP_04] |
KN_I_W03 [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] |
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] |
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 |
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 |
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 |
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) |
Sylabusy (USOSweb) | ||
---|---|---|
Semestr | Moduł | Język wykładowy |
(brak danych) |