01.10.009r. 1/1 Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 009/010 Kierunek: INFORMATYKA AiSD/NSMW Specjalność: PRZEDMIOT OBOWIĄZKOWY DLA WSZYSTKICH STUDENTÓW Tryb studiów: NIESTACJONARNE DRUGIEGO STOPNIA, WIECZOROWE Rodzaj przedmiotu: Instytut/ Katedra: Semestr: Prowadzący przedmiot: Prowadzący zajęcia: Wykład: Widuch Ćwiczenia: Widuch Laboratorium: Projekt: Seminarium: TECHNICZNY INFORMATYKI I (IX) dr inŝ. Jacek Widuch Liczba godzin dr inŝ. JacekWykład: 30 Ćwiczenia: 15 dr inŝ. Jacek Laboratorium: Projekt: Seminarium: Liczba pkt ECTS: 4 Powiązanie ze standardami i cel kształcenia Przedmiot jest kontynuacją przedmiotu Algorytmy i Struktury Danych prowadzonego dla semestru 4 wieczorowych studiów inŝynierskich niestacjonarnych. Celem przedmiotu jest wprowadzenie słuchacza w zaawansowane zagadnienie algorytmów i struktur danych. Prezentowane są zagadnienia związane z kompresją danych, kryptografią i kryptoanalizą, metaheurystyki optymalizacyjne, wybrane algorytmy grafowe. Ponadto student zapoznawany jest z drzewiastymi strukturami danych, tablicami i drzewami sufiksów stosowanymi w przetwarzaniu tekstów oraz na przykładzie drzewa BST z trwałymi strukturami danych. Studenci nabywają umiejętności analizy złoŝoności, oceny algorytmów, a takŝe konstruowania algorytmów z uŝyciem zaawansowanych technik algorytmicznych.
01.10.009r. /1 AiSD/NSMW Przedmioty wprowadzające oraz wymagania wstępne Przedmiotami wprowadzającymi do niniejszego przedmiotu są: 1. Analiza Matematyczna i Algebra Liniowa. Algorytmy i Struktury Danych (część I dla wieczorowych studiów inŝynierskich niestacjonarnych) 3. Programowanie Komputerów Zakłada się, Ŝe słuchacz wykazuje znajomość materiału prezentowanego w ramach wymienionych przedmiotów.
01.10.009r. 3/1 Treść wykładów: AiSD/NSMW 1. Algorytmy kompresji danych: kodowanie Huffmana; kodowanie arytmetyczne; algorytmy z rodziny LZ: LZ77, LZ78, LZW, LZSS; algorytmy z rodziny BWT: transformata BWT i odwrotna, algorytmy drugiego etapu i dalsze modelowanie; algorytmy z rodziny PPM; algorytmy kompresji obrazów; algorytmy kompresji mowy i dźwięków; algorytmy kompresji wideo.. Struktury drzewiaste: drzewa BST; drzewa AVL; drzewa czerwono-czarne; listy pomijane; drzewa splay; kopce; drzepce; operacje wstawiania, usuwania i wyszukiwania. 3. Drzewa i tablice sufiksów: definicja i własności drzewa sufiksów; algorytm Ukkonena budowy drzewa sufiksów; wyszukiwanie w drzewie sufiksów; uogólnione drzewa sufiksów; definicja tablicy sufiksów; zastosowania tablic i drzew sufiksów. 4. Trwałe struktury danych: typy struktur danych ze względu na trwałość; metoda grubych węzłów; metoda kopiowania ścieŝki; metoda Sleatora i Tarjana. 5. Przeszukiwanie grafu: algorytmy przeszukiwania w głąb i wszerz. 6. Wyznaczanie najkrótszej ścieŝki w grafie waŝonym: algorytmy Floyda-Warshalla, Dijkstry, Bellmana-Forda, Johnsona. 7. Sortowanie topologiczne. 8. Maksymalny przepływ w sieci: sieć przepływowa; przepustowość; przepływ w sieci; przepływ netto; przepustowość residualna; sieć residualna; algorytm Forda- Fulkersona; algorytm Edmondsa-Karpa; przepływ blokujący; algorytm Dinica; algorytm MKM; sieć przepływowa z wieloma źródłami i wieloma ujściami. 9. Grafy dwudzielne: wykrywanie dwudzielności grafu; maksymalne skojarzenie. 10. Wykrywanie ujemnego cyklu w grafie waŝonym za pomocą algorytmów Floyda- Warshalla i Bellmana-Forda. 11. Metaheurystyki optymalizacyjne: przeszukiwanie lokalne w wersji stromej i zachłannej; symulowane wyŝarzanie; przeszukiwanie tabu; algorytmy genetyczne. 1. Kryptografia i kryptoanaliza: szyfr Cezara; szyfr Vigenere'a; algorytm DES; algorytm RSA; systemy klucza publicznego. Treść/Tematy: Ćw./L./P./Sem. Podczas ćwiczeń rozwiązywane są zadania ilustrujące i utrwalające materiał przedstawiony w trakcie wykładu.
01.10.009r. 4/1 AiSD/NSMW Metody dydaktyczne Wykład i ćwiczenia tradycyjne: kreda + tablica, uzupełnione wydrukami pseudokodów omawianych algorytmów. Wymienione materiały dostępne na stronie przedmiotu znajdującej się na Platformie Zdalnej Edukacji pod adresem: http://platforma.polsl.pl/rau/. Forma egzaminu/zaliczenia przedmiotu Zaliczenie ćwiczeń udzielane jest na podstawie kolokwium zaliczeniowego w formie pisemnej. Kolokwium składa się wyłącznie z części zadaniowej. Nie ma moŝliwości poprawy oceny z kolokwium. Zaliczenie przedmiotu udzielane jest na podstawie egzaminu w formie pisemnej i oceny z ćwiczeń. Egzamin składa się z dwóch części: teoretycznej i zadaniowej obejmującej materiał przedstawiony w trakcie wykładu i ćwiczeń. Minimalne wymagania do egzaminu /zaliczenia Warunkiem uzyskania zaliczenia przedmiotu jest otrzymanie z egzaminu oceny co najmniej 3.0. Na podstawie oceny uzyskanej z kolokwium zaliczeniowego student moŝe uzyskać zwolnienie z egzaminu. Zwolnienie jest udzielane według następujących reguł: Ocena z kolokwium Ocena z egzaminu [3.75; 4.5) 4.0 [4.5; 4.5] 4.5 (4.5; 5.0] 5.0 Ocena końcowa jest wystawiana na podstawie średniej ocen: oceny z egzaminu i oceny z kolokwium zaliczeniowego. Literatura 1. Z. Czech, S. Deorowicz, P. Fabian: Algorytmy i struktury danych. Wybrane zagadnienia, Skrypty uczelniane nr 400, Wydawnictwo Politechniki Śląskiej, Gliwice 007. E. M. Reingold, J. Nievergelt, N. Deo: Algorytmy kombinatoryczne, PWN, Warszawa 1985 3. T. H. Cormen, Ch. E. Leiserson, R. L. Rivest: Wprowadzenie do algorytmów, WNT, Warszawa 1997 4. J. Bentley: Perełki oprogramowania, WNT, Warszawa 199 5. D. Harel: Rzecz o istocie informatyki: algorytmika, WNT, Warszawa 199 6. R. Sedgewick, Algorytmy w C++, Wydawnictwo RM Sp. z O. O., Warszawa 1999
01.10.009r. 5/1 AiSD/NSMW 7. N. Wirth: Algorytmy + struktury danych = programy, WNT, Warszawa 000 8. L. Banachowski, K. Diks, W. Rytter: Algorytmy i struktury danych, WNT, Warszawa 1996 9. D. E. Knuth: Sztuka programowania, WNT, Warszawa 00 10. M. Sysło, N. Deo, J. Kowalik: Algorytmy optymalizacji dyskretnej z programami w języku Pascal, PWN, Warszawa 1995 11. W. Lipski: Kombinatoryka dla programistów, WNT, Warszawa 1989 1. L. Banachowski, A. Kreczmar, W. Rytter: Analiza algorytmów i struktur danych, WNT, Warszawa 1989 13. A. V. Aho, J. E. Hopcroft, J. D. Ullman: Projektowanie i analiza algorytmów, Wydawnictwo Helion, Gliwice 003 14. D. Jungnickel: Graphs, networks and algorithms, Springer, Berlin, Germany 1999. (data i podpis prowadzącego) Zatwierdzono: (data i podpis Dyrektora Instytutu/Kierownika Katedry)