Podstawy Pythona i narzędzi dla Data Science
Cel: Stawiasz środowisko, w którym da się pracować, i przestajesz walczyć z konfiguracją. Piszesz kod, który ktoś inny uruchomi u siebie bez zgadywania.
Zarządzanie Środowiskami (Conda)
- 01Różnice między IDE a środowiskiem programistycznym
- 02Zapobieganie konfliktom bibliotek poprzez izolację projektów
- 03Tworzenie, aktywacja i dezaktywacja środowisk w Conda
- 04Instalacja pakietów analitycznych (Conda vs Pip)
- 05Eksport i odtwarzanie konfiguracji z plików environment.yml
System Kontroli Wersji GIT & GitHub
- 01Architektura GIT: repozytorium zdalne a 3 stany lokalne
- 02Cykl życia zmian: od Working Directory, przez Staging Area, do Local Repo
- 03Praca na gałęziach (Branches) i mechanizm scalania (Merge)
- 04Rozwiązywanie konfliktów podczas mergowania kodu
- 05Praktyczny słownik podstawowych komend (add, commit, push, pull, checkout, reset)
Integracja z IDE i Dobre Praktyki
- 01Podłączanie środowisk Conda do VS Code oraz PyCharm
- 02Rola klauzuli if __name__ == '__main__' w skryptach modułowych
- 03Narzędzia debugowania kodu i analiza logów (Git log)
Sterowanie Przepływem Programu
- 01Instrukcje warunkowe: ewaluacja logiczna w konstrukcjach if, elif, else
- 02Pętla warunkowa while oraz ryzyko pętli nieskończonych
- 03Pętla iteracyjna for i sekwencje danych (listy, krotki, słowniki, zbiory)
- 04Kontrola iteracji: wykorzystanie słów kluczowych break i continue
Projektowanie Funkcji i Zaawansowana Architektura kodu
- 01Definiowanie funkcji (def) oraz mechanizm zwracania wartości (return)
- 02Parametryzacja: argumenty pozycyjne vs argumenty domyślne
- 03Elastyczne interfejsy funkcji: obsługa *args i **kwargs
- 04Paradygmat funkcyjny: funkcje rekurencyjne na przykładzie silni
- 05Analiza porównawcza: funkcje autonomiczne a metody obiektowe
Przetwarzanie Potokowe i Zarządzanie Pamięcią
- 01Koncepcja iteratorów w Pythonie
- 02Projektowanie generatorów z użyciem instrukcji yield
- 03Optymalizacja pamięciowa przy przetwarzaniu długich i nieskończonych ciągów
Architektura Modułowa
- 01Tworzenie modułów (.py) i zarządzanie przestrzenią nazw zmiennych globalnych i lokalnych
- 02Pojęcie biblioteki jako zbioru modułów
- 03Obsługa czasu i profilowanie wydajności kodu (moduły time i datetime)
Operacje Wejścia/Wyjścia (I/O)
- 01Tryby otwierania plików tekstowych i binarnych (r, w, a, r+, x, b)
- 02Metody odczytu danych: read, readline, readlines
- 03Metody zapisu i walidacja uprawnień do plików (write, writelines, writable, readable)
