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

Nazwa modułu: | Algorytmy i programowanie |
---|---|
Kod modułu: | 03-MO1S-19-AiP |
Kod programu: | W4-S1MT19.2019 |
Semestr: | semestr letni 2020/2021 |
Język wykładowy: | polski |
Forma zaliczenia: | egzamin |
Punkty ECTS: | 6 |
Opis: | 1. Wprowadzenie do języków programowania; podział języków programowania; sposób wykonywania (kompilacja a interpretacja).
2. Podstawy programowania w języku Python. Instrukcje wejścia/wyjścia, wyrażenia arytmetyczne i logiczne, instrukcje warunkowe, instrukcje iteracyjne oraz zmienne i tablice (listy).
3. Podprogramy w języku Python - funkcje i procedury.
4. Elementy algorytmiki: problem i jego specyfikacja; algorytm i różne sposoby jego zapisu.
5. 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.
6. Algorytmy iteracyjne i rekurencyjne; metoda dziel i zwyciężaj.
7. Algorytmy klasyczne w tym m.in.:
- obliczania wartości 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.
8. 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).
9. Implementacja poznanych algorytmów w języku Python. |
Wymagania wstępne: | (brak informacji) |
Literatura podstawowa: | (brak informacji) |
Efekt modułowy | Kody efektów kierunkowych do których odnosi się efekt modułowy [stopień realizacji: skala 1-5] |
---|---|
zna podstawy wybranego języka programowania wyższego rzędu; projektuje, programuje i testuje programy w procesie rozwiązywania problemów; w programach stosuje: instrukcje wejścia/wyjścia, wyrażenia arytmetyczne i logiczne, instrukcje warunkowe, instrukcje iteracyjne, funkcje z parametrami i bez parametrów oraz zmienne i tablice, rekurencje [AiP_1] |
K_W08 [5/5] |
zna różne metody i techniki programowania: podejście zachłanne, programowanie dynamiczne [AiP_10] |
K_W08 [3/5] |
posiada umiejętność oceny ograniczeń narzędzi komputerowych [AiP_11] |
K_W08 [5/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_2] |
K_U26 [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_3] |
K_W08 [5/5] |
zna i zapisuje klasyczne algorytmy 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 [AiP_4] |
K_W08 [5/5] |
zna podstawowe własności algorytmów; prezentuje przykłady zastosowań algorytmiki w innych dziedzinach nauki [AiP_5] |
K_W08 [3/5] |
rozwija znajomość algorytmów i wykonuje eksperymenty z algorytmami; rozumie potrzebę programowania z użyciem zaawansowanych algorytmów [AiP_6] |
K_U25 [3/5] |
zna i rozumie pojęcie złożoności obliczeniowej (czasowej i pamięciowej) oraz notacji asymptotycznej [AiP_7] |
K_W08 [4/5] |
zapisuje wybrane algorytmy klasyczne w postaci iteracyjnej oraz rekurencyjnej [AiP_8] |
K_U26 [5/5] |
porównuje działanie różnych algorytmów dla wybranego problemu, analizuje algorytmy na podstawie ich gotowych implementacji [AiP_9] |
K_U26 [4/5] |
Typ | Opis | Kody efektów modułowych do których odnosi się sposób weryfikacji |
---|---|---|
kolokwium na konwersatorium [AiP_w_1] | Kolokwium pisemne na ostatnich lub przedostatnich zajęciach; zadania podobnego typu do zadań rozwiązywanych w trakcie zajęć konwersatoryjnych |
AiP_10 |
kolokwia na laboratorium [AiP_w_2] | Dwa kolokwia w semestrze; zadania podobnego typu do zadań rozwiązywanych w trakcie zajęć laboratoryjnych |
AiP_1 |
zadania domowe [AiP_w_3] | ocena zadań domowych; możliwość odpytania z wybranych zagadnień/zadań zadanych na pracę w domu |
AiP_1 |
egzamin [AiP_w_4] | Warunkiem przystąpienia do egzaminu jest zaliczenie konwersatorium oraz laboratorium; weryfikacja znajomości pojęć i faktów w oparciu o analizę odpowiedzi na pytania egzaminacyjne |
AiP_1 |
Rodzaj prowadzonych zajęć | Praca własna studenta | Sposoby weryfikacji | |||
---|---|---|---|---|---|
Typ | Opis (z uwzględnieniem metod dydaktycznych) | Liczba godzin | Opis | Liczba godzin | |
wykład [AiP_fs_1] | wykład z wykorzystaniem pomocy audiowizualnych |
30 | przyswojenie wiadomości z wykładu przy pomocy udostępnionych materiałów wykładowych; lektura uzupełniająca podręczników; |
20 |
egzamin [AiP_w_4] |
laboratorium [AiP_fs_2] | praca w laboratorium z wykorzystaniem komputera w oparciu o otwarte środowiska programistyczne |
30 | praca własna z wykorzystaniem ogólnodostępnego oprogramowania, doskonalenie umiejętności zdobytych podczas zajęć |
50 |
kolokwia na laboratorium [AiP_w_2] |
konwersatorium [AiP_fs_3] | konwersatorium, w trakcie którego studenci rozwiązują, pod kierunkiem prowadzącego, zadania kształtujące umiejętności wymienione w zestawie efektów kształcenia modułu |
15 | przyswojenie wiedzy z wykładów, samodzielna praca ze zbiorami zadań, |
25 |
kolokwium na konwersatorium [AiP_w_1] |
Załączniki |
---|
Opis modułu (PDF) |
Sylabusy (USOSweb) | ||
---|---|---|
Semestr | Moduł | Język wykładowy |
(brak danych) |