KARTA KURSU Nazwa Nazwa w j. ang. Algorytmy, struktury danych i techniki programowania Algorithms, Data Structures and Programming Techniques Kod Punktacja ECTS* 3 Koordynator dr Paweł Pasteczka Zespół dydaktyczny dr Paweł Pasteczka Opis kursu (cele kształcenia) Projektowanie i analiza algorytmów. Przegląd podstawowych algorytmów i struktur danych. Zajęcia będą prowadzone w języku polskim. Wymagania wstępne Wiedza Znajomość podstawowych pojęć z zakresu analizy matematycznej oraz algebry Umiejętności Umiejętność programowania w dowolnym imperatywnym języka programowania Kursy 1
Efekty kształcenia Wiedza W01 Ma wiedzę na temat podstawowych abstrakcyjnych struktur danych (listy, stosy, kolejki, słowniki, kolejki priorytetowe, zbiory, zbiory rozłączne, teksty, grafy) i ich wydajnych implementacji W02 Zna zasady działania podstawowych algorytmów; W03 Zna pojęcia złożoności obliczeniowej oraz pamięciowej algorytmu w tym złożoności wielomianowej; W04 zna podstawowe struktury danych używane w systemach informatycznych;, K_W03, K_W06 Umiejętności U01 potrafi przeprowadzać elementarną analizę złożoności obliczeniowej algorytmów U02 potrafi wybrać strukturę danych odpowiednią do rozwiązania typowego problemu U03 potrafi zaprojektować strukturę danych dobraną specyficznie do danego problemu U04 rozumie wpływ wybranego zastosowania na działanie systemu informatycznego U05 Potrafi samodzielnie pozyskiwać i wykorzystywać zgodnie z prawem informację na temat algorytmów i struktur danych i ich implementacji K_U19 K_U20 K_U19, K_U20 K_U20 K_U19, K_U20 2
Kompetencje społeczne K01 - ma świadomość poziomu swojej wiedzy i umiejętności; rozumie potrzebę ciągłego dokształcania się i rozwoju osobistego; dokonuje oceny własnych kompetencji i doskonali umiejętności w trakcie realizowania działań K02 potrafi zaprezentować zaprojektowane algorytmy i struktury danych w sposób zrozumiały przez innych. K03 rozumie ograniczenie pozyskiwania rozwiązań wynikające z ochrony własności intelektualnej K_K01, K_K02 K_K03 K_K04 Organizacja Forma zajęć Wykład (W) Ćwiczenia w grupach A K L S P E Liczba godzin 15 45 Opis metod prowadzenia zajęć Wykłady, zadania tablicowe, konsultacje. 3
E learning Gry dydaktyczne Ćwiczenia w szkole Zajęcia terenowe Praca laboratoryjna Projekt indywidualny Projekt grupowy Udział w dyskusji Referat pisemna(spraw dzian) Egzamin ustny Egzamin pisemny Inne Formy sprawdzania efektów kształcenia W01 X X X W02 X X X W03 X X X W04 X X X U01 X X X U02 X X X U03 X X X U04 X X X U05 X X X K01 X K02 X X K03 X Kryteria oceny Podstawą zaliczenia są dwa sprawdziany pisemne. Uwagi Treści merytoryczne (wykaz tematów) 1. Podstawowe algorytmy i struktury danych: stosy, kolejki, listy dwukierunkowe, kopiec, kolejka priorytetowa, sortowanie oraz dolne ograniczenie czasu działania algorytmu sortowania, rekurencja: algorytm quick sort oraz wyszukiwanie binarne, programowanie dynamiczne. 2. Struktury drzewiaste: drzewa BST, przechodzenie drzew, drzewa AVL, wzbogacenia drzew w tym lemat o wzbogacaniu drzewa AVL, B-drzewa. 3. Algorytmy Grafowe: Podstawowe definicje, reprezentacje grafów, BFS, DFS, minimalne drzewo rozpinające (algorytm Cruscala), 4
algorytm Dijkstry 4. Reprezentajce zbiorów: algorytm find union 5. Hipoteza P=NP czas wielomianowy, definicja, podstawowe problemy, redukcje Wykaz literatury podstawowej L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, Wydawnictwa Naukowo - Techniczne, 2006. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wprowadzenie do algorytmów, PWN, 2012. Wykaz literatury uzupełniającej N. Wirth, Algorytmy + struktury danych = programy, Wydawnictwa Naukowo - Techniczne, 2004. Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) Ilość godzin w kontakcie z prowadzącymi Ilość godzin pracy studenta bez kontaktu z prowadzącymi Wykład 15 Konwersatorium (ćwiczenia, laboratorium itd.) 45 Pozostałe godziny kontaktu studenta z prowadzącym 5 Lektura w ramach przygotowania do zajęć 5 Przygotowanie do prac pisemnych 10 Przygotowanie do egzaminu 10 Ogółem bilans czasu pracy 90 Ilość punktów ECTS w zależności od przyjętego przelicznika 3 5