Narzędzia programistyczne w Pythonie wspierające analizę danych 1000-1M20NPD
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.
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Efekty kształcenia
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.
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.
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.
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: