KARTA KURSU

Transkrypt

KARTA KURSU
KARTA KURSU
Nazwa
Matematyka obliczeniowa
Nazwa w j. ang.
Computational Mathematics
Kod
Punktacja ECTS*
2
Zespół dydaktyczny
Koordynator
prof. dr hab. Marek Ptak
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.
1
Efekty kształcenia
Efekt kształcenia dla kursu
Wiedza
W01 Zdobycie i pogłębienie wiedzy o zasadach K_W03, K_W08
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 K_W08
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 K_W09, K_W08
obliczeń numerycznych i symbolicznych oraz środowisk
programistycznych.
Efekt kształcenia dla kursu
Umiejętności
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.
Odniesienie do efektów
kierunkowych
K_U25, K_U29
K_U26
K_U27
K_U10, K_U16
K_U12, K_U15, K_U28
2
Odniesienie do efektów
kierunkowych
Efekt kształcenia dla kursu
Kompetencje
społeczne
K01 Student jest otwarty na złożoność problemów, K_K01, K_K06
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 K_K03
opracowywania projektów rozwiązywania problemów.
Organizacja
Forma zajęć
Liczba godzin
Ćwiczenia w grupach
Wykład
(W)
A
15
K
L
15
S
P
E
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.
W01
W02
W03
U01
U02
U03
U04
U05
K01
K02
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Inne
Egzamin
pisemny
Egzamin ustny
Praca pisemna
(esej)
Referat
Udział w
dyskusji
Projekt
grupowy
Projekt
indywidualny
Praca
laboratoryjna
Zajęcia
terenowe
Ćwiczenia
w szkole
Gry
dydaktyczne
E – learning
Formy sprawdzania efektów kształcenia
3
Zaliczenie ćwiczeń audytoryjnych w oparciu o aktywne uczestnictwo
w zajęciach oraz ocenę z pracy pisemnej.
Kryteria oceny
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.
4
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.
5
Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta)
Ilość godzin w kontakcie z
prowadzącymi
Ilość godzin pracy studenta
bez kontaktu z
prowadzącymi
Wykład
15
Konwersatorium (ćwiczenia, laboratorium itd.)
30
Pozostałe godziny kontaktu studenta z prowadzącymi
wykład i ćwiczenia
10
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
6