Kurs Python Developer K-PYTHON

Analiza danych/ML/AI lub klasycznie backend/web

  • programowanie
  • kolekcje
  • analiza danych
  • Pandas
  • ML
  • AI
  • Django
Edycja dzienna (bloki 3- lub 4-dniowe, średnio co 2 tyg.) Edycja weekendowa (zaoczna) (sob-niedz., średnio co 2 tygodnie)

Warszawa

19 grudnia 2024 zostało 7 miejsc 21 grudnia 2024 zostało 9 miejsc

Zdalnie

19 grudnia 2024 zostało 9 miejsc 21 grudnia 2024 zostało 9 miejsc

Online (English)

22 lutego 2025 (Sat-Sun, on average every 2 weeks)

Tryb zdalny: online na żywo z trenerem i grupą (→ więcej o kursach zdalnych). Można: zrezygnować do 15 dni przed startem; w każdej chwili przejść na tryb zdalny; w razie potrzeby skorzystać z nagrań. W cenie:
- stanowisko komputerowe i poczęstunek (dla zajęć stacjonarnych)
- dla chętnych dodatkowe, bezpłatne warsztaty HR
- dostęp do nagrań z zajęć w razie potrzeby
Kursy dostępne również na zamówienie, w terminie i lokalizacji do uzgodnienia, dla grup od 7 osób.

4,7/5 (1454)
Stars
Pakiet Standard:

dla tych, którzy chcą wejść do świata IT, porządnie nauczyć się programowania i wykorzystać to w małych projektach

4790 PLN

lub 958 PLN miesięcznie (5 rat)

80 godzin zajęć na żywo
+40h pracy samodzielnej

Pakiet XL:

dla tych, którzy chcą osiągnąć poziom juniora - dwie specjalizacje do wyboru: web lub data science

8990 PLN

lub 1798 PLN miesięcznie (5 rat)

160 + 80 godzin

icon percent first minute (30+ dni do startu) - 3%

Wersja podstawowa


1. Wprowadzenie do programowania

  • Podstawy działania komputera
  • Systemy operacyjne, programy, frameworki i biblioteki
  • Przegląd języków programowania

2. Wstęp do języka Python

  • Geneza i historia Pythona
  • Zastosowania i możliwości
  • Python 2.x vs. Python 3.x

3. Instalacja i konfiguracja środowiska

  • Interpreter języka Python
  • Wirtualne środowisko (venv)
  • Zintegrowane środowisko programistyczne (IDE) (edytor `PyCharm`)

4. Podstawy składni języka Python

  • Interakcja z użytkownikiem
  • Zmienne i podstawowe typy danych
  • Struktury danych
  • Instrukcja warunkowa
  • Pętle
  • Wyrażenia “comprehension”

5. Programowanie proceduralne

  • Podstawy definiowania funkcji
  • Przekazywania argumentów
  • Dokumentacja i adnotacje

6. Programowanie obiektowe

  • Podstawy definiowania klas
  • Metody specjalne
  • Metody statyczne i klasowe
  • Dziedziczenie

7. Obsługa wyjątków

  • Rzucanie i przechwytywanie wyjątków
  • Definiowanie własnych wyjątków

8. Organizacja kodu

  • Moduły i pakiety
  • Struktura projektu

9. Biblioteka standardowa języka Python

  • wyrażenia regularne (moduł `re`)
  • obsługa parametrów linii poleceń (moduł `argparse`)
  • obsługa daty i czasu (moduł `datetime`)
  • zaawansowane kolekcje (moduł `collections`)
  • graficzny interfejs użytkownika (GUI) (moduł `tkinter`)

10. Instalacja zewnętrznych bibliotek

  • Repozytorium pakietów (PyPI)
  • Instalator pakietów (narzędzie `pip`)
  • Zarządzanie zależnościami w projekcie

11. Operacje wejścia/wyjścia

  • Operacje na plikach
  • Zapytania HTTP
  • Serializacja (moduł `json` i `pickle`)

12. Testowanie i debugowanie oprogramowania

  • Testowanie z wykorzystaniem biblioteki standardowej (moduł `unittest`)
  • Zewnętrzne narzędzia wspierające testowanie (projekt `pytest`)
  • Debugowanie kodu (moduł `pdb` oraz debugger wbudowany w `PyCharm`)

13. Zastosowania języka Python (wstęp)

  • Aplikacje webowe (framework `Django`)
  • Analiza i wizualizacja danych (biblioteka `pandas` i `matplotlib`)
  • Obliczenia naukowe (biblioteka `SciPy` i `NumPy`)

14. Dobre praktyki programowania w Pythonie

  • Styl kodowania i konwencje (PEP8)
  • Idiomatyczne rozwiązania

Dodatkowe tematy w wariancie XL Backend


15. Python oczami programisty backend

  • Wykorzystywane struktury danych
  • Wykorzystywane koncepcje programistyczne
  • Powtórzenie koniecznych podstaw

16. Struktura projektu pythonowego, dodatkowe narzędzia

  • Projekt jako moduł; zależności między projektami, struktura katalogu
  • GIT i kontrola wersji kodu
    • Zapisywanie i odtwarzanie historii zmian
    • Rozgałęzienia i ich późniejsze łączenie (branch/merge)
    • Repozytoria lokalne i zdalne; różne scenariusze pracy zespołowej

17. Testy i kontrola jakości kodu

  • TDD w praktyce
  • Zapewnianie poprawności oprogramowania
  • Testy jednostkowe
    • Istota testu jednostkowego
    • Typowa postać testu, proste asercje, uruchamianie
    • Dodatkowe moduły przydatne w pisaniu testów: Mock, patch

18. Warstwa prezentacji

  • Model DOM
  • Projektowanie witryn od strony programisty – HTML i CSS
  • Elementy formularza, metody POST i GET, żądania HTTP
  • Renderowanie widoku po stronie serwera - technologie szablonowe
  • AJAX i REST od strony frontendu

19. Działanie strony serwerowej aplikacji webowej

  • Protokół HTTP
  • Aplikacje uruchamiane na serwerze; serwery aplikacji

20. Framework Django

  • Poznanie Django jako platformy
    • Istota testu jednostkowego
    • Wstępna instalacja i konfiguracja Django
    • Konfiguracja i praca ze środowiskiem developerskim
    • Omówienie komponentów typowej aplikacji Django
    • Projekt
    • Aplikacja
    • Model
    • Widok
    • Obiektowy dostęp do bazy danych (ORM)
    • Tworzenie panelu administracyjnego
    • i18n
  • Tworzenie komponentów aplikacji, na przykładach
    • Widoki
    • Szablony
    • Wykorzystanie szablonów w widokach
    • Różne sposoby tworzenia formularzy – ręczne i korzystające z gotowych mechanizmów
    • Korzystanie z widoków generycznych
    • Zasady dobrych praktyk programistycznych
  • Stworzenie przykładowej aplikacji webowej
    • Wspólne stworzenie przykładowego projektu na platformie Django

21. Model REST, REST API i Django

  • Stworzenie przykładowego REST API przy wykorzystaniu Django
  • Testy jednostkowe
    • Omówienie modelu REST
    • Założenia REST w kontekście Django
    • Przydatne biblioteki
    • Implementacja aplikacji

22. Dodatkowe narzędzia programisty backendowego

  • Celery, RabbitMQ i inne

23. Wdrożenie aplikacji

  • Deployment aplikacji
    • Środowisko produkcyjne (omówienie serwerów webowych i serwerów aplikacji)
    • Różne sposoby wdrożenia aplikacji na produkcji

Dodatkowe tematy w wariancie XL Analiza Danych


15. Środowisko pracy analityka

  • Anaconda
    • Manager pakietów Conda
    • Manager pip
    • Tworzenie wirtualnego środowiska
  • Jupyter notebook
    • Markdown
    • Elementy notacji Latex

16. Przetwarzanie danych

  • Wstęp do NumPy
    • Tworzenie wektorów i macierzy
    • Przekształcenia, operacje w NumPy
      • Wybieranie
      • Wektoryzacja
      • Broadcasting
    • Elementy arytmetyki i algebry przy użyciu NumPy
      • Rozwiązywanie równań liniowych
  • Wstęp do Pandas
    • Serie i ramki danych
    • Pozyskiwanie danych z różnych źródeł
      • Pliki
      • Zasoby w internecie
      • Bazy danych
    • Przygotowywanie i czyszczenie danych - Operacje i przekształcenia DataFrame
      • Usuwanie kolumn i wierszy
      • Zmiana wymiarów - reshaping
      • Pivoting
      • Rangowanie i sortowanie danych
      • Łączenie ramek (concatenate, merge, join)

17. Analiza danych

  • Wizualizacje
    • Wprowadzenie do matplotlib
    • generowanie wykresów z poziomu pandas
    • seaborn i inne narzędzia do wizualizacji danych w Pythonie
  • Podstawy analizy statystycznej
  • Wnioskowanie statystyczne

18. Wstęp do uczenia maszynowego

  • Przegląd metod i algorytmów uczenia maszynowego
  • Podział metod uczenia maszynowego
    • Uczenie nadzorowane
    • Uczenie nienadzorowane

19. Proces uczenia maszynowego

  • Eksploracja danych
  • Jak dobrać najlepszy model do zadania
  • Przygotowanie danych
    • Zbiór uczący
    • Zbiór testowy
  • Szkolenie modelu
  • Walidacja modelu
  • Przeuczenie modelu
  • Techniki redukcji wymiarowości danych

20. Omówienie metod uczenia maszynowego

  • Regresja
    • Regresja liniowa
    • Regresja wielomianowa
    • Regresja logistyczna
  • Klasyfikacja
  • Grupowanie danych
  • Redukcja wymiarów
  • Łączenie klasyfikatorów
  • Wizualizowanie wyników

21. Przegląd narzędzi do uczenia głębokiego

22. Wprowadzenie do sieci neuronowych

  • Jak działa neuron
  • Jak uczy się sieć neuronowa
  • Typy sieci neuronowych

23. Keras

  • wprowadzenie
  • udostępniane API
  • szkolenie
  • wnioskowanie

24. Różne typy sieci neuronowych

  • Sztuczne sieci neuronowe (ANN)
  • Konwolucyjne sieci neuronowe (CNN)
  • Rekurencyjne sieci neuronowe (RNN, LSTM)
  • Porównanie różnych środowisk (np. PyTorch, Tensorflow)