1 KARTA KURSU
Nazwa Matematyka obliczeniowa
Nazwa w j. ang. Computational Mathematics
Kod Punktacja ECTS* 2
Koordynator prof. dr hab. Marek Ptak
Zespół dydaktyczny dr Zbigniew Leśniak dr Magdalena Piszczek
Opis kursu (cele kształcenia)
Poznanie podstawowych zasad konstruowania i analizy algorytmów, ze szczególnym uwzględnieniem ich własności numerycznych, praktycznych aspektów ich implementacji oraz wpływu wyboru algorytmu na dokładność otrzymanych wyników. Zaznajomienie z wybranymi pakietami oprogramowania do obliczeń numerycznych i symbolicznych.
Warunki wstępne
Wiedza Podstawowa znajomość logiki, rachunku zbiorów, algebry i analizy matematycznej.
Umiejętności
Działania na zbiorach, rachunek macierzowy, operacje w grupie permutacji i pierścieniu wielomianów, obliczanie granic, pochodnych i całek.
Kursy
Wstęp do logiki i teorii mnogości, Algebra liniowa 1 i 2, Algebra abstrakcyjna, Analiza matematyczna 1, 2 i 3.
2 Efekty kształcenia
Wiedza
Efekt kształcenia dla kursu Odniesienie do efektów kierunkowych W01 Zdobycie i pogłębienie wiedzy o zasadach
modelowania matematycznego, metodach konstruowania, zapisywania i implementacji algorytmów oraz ich analizy w aspekcie poprawności semantycznej i złożoności obliczeniowej.
W02 Poznanie sposobu badania uwarunkowania problemu numerycznego i stabilności numerycznej a posteriori (poprawności numerycznej) algorytmu rozwiązującego problem numeryczny.
W03 Poznanie możliwości wybranych programów do obliczeń numerycznych i symbolicznych oraz środowisk programistycznych.
K_W03, K_W08
K_W08
K_W09, K_W08
Umiejętności
Efekt kształcenia dla kursu Odniesienie do efektów kierunkowych U01 Student potrafi rozpoznawać i specyfikować
problemy algorytmiczne oraz konstruować modele matematyczne pozwalające doprowadzić proces rozwiązywania problemu do rozwiązań problemów znanych lub prostych i efektywnych własnych rozwiązań algorytmicznych.
U02 Potrafi konstruować algorytmy i zapisywać je w pseudojęzyku, projektować schematy blokowe algorytmów i diagramy klas (również z wykorzystaniem programu MS Visio) oraz zapisywać algorytmy w językach programowania wysokiego poziomu: C#, C++
lub Java.
U03 Potrafi kompilować, uruchamiać i testować napisane programy w środowiskach programistycznych: Microsoft Visual Studio lub NetBeans IDE, a także w edytorze języka Visual Basic dla Aplikacji wchodzącym w skład arkusza kalkulacyjnego Excel.
U04 Potrafi badać poprawność semantyczną i wyznaczać złożoność obliczeniową prostszych algorytmów numerycznych oraz analizować je w aspekcie stabilności numerycznej a posteriori i wiarygodności otrzymywanych wyników uwzględniając wskaźnik uwarunkowania problemu.
U05 Potrafi korzystać z pakietów matematycznych Scilab i Maxima (oraz GAP) w zakresie zasadniczych funkcji tych pakietów.
K_U25, K_U29
K_U26
K_U27
K_U10, K_U16
K_U12, K_U15, K_U28
3
Kompetencje społeczne
Efekt kształcenia dla kursu Odniesienie do efektów kierunkowych K01 Student jest otwarty na złożoność problemów,
z którymi może się spotkać oraz stara się je rozwiązywać i obiektywnie oceniać otrzymane wyniki w oparciu o poznane metody i szukanie wskazówek w literaturze.
K02 Potrafi pracować w zespole w zakresie opracowywania projektów rozwiązywania problemów.
K_K01, K_K06
K_K03
Organizacja
Forma zajęć Wykład (W)
Ćwiczenia w grupach
A K L S P E
Liczba godzin 15 15 15
Opis metod prowadzenia zajęć
Wykład częściowo z wykorzystaniem środków multimedialnych i pokazem działania poszczególnych programów komputerowych.
Ćwiczenia z zadaniami rozwiązywanymi na tablicy oraz z użyciem komputera w pracowni komputerowej.
Konsultacje.
Formy sprawdzania efektów kształcenia
E – learning Gry dydaktyczne Ćwiczenia w szkole Zajęcia terenowe Praca laboratoryjna Projekt indywidualny Projekt grupowy Udział w dyskusji Referat Praca pisemna (esej) Egzamin ustny Egzamin pisemny Inne
W01
x x x
W02
x x x
W03
x x x x
U01
x x x
U02
x x x x x
U03
x x x x
U04
x x x
U05
x x x
K01
x x x x
K02
x x x
4
Kryteria oceny
Zaliczenie ćwiczeń audytoryjnych w oparciu o aktywne uczestnictwo w zajęciach oraz ocenę z pracy pisemnej.
Zaliczenie ćwiczeń laboratoryjnych na podstawie wykonania projektu:
algorytmu numerycznego oraz implementacji skonstruowanego algorytmu w wybranym języku programowania.
Uwagi
Treści merytoryczne (wykaz tematów)
Problem algorytmiczny i jego specyfikacja, model matematyczny problemu.
Algorytmy - własności, sposoby zapisu i klasyfikacja algorytmów.
Metody konstruowania algorytmów.
Przykłady algorytmów klasycznych.
Analiza algorytmów w aspekcie poprawności semantycznej i złożoności obliczeniowej, prostota a efektywność algorytmów.
Podstawowe abstrakcyjne struktury danych i ich implementacja.
Implementacja algorytmów w językach programowania wysokiego poziomu: C#, C++, Java.
Środowiska programistyczne: Microsoft Visual Studio, NetBeans IDE.
Arytmetyka zmiennopozycyjna, błędy bezwzględne i względne.
Arytmetyka przedziałowa.
Uwarunkowanie problemu numerycznego – wskaźnik uwarunkowania.
Własności algorytmów numerycznych – stabilność numeryczna a posteriori (poprawność numeryczna).
Realizacja algorytmów numerycznych w arkuszu kalkulacyjnym Excel, edytor języka Visual Basic dla Aplikacji.
Wykorzystanie programu do obliczeń numerycznych na przykładzie programu Scilab, porównanie pakietów Scilab i Matlab.
Wykorzystanie komputerowych systemów obliczeń symbolicznych (systemów algebry komputerowej CAS) na przykładzie programów Maxima i GAP.
5 Wykaz literatury podstawowej
1. A. Aho, J. Hopcroft, J. Ullman, Projektowanie i analiza algorytmów, Helion, Gliwice 2003.
2. A. Brozi, Scilab w przykładach, Nakom, Poznań 2007.
3. D. Kincaid, W. Cheney, Analiza numeryczna, WNT, Warszawa 2006.
4. E. Krok, Z. Stempnakowski, Podstawy algorytmów, Schematy blokowe, Difin, Warszawa 2008.
Wykaz literatury uzupełniającej
1. A. Aho, J. Hopcroft, J. Ullman, Algorytmy i struktury danych, Helion, Gliwice 2003.
2. L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, WNT, Warszawa 2006.
3. T. Cormen, Ch. Leiserson, R. Rivest, C. Stein, Wprowadzenie do algorytmów, WNT, Warszawa 2007.
4. S. Dasgupta, Ch. Papadimitriou, U. Vazirani, Algorytmy, PWN, Warszawa 2010.
5. D. Harel, Rzecz o istocie informatyki. Algorytmika, WNT, Warszawa 2001.
6. S. Harris, J. Ross, Algorytmy. Od Podstaw, Helion, Gliwice 2006.
7. A. Kamińska, B. Pińczyk, Ćwiczenia z Matlab - przykłady i zadania, Mikom, Warszawa 2002.
8. J. Matulewski, Visual C# 2008, Projektowanie aplikacji, ++, Helion, Gliwice 2008.
9. R. Moore, R.B. Kearfott, M.J. Cloud, Introduction to interval analysis, SIAM, Philadelphia 2009.
10. J.-M. Muller, N. Brisebarre, F. De Dinechin, C.-P. Jeannerod, L. Vincent, G. Melquiond, N. Revol, D. Stehlé, S. Torres, Handbook of Floating-Point Arithmetic, Birkhäuser, Boston 2010.
11. R. Neapolitan, K. Naimipour, Podstawy algorytmów z przykładami w C++, Helion, Gliwice 2004.
12. M. L. Overton, Numerical Computing with IEEE Floating Point Arithmetic, Cambridge University Press, Cambridge 2001.
13. W. Regel, Przykłady i ćwiczenia w programie Simulink, Mikom, Warszawa 2004.
14. A. Snarska, Ćwiczenia z makropoleceń w Excelu, Mikom, Warszawa 2000.
15. M. Sysło, Algorytmy, WSiP, Warszawa 2000.
16. M. Weisfeld, Myślenie obiektowe w programowaniu, Helion, Gliwice 2010.
17. E. Willett, S. Cummings, ABC Visual Basic dla Aplikacji w Office XP, Helion, Gliwice 2002.
18. N. Wirth, Algorytmy+struktury danych=programy, WNT, Warszawa 2002.
19. P. Wróblewski, Algorytmy, struktury danych i techniki programowania, Helion, Gliwice 2003.
6 Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta)
Ilość godzin w kontakcie z prowadzącymi
Wykład 15
Konwersatorium (ćwiczenia, laboratorium itd.) 30 Pozostałe godziny kontaktu studenta z prowadzącymi
wykład i ćwiczenia 10
Ilość godzin pracy studenta bez kontaktu z prowadzącymi
Lektura w ramach przygotowania do zajęć 10 Przygotowanie krótkiej pracy pisemnej lub referatu po
zapoznaniu się z niezbędną literaturą przedmiotu 10 Przygotowanie projektu lub prezentacji na podany temat
(praca w grupie) 15
Ogółem bilans czasu pracy 90
Ilość punktów ECTS w zależności od przyjętego przelicznika 3