Kierunek: Informatyka | Tryb: Niestacjonarne |
Nazwa modulu: Algorytmy i struktury danych |
Warunki wstępne:Podstawy Programowania I |
Cele kształcenia:Przedstawić najważniejsze pojęcia z zakresu projektowania oraz analizy algorytmów; Pokazać metody reprezentacji algorytmów, oszacowanie miary czasowej złożoności algorytmicznej ; Przedstawić podstawowe algorytmy z zakresu sortowania, wyszukiwania, struktur danych; |
Efekty ksztalcenia: | Kod efektu kierunkowego: K1I_W05;K1I_U11;K1I_K05; |
EK1: Ma wiedzę w zakresie metod konstrukcji oraz analizy złożoności algorytmów oraz struktur danych stosowanych w informatyce |
EK2: Posiada umiejętności implementacji algorytmów w wybranym języku programowania |
EK3: Umie zaprojektować algorytm rozwiązania problemu informatycznego oraz oszacować jego złożoność obliczeniową |
EK4: Kompetencje w zakresie podstaw algorytmizacji, potrafi myśleć i działać w sposób algorytmiczny |
Forma i tresci ksztalcenia |
Wykład - Najważniejsze pojęcia oraz historia algorytmiki. Metody prezentacji algorytmów;Podstawowe struktury programistyczne. Wybrane algorytmy arytmetyczne;Złożoność obliczeniowa algorytmów. Obliczenie złożoności czasowej T(n). Rząd funkcji O().;Algorytmy rekurencyjne. Proces derekursywacji. Przykłady rozwiązań rekurencyjnych;Algorytmy sortowania tablic, quicksort, heapsort, mergesort,countingsort;Listy, kolejki, stosy: metody tworzenia, podstawowe operacje, zastosowania;Algorytmy wyszukiwania wzorców w tekście: Brute-Force, Boyera-Moore'a, KMP;Algorytmy geometrii obliczeniowej, współliniowość, budowanie otoczki wypukłej;Wybrane algorytmy grafowe. Maszyna Turinga.; |
Ćwiczenia laboratoryjne - Budowanie algorytmów z wykładu z użyciem schematów blokowych;Implementacja wybranych algorytmów podanych na wykładzie w języku programowania;Implementacja oraz porównanie złożoności czasowej algorytmów sortowania;Budowa algorytmów oraz programów rekurencyjnych;Implementacja dynamicznych struktur danych;Wykonanie zadań z zakresu geometrii obliczeniowej oraz teorii grafów; |
Metody ksztalcenia: Wykład - prezentacja multimedialna; Laboratorium - praca przy komputerze w środowisku programowania; |
Metody sprawdzania osiągnięcia efektów kształcenia
- ocena podsumowująca: Wykład - test kompetencyjny; Laboratorium - średnia ocen za poszczególne efekty; |
Liczba punktow ECTS: 5 |
Nakład pracy studenta (godz.) : 150 |
Forma zajęc | Liczba godzin według planu studiów |
Wykład | 18 |
Ćwiczenia laboratoryjne | 12 |
Autor programu dla modułu kształcenia: dr Aleksander Klosow |
Język modulu: polski |