1 KARTA KURSU
Nazwa Matematyka obliczeniowa
Nazwa w j. ang. Computational Mathematics
Kod Punktacja ECTS* 2
Koordynator Dr Zbigniew Leśniak Zespół dydaktyczny:
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.
Efekty kształcenia
Wiedza
Efekt kształcenia dla kursu Odniesienie do efektów kierunkowych
W01 zna zasady modelowania matematycznego, metody konstruowania, zapisywania i implementacji algorytmów oraz ich analizy w aspekcie poprawności semantycznej i złożoności obliczeniowej.
W02 zna sposoby badania uwarunkowania problemu numerycznego i stabilności numerycznej a posteriori (poprawności numerycznej) algorytmu rozwiązującego problem numeryczny
W03 zna możliwości wybranych programów do obliczeń numerycznych i symbolicznych oraz środowisk
programistycznych.
K_W03
K_W08
K_W09
Umiejętności Efekt kształcenia dla kursu Odniesienie do efektów kierunkowych
2
U01 potrafi badać poprawność semantyczną i wyznaczać złożoność obliczeniową prostszych algorytmów
numerycznych
U02 wykorzystuje twierdzenia i metody rachunku różniczkowego funkcji jednej i wielu zm. w problemach optymalizacyjnych, poszukiwaniu ekstremów oraz badanii przebiegu zmienności funkcji, precyzyjne i ścisłe
uzasadnia poprawność rozumowań
U03 potrafi wykorzystywać narzędzia i metody numeryczne do rozwiązywania wybranych zagadnień rachunku
różniczkowego i całkowego
U04 potrafi analizować algorytmy w aspekcie stabilności numerycznej a posteriori i wiarygodności otrzymywanych wyników uwzględniając wskaźnik uwarunkowania problemu.
U05 potrafi rozpoznawać i specyfikować problemy algorytmiczne
U06 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++
U07 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
U08 potrafi korzystać z pakietów matematycznych w zakresie zasadniczych funkcji tych pakietów
U09 potrafi 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
K_U10
K_U12
K_U15
K_U16
K_U25
K_U26
K_U27
K_U28
K_U29
Kompetencje
społeczne Efekt kształcenia dla kursu Odniesienie do efektów
kierunkowych
3
K01 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ć zespołowo; rozumie konieczność systematycznej pracy nad projektami, które mają długofalowy charakter
K03 potrafi samodzielnie wyszukiwać informacje w literaturze, także w językach obcych
K_K01
K_K03
K_K06
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 (kolokwium, kartkówka) Egzamin ustny Egzamin pisemny Inne
W01 x x
W02 x x
W03 x
U01 x x x x
U02 x x
U03 x x
U04 x x x
U05 x x x
U06 x x x
U07 x x
U08 x x
U09 x x x
4
K01 x x
K02 x x
K03 x x
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)
1. Problem algorytmiczny i jego specyfikacja, model matematyczny problemu.
2. Analiza algorytmów w aspekcie poprawności semantycznej i złożoności obliczeniowej, prostota a efektywność algorytmów.
3. Podstawowe abstrakcyjne struktury danych i ich implementacja.
4. Implementacja algorytmów w językach programowania wysokiego poziomu: C#, C++.
5. Środowiska programistyczne: Microsoft Visual Studio.
6. Arytmetyka zmiennopozycyjna, błędy bezwzględne i względne.
7. Arytmetyka przedziałowa.
8. Uwarunkowanie problemu numerycznego – wskaźnik uwarunkowania.
9. Własności algorytmów numerycznych – stabilność numeryczna a posteriori (poprawność numeryczna).
10. Realizacja algorytmów numerycznych w arkuszu kalkulacyjnym Excel, edytor języka Visual Basic dla Aplikacji.
11. Wykorzystanie programu do obliczeń numerycznych na przykładzie programu Scilab, porównanie pakietów Scilab i Matlab.
12. Wykorzystanie komputerowych systemów obliczeń symbolicznych (systemów algebry komputerowej CAS) na przykładzie programów Maxima i GAP.
Wykaz literatury podstawowej
1. A. Aho, J. Hopcroft, J. Ullman, Projektowanie i analiza algorytmów, Helion, Gliwice 2003.
2. D. Kincaid, W. Cheney, Analiza numeryczna, WNT, Warszawa 2006.
3.
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. T. Cormen, Ch. Leiserson, R. Rivest, C. Stein, Wprowadzenie do algorytmów, WNT, Warszawa 2007.
3. S. Dasgupta, Ch. Papadimitriou, U. Vazirani, Algorytmy, PWN, Warszawa 2010.
5
4. S. Harris, J. Ross, Algorytmy. Od Podstaw, Helion, Gliwice 2006.
5. J. Matulewski, Visual C# 2008, Projektowanie aplikacji, ++, Helion, Gliwice 2008.
6. R. Moore, R.B. Kearfott, M.J. Cloud, Introduction to interval analysis, SIAM, Philadelphia 2009.
7. 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.
8. R. Neapolitan, K. Naimipour, Podstawy algorytmów z przykładami w C++, Helion, Gliwice 2004.
9. M. L. Overton, Numerical Computing with IEEE Floating Point Arithmetic, Cambridge University Press, Cambridge 2001.
10. M. Sysło, Algorytmy, WSiP, Warszawa 2000.
11. M. Weisfeld, Myślenie obiektowe w programowaniu, Helion, Gliwice 2010.
12.
E. Willett, S. Cummings, ABC Visual Basic dla Aplikacji w Office XP, Helion, Gliwice 2002.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ącym 15
Ilość godzin pracy studenta bez kontaktu z prowadzącymi
Lektura w ramach przygotowania do zajęć, rozwiązywanie
zadań domowych 15
Przygotowanie krótkiej pracy pisemnej lub referatu po zapoznaniu się z niezbędną literaturą przedmiotu Przygotowanie projektu lub prezentacji na podany temat
(praca w grupie) 15
Przygotowanie do egzaminu
Ogółem bilans czasu pracy 90
Ilość punktów ECTS w zależności od przyjętego przelicznika