Programowanie i metody numeryczne 1100-2F25
Ramowy program zajęć
- Analiza numeryczna – wprowadzenie:
- konstrukcja i własności algorytmów numerycznych,
- arytmetyka komputerowa,
- błędy w obliczeniach numerycznych,
- złożoność obliczeniowa,
- poprawność i stabilność algorytmów numerycznych, uwarunkowanie.
- Narzędzia komputerowe do obliczeń numerycznych – przegląd.
- Interpolacja (wielomianowa, trygonometryczna, funkcjami sklejanymi); szybka transformata Fouriera.
- Aproksymacja funkcji.
- Rozwiązywanie równań nieliniowych i ich układów.
- Rozwiązywanie układów równań liniowych.
- Rozwiązywanie zagadnień własnych.
- Różniczkowanie i całkowanie (kwadratury).
- Metody Monte Carlo.
- Całkowanie równań różniczkowych zwyczajnych.
- Całkowanie równań różniczkowych cząstkowych.
- Wprowadzenie do uczenia maszynowego.
W ramach ćwiczeń doskonalone będą również umiejętności programistyczne.
Opis sporządził: Bartłomiej Zglinicki, grudzień 2024 r.
Kierunek podstawowy MISMaP
fizyka
Tryb prowadzenia
w sali
Założenia (opisowo)
Znajomość matematyki, fizyki i programowania na poziomie pierwszych trzech semestrów studiów na kierunku Fizyka na Wydziale Fizyki Uniwersytetu Warszawskiego.
Koordynatorzy przedmiotu
Efekty kształcenia
Wiedza
Student:
- zna i rozumie podstawowe metody numeryczne i techniki informatyczne niezbędne przy rozwiązywaniu problemów fizycznych (K_W04),
- zna wybrane języki programowania oraz podstawowe oprogramowanie wykorzystywane w fizyce, w tym wybrane biblioteki numeryczne (K_W04).
Umiejętności
Student:
- potrafi stosować metody numeryczne, wykorzystywać biblioteki numeryczne, bazy danych i podstawowe oprogramowanie używane w fizyce (K_U04),
- potrafi uczyć się samodzielnie, znajdując niezbędne informacje w literaturze fachowej, bazach danych i innych źródłach oraz krytycznie oceniając informacje pochodzące ze źródeł niezweryfikowanych (K_U06),
- potrafi przygotować opracowanie dotyczące określonego problemu z dziedziny fizyki i przedstawić je w formie pisemnej, ustnej lub prezentacji multimedialnej (K_U07).
Kompetencje społeczne
Student:
- jest gotów do uczenia się przez całe życie (K_K01),
- jest gotów do współdziałania i pracy w grupie, w różnych rolach (K_K02),
- jest gotów do odpowiedniego określenia priorytetów służących realizacji określonego przez siebie lub innych zadania (K_K03),
- jest gotów do stosowania i propagowania zasad uczciwości intelektualnej w działaniach własnych i innych osób (K_K04),
- jest gotów do zapoznawania się z literaturą naukową i popularnonaukową w celu pogłębiania i poszerzania wiedzy, z uwzględnieniem zagrożeń przy pozyskiwaniu informacji z niezweryfikowanych źródeł, w tym z Internetu (K_K05).
Kryteria oceniania
Zaliczenie na podstawie dwóch projektów.
- Projekt kolokwialny (w połowie semestru):
zadaniem studenta będzie zaproponowanie problemu z dziedziny fizyki lub wybranie jednego z problemów z listy ogłoszonej przez wykładowcę, a następnie przygotowanie numerycznego rozwiązania tego problemu w postaci projektu programistycznego. - Projekt egzaminacyjny (w czasie sesji egzaminacyjnej):
zadaniem studenta będzie zaproponowanie złożonego problemu z dziedziny fizyki lub wybranie jednego z problemów z listy ogłoszonej przez wykładowcę, a następnie przygotowanie numerycznego rozwiązania tego problemu w postaci projektu programistycznego; po wstępnej akceptacji projektu odbędzie się jego prezentacja, w ramach której student omówi przed egzaminatorem swój projekt, zwracając szczególną uwagę na zastosowane algorytmy numeryczne, a następnie odpowie na ewentualne pytania egzaminatora; za zgodą wykładowcy projekt może być realizowany w grupie, wówczas w prezentacji bierze udział cała grupa.
Każdy z projektów może zostać wykonany za pomocą dowolnych narzędzi. Student może posłużyć się jednym z pakietów obliczeń naukowych (np. Wolfram Mathematica) lub napisać program wykorzystując wybrany język programowania (np. Python, C++) i odpowiednie biblioteki do obliczeń numerycznych.
Praktyki zawodowe
Nie dotyczy.
Literatura
Literatura podstawowa
Materiały udostępniane na wykładzie i ćwiczeniach.
Literatura uzupełniająca
- Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P., Numerical Recipes: The Art of Scientific Computing, Third Edition, Cambridge University Press 2007;
– książkę tę można bezpłatnie czytać online pod adresem https://numerical.recipes/book.html - Kincaid D., Cheney W., Analiza numeryczna, Wydawnictwa Naukowo–Techniczne, Warszawa 2006.
- Krzyżanowski P., Metody numeryczne, Wydawnictwo Naukowe PWN, Warszawa 2024.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: