Course Outline
Moduł I: Wprowadzenie do języka Python i podstawy składni
1. Czym jest Python i przykłady jego zastosowań
2. Narzędzia programistyczne: PyCharm, JupyterLab, terminal
3. Wirtualne środowiska – izolacja zależności
4. Zmienne i przypisywanie wartości
5. Podstawowe typy danych – liczby, teksty, wartości logiczne
6. Komentarze i czytelność kodu
7. Najpopularniejsze funkcje wbudowane
8. Operacje matematyczne
9. Podstawowe operacje na stringach – metody, formatowanie
---------------------------------------------------------------------
Moduł II: Struktury danych – przechowywanie i organizacja informacji
1. Listy – tworzenie i modyfikowanie
2. Tuple – struktury niezmienne
3. Słowniki – dane w formacie klucz–wartość
5. Operacje na kolekcjach
6. Indeksowanie struktur danych
7. Zagnieżdżone struktury
8. Mutowalność
9. Kopiowanie obiektów – shallow copy, deep copy
---------------------------------------------------------------------
Moduł III: Instrukcje warunkowe i przepływ sterowania
1. Wartości i operatory logiczne
2. Instrukcja `if` – podstawy
3. Konstrukcja `if-else`
4. Złożone warunki w `if-elif-else`
---------------------------------------------------------------------
Moduł IV: Pętle i iteracje
1. Funkcja `range` – generowanie sekwencji
2. Pętle `for` i `while`
4. `break` i `continue` – sterowanie przebiegiem pętli
5. Zagnieżdżone pętle
6. List comprehension
---------------------------------------------------------------------
Moduł V: Funkcje – organizacja kodu i ponowne wykorzystanie
1. Definiowanie funkcji – składnia i konwencje
2. Zakres zmiennych – lokalne vs globalne
3. Zwracanie wartości – `return`
4. Parametry funkcji
5. Argumenty pozycyjne i nazwane
---------------------------------------------------------------------
Moduł VI: Obsługa błędów i jakość kodu
1. PEP 8 – zasady pisania czytelnego kodu
2. Traceback – jak czytać komunikaty błędów
3. Debugger – kontrola wykonania krok po kroku
4. Obsługa wyjątków – `try`, `except`
---------------------------------------------------------------------
Moduł VII: Moduły i organizacja projektu
1. Przegląd biblioteki standardowej
2. Importowanie modułów
3. Instalowanie pakietów zewnętrznych
4. Struktura projektu – podział kodu na pliki i katalogi
---------------------------------------------------------------------
Moduł VIII: Podstawy programowania obiektowego
1. Czym jest klasa i obiekt
2. Metody i atrybuty
3. Dziedziczenie – rozszerzanie funkcjonalności
4. Hermetyzacja – metody/atrybuty publiczne, prywatne i chronione
5. `staticmethod`, `property`
6. Reprezentacja obiektów – `__str__`, `__repr__`
---------------------------------------------------------------------
Moduł IX: Praca z plikami
1. Formaty plików – tekstowy, JSON
3. Odczyt i zapis danych
4. Korzystanie z konstrukcji `with` (*context manager*)