Uniwersytet Warszawski, Wydział Fizyki - Centralny System Uwierzytelniania
Strona główna

Programowanie i metody numeryczne

Informacje ogólne

Kod przedmiotu: 1100-2F25
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie i metody numeryczne
Jednostka: Wydział Fizyki
Grupy: Fizyka, I stopień; przedmioty obowiązkowe na II roku
Fizyka, ścieżka standardowa; przedmioty dla II roku
Strona przedmiotu: https://www.fuw.edu.pl/~bzglinicki/teaching/pmn/
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Kierunek podstawowy MISMaP:

fizyka

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.

Tryb prowadzenia:

w sali

Skrócony opis:

Celem przedmiotu jest wprowadzenie w tematykę obliczeń naukowych oraz przedstawienie metod numerycznego rozwiązywania zagadnień matematycznych mających kluczowe znaczenie dla fizyki. Na zajęciach omówione zostaną podstawowe algorytmy numeryczne, zarówno od strony matematycznej, jak i w kontekście ich implementacji. Analizie każdego z algorytmów będą towarzyszyły przykłady jego zastosowania oraz dyskusja jego ograniczeń.

Pełny opis:

Ramowy program zajęć

  1. 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.
  2. Narzędzia komputerowe do obliczeń numerycznych – przegląd.
  3. Interpolacja (wielomianowa, trygonometryczna, funkcjami sklejanymi); szybka transformata Fouriera.
  4. Aproksymacja funkcji.
  5. Rozwiązywanie równań nieliniowych i ich układów.
  6. Rozwiązywanie układów równań liniowych.
  7. Rozwiązywanie zagadnień własnych.
  8. Różniczkowanie i całkowanie (kwadratury).
  9. Metody Monte Carlo.
  10. Całkowanie równań różniczkowych zwyczajnych.
  11. Całkowanie równań różniczkowych cząstkowych.
  12. 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.

Literatura:

Literatura podstawowa

Materiały udostępniane na wykładzie i ćwiczeniach.

Literatura uzupełniająca

  1. 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
  2. Kincaid D., Cheney W., Analiza numeryczna, Wydawnictwa Naukowo–Techniczne, Warszawa 2006.
  3. Krzyżanowski P., Metody numeryczne, Wydawnictwo Naukowe PWN, Warszawa 2024.
Efekty uczenia się:

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).
Metody i kryteria oceniania:

Zaliczenie na podstawie dwóch projektów.

  1. 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.
  2. 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.

Zajęcia w cyklu "Semestr letni 2023/24" (zakończony)

Okres: 2024-02-19 - 2024-06-16
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 45 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Bartłomiej Zglinicki
Prowadzący grup: Tomasz Fąs, Michał Marciniak, Jędrzej Wardyn, Bartłomiej Zglinicki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2024/25" (w trakcie)

Okres: 2025-02-17 - 2025-06-08
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 45 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Bartłomiej Zglinicki
Prowadzący grup: Piotr Dziekan, Paweł Jędrejko, Bartłomiej Zglinicki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Fizyki.
ul. Pasteura 5, 02-093 Warszawa tel: +48 22 5532 000 https://www.fuw.edu.pl/ kontakt deklaracja dostępności mapa serwisu USOSweb 7.1.1.0-6 (2025-03-04)