Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Matematyka, studia II stopnia, rok 1 Sylabus modułu: Matematyczne podstawy informatyki (kod modułu:03-mo2n-12-mpln) 1. Informacje ogólne koordynator modułu dr (biela@math.us.edu.pl) rok akademicki 2012/2013 semestr ZIMOWY forma studiów NIESTACJONARNE DRUGIEGO STOPNIA sposób ustalania oceny końcowej modułu 2. Opis dydaktycznych i pracy OCENE KOŃCOWA JEST WYNIKIEM LICZBY PUNKTÓW OTRZYMANYCH W SEMESTRZE Z POSZCZEGÓLNYCH SPOSOBÓW WERYFIKACJI EFEKTÓW KSZTAŁCENIA: <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. nazwa Wykład MPln_fns_1 prowadzący grupa(-y) Wszyscy studenci 1 roku tzn. z grup 1a i 1b. treści Przewiduje się realizację następujących treści programowych realizowanych w wymiarze 1 godziny tygodniowo łącznie 15 godzin. metody prowadzenia 15 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 godziny).
Uniwersytet Śląski w Katowicach str. 2 dydaktycznych (kontaktowych) pracy własnej opis pracy własnej organizacja obowiązkowa uzupełniająca adres strony www 40 Samodzielne studiowanie notatek sporządzonych na wykładzie oraz literatury wymienionej w sylabusie. Samodzielne rozwiązywanie zadań domowych oraz zadanych problemów. 1 godzina tygodniowo. 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. nazwa Laboratorium MPln_fns_2 prowadzący grupa(-y) 2 grupy 1a, 1b. treści Przewiduje się realizację następujących treści programowych realizowanych w wymiarze 2 godzin (co dwa tygodnie) oraz ostatnich w wymiarze 1 godziny. 7. 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. 8. 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. 9. Wykorzystanie twierdzenia o rekurencji uniwersalnej do wyznaczania złożoności obliczeniowej różnych algorytmów rekurencyjnych. Wskazanie optymalnego 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.
Uniwersytet Śląski w Katowicach str. 3 10. 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. 11. Metody iteracyjne wyznaczania pierwiastków równania nieliniowego. Wyznaczanie wartości funkcji ciągłych we wskazanym przedziale z ustalonym krokiem i wyznaczanie pierwiastka. 12. 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. 13. Omówienie metody systemu kryptograficznego z kluczem jawnym RSA i kluczem tajnym, przepływu informacji i uniemożliwienie jej przechwycenia. 14. Sprawdzian pisemny. metody prowadzenia dydaktycznych (kontaktowych) pracy własnej opis pracy własnej organizacja obowiązkowa uzupełniająca adres strony www 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 co dwa tygodnie w pracowni komputerowej oraz ostatnia 1 godzina. 6. T.H. Cormen, Ch.E. Leiserson, R.L. Rivest i C. Stein, Wprowadzenie do algorytmów, PWN, Warszawa 2012 (wyd. I w PWN). 7. D. Harel, Rzecz o istocie informatyki, WNT, Warszawa 2009. 8. N. Wirth, Algorytmy + Struktury danych = Programy, WNT, Warszawa 2004 (wyd. 7). 9. D. Kincaid, W. Cheney, Analiza numeryczna, WNT, Warszawa 2006. 10. A. Bjorck, G. Dahlquist, Metody numeryczne, PWN, Warszawa 1987.
Uniwersytet Śląski w Katowicach str. 4 3. Opis sposobów efektów kształcenia modułu Aktywność na zajęciach kod(-y) grupa(-y) Wszyscy studenci pierwszego roku tzn. z grup 1a i 1b. wymagania merytoryczne kod MPln_w_1 Znajomość pojęć twierdzeń i algorytmów dotyczących treści wykładu oraz realizowanej partii materiału umożliwiająca rozwiązanie przeważnie nietrudnych zadań problemowych. 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 laboratorium. Ocenie podlega stopień opanowania umiejętności oraz wiedzy sprecyzowanych w efektach kształcenia modułu dotyczących odpowiedniego zakresu materiału. Kolokwium kod(-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ń. kod MPln_w_2 grupa(-y) Wszyscy studenci pierwszego roku tzn. grup 1a i 1b. 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. Jedno kolokwium pisemne na przedostatnich zajęciach laboratoryjnych. Weryfikacja odbywa się poprzez analizę liczby i poprawności rozwiązanych zadań. Ilość punktów przyznanych za rozwiązania będzie uzależniona od stopnia trudności zadań. Ostateczna ocena z przedmiotu została podana w tabeli ogólne sposób ustalania oceny końcowej modułu. Sprawdziany praktyczne kod(-y) MPln_w_3
Uniwersytet Śląski w Katowicach str. 5 grupa(-y) Wszyscy studenci pierwszego roku tzn. z grup 1a i 1b. wymagania merytoryczne kryteria oceny 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 ogólne sposób ustalenia oceny końcowej modułu.