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

Narzędzia programistyczne w Pythonie wspierające analizę danych

Informacje ogólne

Kod przedmiotu: 1000-1M20NPD
Kod Erasmus / ISCED: 11.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Narzędzia programistyczne w Pythonie wspierające analizę danych
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty monograficzne dla matematyki 2 stopnia
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.

zobacz reguły punktacji
Język prowadzenia: angielski
Rodzaj przedmiotu:

monograficzne

Skrócony opis:

Wprowadzenie w techniki i narzędzia programistyczne w Pythonie ze szczególnym uwzględnieniem zastosowania w projektach z zakresu analizy danych.

Pełny opis:

1. Wstęp do języka Python, standardy pisania kodu.

2. Praca z wierszem poleceń w systemie Linux - często potrzebnym np. do zdalnej pracy na komputerach.

3. Git - repozytoria kodu, wersjonowanie i synchronizowanie kodu.

4. Moduły - lepsza organizacja kodu, większa czytelność i łatwość utrzymania kodu.

5. Biblioteka argparse i inne możliwości konfigurowania stanu programu, obsługa plików konfiguracyjnych - jak móc używać programu dla różnych danych (i dostać czytelne komunikaty o nieprawidłowych parametrach) bez potrzeby modyfikacji programu.

6. Jupyter - interaktywna konsola w przeglądarce, umożliwia wygodną pracę zdalną, łatwy podgląd i wygodną prezentację wyników.

7. Testowanie oprogramowania - dobre praktyki i nauka narzędzi.

8. Zastosowanie debugera przy użyciu testów - czyli jak przyspieszyć znajdowanie i zrozumienie błędów w programie.

9. Paczka pythonowa - czyli jak przygotować kod do dzielenie między projektami.

10. Biblioteka numpy - obsługa macierzy wielowymiarowych.

11. Biblioteka pandas - obsługa danych tabelowych.

12. Profiler - czyli jak znaleźć to miejsce, które naprawdę spowalnia wykonanie programu.

13. Ciągła integracja (ang. continuous integration) i tox - czyli jak sprawdzić, że projekt jest dobrze zdefiniowany i opisany, automatyczne sprawdzanie, czy nie zostały wprowadzone błędy do projektu (np. przy dodawaniu nowych funkcji do programu).

14. Cython, numba.jit - czyli co zrobić, by przyspieszyć wykonywanie programu lub użyć biblioteki napisanej w języku C, która nie ma interfejsu dla Pythona.

Literatura:

- Python for Data Analysis, Wes McKinney, 2. wyd., 2017,

- Python Crash Course, a hands-on, project-based introduction to programming, 2. wyd., Eric Matthes, 2019.

- Programming Python, Mark Lutz, 4. wyd., 2011.

- Pro Git , Scott Chacon i Ben Straub, 2. wyd., 2014.

- https://docs.python.org/.

- dokumentacja internetowa do poszczególnych narzędzi omawianych w kursie.

Efekty uczenia się:

Po ukończeniu zajęć student zna:

- język Python w stopniu wystarcającym do tworzenia własnych aplikacji średniej wielkości,

- powszecnie używane narzędzia wykorzystywane przy analizie danych,

- powszecnie używane narzędzia wykorzystywane w pracy zespołowej.

Metody i kryteria oceniania:

Oceny cząstkowe z małych zadań programistycznuch zadawanych w trakcie semsetru (30%).

Egzamin w formie omówienia końcowego zadania zaliczeniowego (70%)

Warunki dopuszczenia do terminu zerowego: zdobycie co najmniej 90% punktów z zadań cząstkowych. Sam egzamin przebiega i jest oceniany tak jak normalny egzamin.

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ęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Janusz Jabłonowski
Prowadzący grup: Grzegorz Bokota, Jacek Chrząszcz, Janusz Jabłonowski, Jarosław Paszek
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin

Zajęcia w cyklu "Semestr letni 2024/25" (jeszcze nie rozpoczęty)

Okres: 2025-02-17 - 2025-06-08
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Janusz Jabłonowski
Prowadzący grup: Grzegorz Bokota, Jacek Chrząszcz, Janusz Jabłonowski, Jarosław Paszek
Lista studentów: (nie masz dostępu)
Zaliczenie: 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 USOSweb 7.0.3.0 (2024-03-22)