Algorytmy i struktury danych
Kierunek studiów: Informatyka stosowana
Kod programu: 03-S1IS14.2014

Nazwa modułu: | Algorytmy i struktury danych |
---|---|
Kod modułu: | 03-IS-14-AiSD |
Kod programu: | 03-S1IS14.2014 |
Semestr: | semestr zimowy 2015/2016 |
Język wykładowy: | polski |
Forma zaliczenia: | egzamin |
Punkty ECTS: | 5 |
Opis: | Elementy algorytmiki: problem i jego specyfikacja; algorytm i różne sposoby jego zapisu.
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.
Algorytmy rekurencyjne, przykłady. Rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych.
Wyszukiwanie. Analiza wybranych metod: wyszukiwanie liniowe, wyszukiwanie binarne, wyszukiwanie interpolacyjne. Problem wyboru (selekcja).
Sortowanie. Analiza wybranych algorytmów: sortowanie przez wstawianie, przez selekcję, przez scalanie, przez kopcowanie, szybkie. Model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania algorytmów sortujących za pomocą porównań. Sortowanie w czasie liniowym.
Techniki projektowania algorytmów: dziel i zwyciężaj, programowanie dynamiczne, algorytmy zachłanne, przeszukiwanie z nawrotami. Ilustracja omawianych metod na konkretnych przykładach.
Abstrakcyjne struktury danych: stosy, kolejki, kolejki priorytetowe, słowniki. Metody implementacji powyższych struktur (listy, kopce binarne, drzewa, drzewa poszukiwań binarnych) i ich zastosowania.
|
Wymagania wstępne: | Moduł: Algorytmy i programowanie. |
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 pojęcie algorytmu i różne sposoby jego zapisu; zna podstawowe własności algorytmów; rozumie potrzebę dowodzenia poprawności semantycznej algorytmów [AISD_1] |
K_W01 [2/5] |
zna i rozumie pojęcie złożoności obliczeniowej (czasowej i pamięciowej) oraz notacji asymptotycznej [AISD_2] |
K_W02 [2/5] |
potrafi obliczać złożoność czasową prostych algorytmów, w tym algorytmów rekurencyjnych [AISD_3] |
K_U01 [5/5] |
zna i potrafi zapisywać klasyczne algorytmy w postaci schematu blokowego, listy kroków, w pseudokodzie
oraz w wybranym języku programowania; zna i omawia sytuacje, w których wykorzystuje się klasyczne algorytmy
[AISD_4] |
K_U03 [5/5] |
zna i potrafi stosować podstawowe techniki algorytmiczne (metoda ,,dziel i zwyciężaj'', programowanie dynamiczne, programowanie zachłanne, przeszukiwanie z nawrotami) [AISD_5] |
K_U03 [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_6] |
K_U03 [3/5] |
dostrzega związek pomiędzy czasem działaniem programu komputerowego a doborem różnych struktur danych i algorytmów w jego implementacji [AISD_7] |
K_W02 [4/5] |
potrafi w sposób zrozumiały, w mowie i piśmie przedstawić poznaną wiedzę [AISD_8] |
K_U01 [2/5] |
Typ | Opis | Kody efektów modułowych do których odnosi się sposób weryfikacji |
---|---|---|
kolokwium [AISD_w_1] | termin kolokwium podany do wiadomości studentów dwa tygodnie wcześniej; zadania podobnego typu do zadań rozwiązywanych na konwersatorium; |
AISD_2 |
aktywność na zajęciach [AISD_w_2] | weryfikacja znajomości treści wykładów na podstawie pytań zadawanych przez prowadzącego konwersatorium; rozwiązywanie zadań; udział w dyskusji; |
AISD_1 |
bieżąca ocena realizacji zajęć [AISD_w_3] | weryfikacja umiejętności na podstawie analizy rozwiązań zadań |
AISD_4 |
projekt [AISD_w_4] | realizacja projektu zaproponowanego przez prowadzącego laboratorium lub studenta za zgodą koordynatora modułu |
AISD_4 |
egzamin ustny lub pisemny [AISD_w_5] | 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 o charakterze teoretycznym; zakres materiału – wszystkie zagadnienia omawiane na module; |
AISD_1 |
Rodzaj prowadzonych zajęć | Praca własna studenta | Sposoby weryfikacji | |||
---|---|---|---|---|---|
Typ | Opis (z uwzględnieniem metod dydaktycznych) | Liczba godzin | Opis | Liczba godzin | |
wykład [AISD_fs_1] | wykład, z wykorzystaniem pomocy audiowizualnych, prezentujący pojęcia i fakty z zakresu treści programowych wymienionych w opisie modułu i ilustrujący je licznymi przykładami |
30 | samodzielne studiowanie wykładów i wskazanej w sylabusie literatury pomocniczej |
20 |
kolokwium [AISD_w_1] |
konwersatorium [AISD_fs_2] | 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; praca z podręcznikiem i zbiorami zadań; samodzielne rozwiązywanie zadań domowych ; rozwiązywanie zadań przy tablicy |
15 |
kolokwium [AISD_w_1] |
laboratorium [AISD_fs_3] | Laboratorium, w trakcie którego studenci implementują, pod kierunkiem prowadzącego, algorytmy omawiane w trakcie modułu |
30 | implementacja algorytmów, omawianych na wykładzie oraz konwersatorium, w wybranym języku programowania wysokiego poziomu. Samodzielne pisanie programów na komputerze. |
30 |
aktywność na zajęciach [AISD_w_2] |
Załączniki |
---|
Opis modułu (PDF) |
Sylabusy (USOSweb) | ||
---|---|---|
Semestr | Moduł | Język wykładowy |
(brak danych) |