Matematyczne podstawy informatyki
Transkrypt
Matematyczne podstawy informatyki
Uniwersytet Śląski w Katowicach Wydział Matematyki, Fizyki i Chemii 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 rok akademicki semestr forma studiów sposób ustalania oceny końcowej modułu dr hab. Michał Baczyński ([email protected]) 2012/2013 zimowy stacjonarne Maksymalnie za wszystkie sposoby weryfikacji 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 weryfikacji 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. informacje dodatkowe 2. Opis zajęć dydaktycznych i pracy studenta nazwa Wykład prowadzący grupa(-y) treści zajęć Kod MPln_fns_1 dr hab. Michał Baczyński Wszyscy studenci 1 roku Przewiduje się realizację następujących treści programowych: metody 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 - kodowanie Huffmana tzn. tworzenie optymalnego kodu prefiksowego (drzewa kodowego) oraz kodowanie 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. Jak w opisie modułu. (Pierwsze trzy tematy po 3 godziny a ostatnie trzy tematy po 2 Uniwersytet Śląski w Katowicach Wydział Matematyki, Fizyki i Chemii prowadzenia zajęć liczba godzin dydaktycznych (kontaktowych) liczba godzin pracy własnej studenta opis pracy własnej studenta organizacja zajęć literatura obowiązkowa literatura uzupełniająca adres strony www zajęć informacje dodatkowe nazwa Laboratorium prowadzący grupa(-y) treści zajęć str. 2 godziny). 15 15 Samodzielne studiowanie notatek sporządzonych na wykładzie oraz literatury wymienionej w sylabusie. 2 godzin co dwa tygodnie (łącznie 15 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 Kod MPln_fs_2 dr Andrzej Biela ([email protected]) 4 grupy Przewiduje się realizację następujących treści programowych realizowanych w wymiarze 2 godzin (co dwa tygodnie) oraz ostatnich zajęć 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 Wydział Matematyki, Fizyki i Chemii 4. 5. 6. 7. 8. metody prowadzenia zajęć liczba godzin dydaktycznych (kontaktowych) liczba godzin pracy własnej studenta opis pracy własnej studenta organizacja zajęć literatura obowiązkowa literatura uzupełniająca 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. Tworzenie kodu Huffmana - optymalnego kodu 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. Metody iteracyjne wyznaczania pierwiastków równania nieliniowego. Wyznaczanie wartości funkcji ciągłych we wskazanym przedziale z ustalonym krokiem i wyznaczanie pierwiastka. 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. Omówienie metody systemu kryptograficznego z kluczem jawnym RSA i kluczem tajnym, przepływu informacji i uniemożliwienie jej przechwycenia. Sprawdzian pisemny. Jak w opisie modułu 15 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 zajęć co dwa tygodnie w pracowni komputerowej oraz ostatnia 1 godzina zajęć. 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 Wydział Matematyki, Fizyki i Chemii str. 4 adres strony www zajęć informacje dodatkowe 3. Opis sposobów weryfikacji efektów kształcenia modułu Nazwa kod Aktywność na zajęciach MPln_w_1 kod(-y) zajęć osoba(-y) Andrzej Biela przeprowadzająca( -e) weryfikację grupa(-y) 4 grupy. wymagania Znajomość pojęć dotyczących treści wykładu oraz realizowanej partii materiału. merytoryczne 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. przebieg procesu Weryfikacja odbywa się poprzez analizę liczby i poprawności udzielonych weryfikacji 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ń. informacje dodatkowe Nazwa kod Kolokwium MPln_w_2 kod(-y) zajęć osoba(-y) Michał Baczyński, Andrzej Biela przeprowadzająca( -e) weryfikację grupa(-y) 4 grupy wymagania Znajomość pojęć dotyczących treści wykładu oraz zadania podobnego typu do merytoryczne 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. przebieg procesu Jedno kolokwium pisemne. weryfikacji Weryfikacja odbywa się poprzez analizę liczby i poprawności rozwiązanych zadań. Uniwersytet Śląski w Katowicach Wydział Matematyki, Fizyki i Chemii str. 5 Ilość punktów przyznanych za rozwiązania będzie uzależniona od stopnia trudności zadań. informacje dodatkowe Nazwa kod Sprawdziany praktyczne MPln_w_3 kod(-y) zajęć osoba(-y) Andrzej Biela przeprowadzająca( -e) weryfikację grupa(-y) 4 grupy. wymagania Umiejętność implementacji z wykorzystaniem komputera wskazanych merytoryczne 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ń. kryteria oceny Łą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ą. przebieg procesu Weryfikacja odbywa się poprzez analizę liczby i poprawności zrealizowanych weryfikacji implementacji. Ostateczna ocena z przedmiotu została podana w tabeli aktywność na zajęciach – kryteria oceny. informacje dodatkowe