Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Matematyka, studia II stopnia, rok 1 Sylabus modułu: Matematyczne podstawy informatyki (03-MO2S-12-MPIn) 1. Informacje ogólne koordynator modułu dr hab. Michał Baczyński (michal.baczynski@us.edu.pl) rok akademicki 2012/2013 semestr zimowy forma studiów stacjonarne sposób ustalania oceny końcowej modułu Maksymalnie za wszystkie sposoby efektów kształcenia student może otrzymać 50 punktów (10 za aktywność, 5 za sprawdziany praktyczne oraz 35 za kolokwium). Ocena końcowa zależy od sumy otrzymanych punktów w każdym ze sposobów efektów kształcenia modułu: <50% możliwych do zdobycia punktów otrzymuje ocenę 2, [50%,60%] ocena 3, (60%,70%] ocena 3,5, (70%,80%] ocena 4, (80%,90%] ocena 4,5, (90%,100%] ocena 5. 2. Opis dydaktycznych i pracy nazwa Wykład prowadzący treści dr hab. Michał Baczyński Wszyscy studenci 1 roku Przewiduje się realizację następujących treści programowych: Kod MPln_fns_1 1. 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. 2. Podstawy teorii informacji: pojęcie entropii, przykład uniwersalnego algorytmu kompresji danych - owanie Huffmana tzn. tworzenie optymalnego u prefiksowego (drzewa owego) oraz owanie Shannona-Fano. 3. Podstawy metod numerycznych. Algorytmy numeryczne i podstawy analizy błędów. 4. Przybliżone rozwiązywanie równań nieliniowych (metoda bisekcji, metoda Newtona, metoda siecznych). 5. Metody iteracyjne rozwiązywania układu równań liniowych (metoda najprostsza, metoda Jacobiego, metoda Gaussa-Seidla). 6. Matematyczne podstawy kryptografii i jej zastosowania. Omówienie pojęcia klucza jawnego i klucza tajnego. metody Jak w opisie modułu. (Pierwsze trzy tematy po 3 godziny a ostatnie trzy tematy po 2
Uniwersytet Śląski w Katowicach str. 2 prowadzenia dydaktycznych (kontaktowych) pracy własnej opis pracy własnej organizacja obowiązkowa uzupełniająca adres strony www godziny). Samodzielne studiowanie notatek sporządzonych na wykładzie oraz literatury wymienionej w sylabusie. 2 godzin co dwa tygodnie (łącznie godzin) 1. T.H. Cormen, Ch.E. Leiserson, R.L. Rivest i C. Stein, Wprowadzenie do algorytmów, PWN, Warszawa 2012 (wyd. I w PWN). 2. D. Harel, Rzecz o istocie informatyki, WNT, Warszawa 2009. 3. N. Wirth, Algorytmy + Struktury danych = Programy, WNT, Warszawa 2004 (wyd. 7). 4. D. Kincaid, W. Cheney, Analiza numeryczna, WNT, Warszawa 2006. 5. A. Bjorck, G. Dahlquist, Metody numeryczne, PWN, Warszawa 1987. 1. A. Drozdek, Wprowadzenie do kompresji danych, WNT, Warszawa 1999 http://www.math.us.edu.pl/michal/wyklady/2012_2013/01_zima/mpi_matematyka/ MPI-mat-2012-2013_zima.html nazwa Laboratorium prowadzący treści Kod MPln_fs_2 dr Andrzej Biela (biela@math.us.edu.pl) 4 grupy Przewiduje się realizację następujących treści programowych realizowanych w wymiarze 2 godzin (co dwa tygodnie) oraz ostatnich w wymiarze 1 godziny. 1. Zaprezentowanie na komputerze zaimplementowanych czterech różnych sortowań: sortowania szybkiego Quicksort, przez wstawiane, przez proste wybieranie, bąbelkowego oraz dokonania pomiaru czasu sortowań. Omówienie definicji asymptotycznej granicy górnej i dolnej dla danej funkcji oraz podanie asymptotycznego dokładnego oszacowania dla danej funkcji. Związki między tymi oszacowaniami. 2. Wyznaczanie złożoności obliczeniowej różnych algorytmów. Podział na algorytmy efektywne i nieefektywne i przykłady takich algorytmów. Zaimplementowanie algorytmu nieefektywnego Wieże Hanoi. Wyznaczenie złożoności obliczeniowej problemu Wież Hanoi i empiryczne potwierdzenie nieefektywności tego algorytmu dla dużych liczb. 3. Wykorzystanie twierdzenia o rekurencji uniwersalnej do wyznaczania złożoności obliczeniowej różnych algorytmów rekurencyjnych. Wskazanie optymalnego
Uniwersytet Śląski w Katowicach str. 3 algorytmu sortującego Merge-Sort sortowanie przez scalanie (metoda dziel i zwyciężaj) o złożoności obliczeniowej nlg(n) i uzasadnienie tego faktu. Zaimplementowanie tego algorytmu. 4. Tworzenie u Huffmana - optymalnego u prefiksowego. Stabilność algorytmów na przykładzie pierwiastków równania kwadratowego, zaokrąglanie do kilku cyfr i wyznaczanie błędu przybliżenia. Zaimplementowanie procedur obliczających pierwiastki i sprawdzenie ich różnicy z dokładną wartością. Rozwiązanie układu dwóch równań liniowych (wykonanie implementacji) i porównanie ich wyników z obliczeniami dokładnymi. Przykłady wskazujące, że różne zaokrąglenia liczb doprowadzają do różnych wyników obarczonych dużymi błędami. Przykłady ułatwiające zrozumienie pojęcia algorytmów stabilnych i niestabilnych, tłumienie błędów. 5. Metody iteracyjne wyznaczania pierwiastków równania nieliniowego. Wyznaczanie wartości funkcji ciągłych we wskazanym przedziale z ustalonym krokiem i wyznaczanie pierwiastka. 6. Przykład zastosowania iteracyjnej metody Newtona za pomocą prostej stycznej do krzywej w danym punkcie. Zależność liczby iteracji od wskazanej dokładności wyniku. Zastosowanie metody siecznych w przykładach. 7. Omówienie metody systemu kryptograficznego z kluczem jawnym RSA i kluczem tajnym, przepływu informacji i uniemożliwienie jej przechwycenia. 8. Sprawdzian pisemny. metody prowadzenia dydaktycznych (kontaktowych) pracy własnej opis pracy własnej organizacja obowiązkowa uzupełniająca Jak w opisie modułu 30 Samodzielne rozwiązywanie zadań z zestawów zadań podanych przez wykładowcę i prowadzącego zajęcia związanych z omawianą problematyką oraz samodzielna implementacja w języku C++ wskazanych przez prowadzącego zajęcia problemów, kształtowanie umiejętności jasnego formułowania rozumowań będących rozwiązaniami zadań bądź prowadzących do poprawnej implementacji ustalonego zagadnienia. 2 godziny 7 co dwa tygodnie w pracowni komputerowej oraz ostatnia 1 godzina. 1. T.H. Cormen, Ch.E. Leiserson, R.L. Rivest i C. Stein, Wprowadzenie do algorytmów, PWN, Warszawa 2012 (wyd. I w PWN). 2. D. Harel, Rzecz o istocie informatyki, WNT, Warszawa 2009. 3. N. Wirth, Algorytmy + Struktury danych = Programy, WNT, Warszawa 2004 (wyd. 7). 4. D. Kincaid, W. Cheney, Analiza numeryczna, WNT, Warszawa 2006. 5. A. Bjorck, G. Dahlquist, Metody numeryczne, PWN, Warszawa 1987.
Uniwersytet Śląski w Katowicach str. 4 adres strony www 3. Opis sposobów efektów kształcenia modułu Aktywność na zajęciach (-y) Andrzej Biela 4 grupy. MPln_w_1 Znajomość pojęć dotyczących treści wykładu oraz realizowanej partii materiału. Umiejętność przedstawienia poprawnego rozwiązania zadań wskazanych przez prowadzącego. kryteria oceny Za aktywność na zajęciach będzie można zdobyć maksymalnie 10 punktów co stanowi 20% pełnej puli punktów możliwych do uzyskania w czasie laboratoriów. Ocenie podlega stopień opanowania umiejętności oraz wiedzy sprecyzowanych w efektach kształcenia modułu dotyczących odpowiedniego zakresu materiału a także umiejętność implementacji wskazanych problemów. Kolokwium (-y) Weryfikacja odbywa się poprzez analizę liczby i poprawności udzielonych odpowiedzi oraz zaliczenie kolokwium. Punkty za aktywność będą przyznawane za poprawne rozwiązania zadań domowych lub zadań wskazanych przez prowadzącego zajęcia w czasie trwania laboratorium. Ilość punktów przyznanych za rozwiązania będzie uzależniona od stopnia trudności zadań. Michał Baczyński, Andrzej Biela MPln_w_2 4 grupy Znajomość pojęć dotyczących treści wykładu oraz zadania podobnego typu do zadań rozwiązywanych na laboratoriach. kryteria oceny Ocenie podlega stopień opanowania umiejętności oraz wiedzy zawartej w efektach kształcenia modułu. 35 punktów jest możliwych do uzyskania w sumie za kolokwium co stanowi 70% pełnej puli punktów możliwych do uzyskania. Jedno kolokwium pisemne. Weryfikacja odbywa się poprzez analizę liczby i poprawności rozwiązanych zadań.
Uniwersytet Śląski w Katowicach str. 5 Ilość punktów przyznanych za rozwiązania będzie uzależniona od stopnia trudności zadań. Sprawdziany praktyczne (-y) Andrzej Biela 4 grupy. kryteria oceny MPln_w_3 Umiejętność implementacji z wykorzystaniem komputera wskazanych algorytmów umożliwiająca rozwiązanie zadań problemowych z określonego zakresu a także weryfikacja umiejętności oceny np. złożoności obliczeniowej na podstawie analizy rozwiązań. Łącznie za implementacje wskazanych problemów można otrzymać 5 punktów co stanowi 10% pełnej puli punktów. Ocenie podlega stopień opanowania umiejętności implementacji oraz wiedzy zawartej w efektach kształcenia modułu związanej z implementacją. Weryfikacja odbywa się poprzez analizę liczby i poprawności zrealizowanych implementacji. Ostateczna ocena z przedmiotu została podana w tabeli - aktywność na zajęciach kryteria oceny.