PythON: Academy
Od składni Pythona do realnych projektów.
PythON: Academy — dla kogo?
Dla początkujących
Zaczynamy od podstaw — nie potrzebujesz wcześniejszego doświadczenia.
Dla osób przebranżawiających się
Konkretne, praktyczne umiejętności, które zbudujesz w portfolio.
Dla praktyków
Uporządkujesz wiedzę i poznasz dobre praktyki stosowane w produkcji.
Dla zabieganych
Krótkie lekcje wideo — uczysz się wtedy, kiedy masz czas.
Dlaczego warto rozwijać się w tym obszarze?
Realne zapotrzebowanie
Umiejętności z tego obszaru są dziś poszukiwane w wielu branżach i typach projektów.
Nauka przez praktykę
Uczysz się na konkretnych przykładach i projektach, które od razu trafiają do Twojego portfolio.
Dobre perspektywy
To kompetencje, które realnie przekładają się na rozwój kariery i wynagrodzenie.
Wsparcie społeczności
Dołączasz do aktywnej społeczności kursantów i rozwijasz się razem z innymi.
Konkretne umiejętności, nie abstrakcje.
Poznajesz składnię Pythona w praktycznych projektach
Rozwiązujesz zadania programistyczne krok po kroku
Przygotowujesz się do certyfikacji PCEP
Uczysz się w swoim tempie z dożywotnim dostępem
Wszystko w cenie kursu.
Kompleksowy program
Kurs podzielony na lekcje wideo, urozmaicony zadaniami i materiałami dodatkowymi.
Dożywotni dostęp
Dostęp life-time do kursu — wracasz do materiałów, kiedy chcesz.
Gwarancja zadowolenia
Możesz zwrócić kurs w ciągu 15 dni od otrzymania dostępu — bez pytań.
Praktyczne zadania
Kurs bazuje na ćwiczeniach i przykładach, które od razu wprowadzisz w życie.
Materiały do nauki
Dostęp do repozytorium i wszystkich materiałów omawianych przez trenera.
Imienny certyfikat
Po zaliczeniu testu końcowego otrzymasz imienny certyfikat ukończenia.
Wsparcie trenera
Kanał na Discordzie i wsparcie zespołu ISA.
Społeczność
Dołączasz do społeczności kursantów — pytania, feedback i wymiana wiedzy.
39 modułów · 603 lekcje.
Program dzieli się na 3 ścieżki, które kupisz osobno albo w całości. Uczysz się w swoim tempie — dostęp do zakupionego materiału od razu po zakupie.
Ścieżka 1 Ścieżka Zrozumieć Programowanie
M01Wprowadzenie i przygotowanie środowiska
- Dla kogo jest kurs "Zrozumieć Programowanie"?
- Dlaczego warto zrozumieć programowanie?
- Plan kursu i sposób nauki
- Czym jest Python?
- Przygotowanie środowiska pracy
- Przygotowanie środowiska pracy (Linux)
- Przygotowanie środowiska pracy (MacOS)
- Przygotowanie środowiska pracy (Windows)
- "Hello World" - pierwszy program w Pythonie
M02Dogadać się z Pythonem
- Interaktywna konsola
- Zmienne
- Zmienne (zadania)
- Zmienne (rozwiązania)
- Funkcja print i napisy
- Funkcja print i napisy (zadania)
- Funkcja print i napisy (rozwiązania)
- Funkcja input
- Funkcja input (zadania)
- Funkcja input (rozwiązania)
- Komentarze w kodzie
- Podsumowanie
- Quiz po module
M03Podstawowe typy zmiennych
- Wprowadzenie
- Co wynika z różnicy typów?
- Typ int oraz float
- Typ int oraz float (zadanie)
- Typ int oraz float (rozwiązanie)
- Typ str
- Typ str, czyli napisy (zadania)
- Typ str, czyli napisy (rozwiązania)
- Typ list I
- Typ list II
- Typ list (zadania)
- Typ list (rozwiązania)
- Typ dict, czyli słownik
- Typ dict, czyli słownik (zadania)
- Typ dict, czyli słownik (rozwiązania)
- Typ NoneType
- Podsumowanie
- Quiz po module
M04Instrukcje warunkowe i operatory logiczne
- Wprowadzenie
- Porównanie i typ bool
- Porównanie i typ bool (zadania)
- Porównanie i typ bool (rozwiązania)
- Instrukcja if/else
- Instrukcja if/else (zadania)
- Instrukcja if/else (rozwiązania)
- Operatory logiczne and/or/not
- Operatory logiczne and/or/not (zadania)
- Operatory logiczne and/or/not (rozwiązania)
- Instrukcja elif
- Instrukcja elif (zadania)
- Instrukcja elif (rozwiązania)
- Operatory in oraz is
- Operatory in oraz is (zadania)
- Operatory in oraz is (rozwiązania)
- Podsumowanie
- Quiz po module
M05Pętle
- Wprowadzenie
- Pętla while
- Pętla while (zadania)
- Pętla while (rozwiązania)
- Pętla for
- Pętla for (zadania)
- Pętla for (rozwiązania)
- Pętla for in range
- Pętla for in range (zadania)
- Pętla for in range (rozwiązania)
- Komendy break i continue
- Komendy break I continue (zadania)
- Komendy break I continue (rozwiązania)
- Podsumowanie
- Quiz po module
M06Funkcje
- Funkcje I
- Funkcje II
- Funkcje (zadania)
- Funkcje (rozwiązania)
- Argumenty pozycyjne i nazwane
- Argumenty pozycyjne i nazwane (zadania)
- Argumenty pozycyjne i nazwane (rozwiązania)
- Zakres zmiennych
- Parametry domyślne
- Parametry domyślne (zadania)
- Parametry domyślne (rozwiązania)
- Podsumowanie
- Quiz po module
M07Podsumowanie kursu „Zrozumieć Programowanie”
- Wstęp do podsumowania
- Czym właściwie jest programowanie
- Co dalej?
Ścieżka 2 Ścieżka Początek
M01Niezbędnik Adepta
- Przywitanie w kursie “PythON: Początek”
- Programistyczna droga i plan kursu
- Czym jest programowanie?
- Język i interpreter Python oraz PyCharm
- Instalacja Pythona i PyCharma
- Instalacja Pythona i PyCharma (Windows)
- Instalacja Pythona i PyCharma (Linux)
- Instalacja Pythona i PyCharma (MacOS)
- Różne wersje Pythona
- Alternatywy dla PyCharma
- Hello World!
- Python - filozofia
- Ekspresowe przypomnienie
- Debugowanie w PyCharmie
- Pakiety i moduły
- Pakiety i moduły (zadania)
- Pakiety i moduły (rozwiązania)
- Różne sposoby importowania
- Różne sposoby importowania (zadania)
- Różne sposoby importowania (rozwiązania)
- Git - wprowadzenie
- Czym jest system kontroli wersji?
- Czym jest Git?
- Git vs GitHub
- Instalacja Git
- Instalacja Git (Windows)
- Instalacja Git (Linux)
- Instalacja Git (MacOS)
- Interfejs Gita i konfiguracja
- Utworzenie repozytorium i pierwszy commit
- Pobieranie istniejącego repozytorium
- Git - historia zmian
- Podsumowanie
- Quiz po module
M02Programowanie obiektowe część 1
- Powitanie
- Paradygmat programowania
- Programowanie proceduralne i obiektowe
- Klasy i obiekty
- Klasy i obiekty (zadania)
- Klasy i obiekty (rozwiązania)
- Konstruktor i pola obiektu
- Konstruktor i pola obiektu (zadania)
- Konstruktor i pola obiektu (rozwiązania)
- Metoda, czyli zachowanie obiektu
- Metoda, czyli zachowanie obiektu (zadania)
- Metoda, czyli zachowanie obiektu (rozwiązania)
- Czym są magiczne metody?
- Metoda __str__
- Metoda __repr__
- Metody __in__ oraz __float__
- Metoda __len__
- Metoda __bool__
- Metody __add__, __sub__, __mul__ i __truediv__
- Metoda __eq__ i inne metody porówniania
- Metody magiczne (zadania)
- Metody magiczne (rozwiązania)
- Czym jest enkapsulacja?
- Enkapsulacja w Pythonie
- Enkapsulacja w Pythonie (zadania)
- Enkapsulacja w Pythonie (rozwiązania)
- Metody i pola klasy
- Metody statyczne
- Metody i pola klasy oraz metody statyczne (zadania)
- Metody i pola klasy oraz metody statyczne (rozwiązania)
- Funkcja jako obiekt
- Funkcja jako obiekt (zadania)
- Funkcja jako obiekt (rozwiązania)
- Lambda - funkcja anonimowa
- Lambda - funkcja anonimowa (zadania)
- Lambda - funkcja anonimowa (rozwiązania)
- Unpacking operators
- Unpacking operators (zadania)
- Unpacking operators (rozwiązania)
- Podsumowanie
- Quiz po module
M03Programowanie obiektowe część 2
- Wprowadzenie
- Prosta refaktoryzacja
- Prosta refaktoryzacja (zadania)
- Prosta refaktoryzacja (rozwiązania)
- Property jako getter
- Property jako getter dla wartości dynamicznej
- Property jako setter
- Property (zadania)
- Property (rozwiązania)
- Czym jest dziedziczenie?
- Rozszerzenie typu bazowego
- Dostęp do pól i metod z poziomu dziecka i rodzica
- Dziedziczenie (zadania)
- Dziedziczenie (rozwiązania)
- Napisanie metody w klasie potomnej
- Napisanie metody w klasie potomnej (zadania)
- Napisanie metody w klasie potomnej (rozwiązania)
- Dziedziczenie po typach wbudowanych
- Abstrakcja i polimorfizm
- Abstrakcja i polimorfizm (zadania)
- Abstrakcja i polimorfizm (rozwiązania)
- Metoda super
- Metoda super (zadania)
- Metoda super (rozwiązania)
- Wielodziedziczenie i mixiny
- MRO
- Obiektowość - dobre praktyki w Pythonie
- Dobre praktyki - reguły SOLID, DRY
- Podsumowanie
- Quiz po module
M04Wbudowane struktury danych
- Powitanie
- int oraz float
- int oraz float (zadania)
- int oraz float (rozwiązania)
- str, czyli napisy
- str, czyli napisy (zadania)
- str, czyli napisy (rozwiązania)
- Lista oraz list comprehensions
- Lista oraz list comprehensions (zadania)
- Lista oraz list comprehensions (rozwiązania)
- Słownik oraz dict comprehensions
- Słownik oraz dict comprehensions (zadania)
- Słownik oraz dict comprehensions (rozwiązania)
- Set, czyli zbiór
- Set, czyli zbiór (zadania)
- Set, czyli zbiór (rozwiązania)
- Mutable oraz immutable
- Frozenset
- Frozenset (zadania)
- Frozenset (rozwiązania)
- Tuple
- Tuple (zadania)
- Tuple (rozwiązania)
- Named tuple
- Named tuple (zadania)
- Named tuple (rozwiązania)
- Dataclass
- Dataclass (zadania)
- Dataclass (rozwiązania)
- Enum
- Enum (zadania)
- Enum (rozwiązania)
- Podsumowanie
- Quiz po module
M05Środowisko i biblioteki
- Wprowadzenie
- Czym są biblioteki?
- Virtualenv
- Instalacja bibliotek
- Przykład dla Windowsa
- Linux - instalacja programu pip
- Środowisko wirtualne z poziomu konsoli
- Skąd biorą się biblioteki i jak je znaleźć?
- Proste zarządzenie zależnościami
- Zależności developerskie i produkcyjne
- Virtualenvwrapper
- Instalacja i pierwsze uruchomienie (Linux & MacOS)
- Instalacja i pierwsze uruchomienie (Windows)
- Virtualenvwrapper - przydatne komendy
- Pipenv
- Przydatne biblioteki
- Przydatne biblioteki - Black
- Przydatne biblioteki - GeoPy
- Przydatne biblioteki - Folium
- Przydatne biblioteki - openpyxl
- Przydatne biblioteki - pydantic
- Przydatne biblioteki - requests i inne
- Podsumowanie
- Quiz po module
M06Obsługa błędów i pliki
- Powitanie
- Wyjątki w Pythonie
- Wyjątki w Pythonie (zadania)
- Wyjątki w Pythonie (rozwiązania)
- Tworzenie własnych wyjątków
- Tworzenie własnych wyjątków (zadania)
- Tworzenie własnych wyjątków (rozwiązania)
- Blok try... except..., czyli łapanie wyjątków
- Blok try... except..., czyli łapanie wyjątków (zadania)
- Blok try... except..., czyli łapanie wyjątków (rozwiązania)
- Bloki finally oraz else
- Bloki finally oraz else (zadania)
- Bloki finally oraz else (rozwiązania)
- Praca z plikami
- Praca z plikami - konstrukcja with
- Praca z plikami - konstrukcja with (zadania)
- Praca z plikami - konstrukcja with (rozwiązania)
- Praca z plikami - format CSV
- Praca z plikami - format CSV (zadania)
- Praca z plikami - format CSV (rozwiązania)
- Praca z plikami - format JSON
- Praca z plikami - format JSON (zadania)
- Praca z plikami - format JSON (rozwiązania)
- Podsumowanie
- Quiz po module
M07Scraping [BONUS]
- Powitanie
- Czym jest web scraping?
- Jak zbudowana jest strona - HTML
- Jak zbudowana jest strona - HTML (zadania)
- Protokół HTTP
- Programistyczny klient HTTP - biblioteka requests
- Programistyczny klient HTTP - biblioteka requests (zadania)
- Programistyczny klient HTTP - biblioteka requests (rozwiązania)
- Proste przetwarzanie treści - operacje na str
- Proste przetwarzanie treści - operacje na str (zadania)
- Proste przetwarzanie treści - operacje na str (rozwiązania)
- Biblioteka Beautiful Soup
- Biblioteka Beautiful Soup (zadania)
- Biblioteka Beautiful Soup (rozwiązania)
- Podsumowanie
- Do zobaczenia
M08Certyfikacja Python Institute (przygotowanie do certyfikatu PCEP-30-02)
- Informacje przed przystąpieniem do certyfikacji
- Wprowadzenie
- Typ int - różne notacje
- Typ int - różne notacje (zadania)
- Typ int - różne notacje (rozwiązanie)
- Operator floor division
- Priorytet operatorów
- Python keywords
- Instrukcja else dla pętli
- System dwójkowy i operatory bitowe
- Platforma edube.org
M09Test końcowy
- Test końcowy
Ścieżka 3 Ścieżka Wtajemniczenie
M01Niezbędnik Adepta
- Przywitanie
- Programistyczna droga i plan kursu
- Instalacja Pythona i PyCharma
- Instalacja Pythona i PyCharma (Windows)
- Instalacja Pythona i PyCharma (Linux)
- Instalacja Pythona i PyCharma (MacOS)
- Instalacja Gita
- Instalacja Gita (Windows)
- Instalacja Gita (Linux)
- Instalacja Gita (MacOS)
- Ekspresowe przypomnienie - środowisko i biblioteki
- Ekspresowe przypomnienie - Git
- Ekspresowe przypomnienie - programowanie obiektowe
- Ekspresowe przypomnienie - typy danych
- Ekspresowe przypomnienie - obsługa błędów
- Ekspresowe przypomnienie - praca z plikami
- Podsumowanie
M02Funkcje
- Wprowadzenie
- Argumenty tylko nazwane
- Argumenty tylko nazwane (zadanie)
- Argumenty tylko nazwane (zadanie - wprowadzenie)
- Argumenty tylko nazwane (rozwiązanie)
- Argumenty tylko pozycyjne
- Argumenty - kontekst i zastosowania
- Argumenty tylko pozycyjne i nazwane (zadanie)
- Argumenty tylko pozycyjne i nazwane (rozwiązanie)
- Inner functions
- Inner functions (zadania)
- Inner functions (rozwiązania)
- Rekurencja
- Rekurencja (zadanie)
- Rekurencja (rozwiązanie)
- Podsumowanie
M03Data i czas
- Wprowadzenie
- Data i czas - koncepcje
- Date
- Date (zadanie)
- Date (rozwiązanie)
- Data w formacie ISO
- Data w formacie ISO (zadanie)
- Data w formacie ISO (rozwiązanie)
- Aktualna data
- Aktualna data (zadanie)
- Aktualna data (rozwiązanie)
- UNIX Timestamp
- Inne sposoby na utworzenie daty
- Dane o dacie - metody obiektu date
- Metody obiektu date (zadanie)
- Metody obiektu date (rozwiązanie)
- Porównywanie dat
- Porównywanie dat (zadanie)
- Porównywanie dat (rozwiązanie)
- Typ time
- Typ time (zadanie)
- Typ time (rozwiązanie)
- Czas w formacie ISO
- Porównywanie czasu
- Porównywanie czasu (zadanie)
- Porównywanie czasu (rozwiązanie)
- Podsumowanie
M04Datetime, interwały czasowe i formatowanie
- Wprowadzenie
- Typ datetime
- Typ datetime (zadanie)
- Typ datetime (rozwiązanie)
- Aktualna data i czas
- Aktualna data i czas (zadanie)
- Aktualna data i czas (rozwiązanie)
- Datetime a date i time
- Datetime a date i time (zadanie)
- Datetime a date i time (rozwiązanie)
- Datetime w formacie ISO
- Datetime w formacie ISO (zadanie)
- Datetime w formacie ISO (rozwiązanie)
- Data i czas w różnych postaciach
- Data i czas w różnych postaciach (zadanie)
- Data i czas w różnych postaciach (rozwiązanie)
- Formatowanie daty i czasu
- Formatowanie daty i czasu (zadanie)
- Formatowanie daty i czasu (rozwiązanie)
- Parsowanie daty i czasu z różnych formatów
- Parsowanie daty i czasu z różnych formatów (zadanie)
- Parsowanie daty i czasu z różnych formatów (rozwiązanie)
- Porównywanie obiektów datetime
- Timedelta
- Timedelta (zadanie)
- Timedelta (rozwiązanie)
- Podsumowanie
M05Strefy czasowe
- Wprowadzenie
- Strefy czasowe
- Obiekty aware - today, now, fromtimestamp
- Obiekty aware - wczytywanie z ISO format
- Aware datetime a date oraz time
- Podstawienie strefy czasowej i konwersja
- Niebezpieczne metody: utcnow i utcfromtimestamp
- Strefy czasowe (zadanie)
- Strefy czasowe (rozwiązania)
- Strefy czasowe przed Pythonem 3.9
- W jaki sposób przechowywać informacje o czasie
- Podsumowanie
M06Podstawy wyrażeń regularnych
- Wprowadzenie
- Metaznaki - klasa znaków
- Metaznaki - klasa znaków (zadanie)
- Metaznaki - klasa znaków (rozwiązanie)
- Metaznaki - specjalne symbole
- Metaznaki - specjalne symbole (zadania)
- Metaznaki - specjalne symbole (rozwiązania)
- Raw strings
- Określanie liczby wystąpień
- Określanie liczby wystąpień (zadanie)
- Określanie liczby wystąpień (rozwiązanie)
- Grupowanie
- Grupowanie (zadanie)
- Grupowanie (rozwiązanie)
- Metody match i fullmatch
- Metody match i fullmatch (zadanie)
- Metody match i fullmatch (rozwiązanie)
- Metoda search
- Metody findall i finditer
- Metody findall i finditer (zadanie)
- Metody findall i finditer (rozwiązanie)
- Flagi wyrażeń regularnych
- Flagi wyrażeń regularnych (zadanie)
- Flagi wyrażeń regularnych (rozwiązanie)
- Kompilacja a wydajność
- Podsumowanie
M07Type hint
- Wprowadzenie
- Typowanie dynamiczne i statyczne
- Po co nam statyczna kontrola typów?
- Type hints w funkcjach
- Type hints w funkcjach (zadanie)
- Type hints w funkcjach (rozwiązanie)
- Kontrola zgodności typów - mypy
- Kontrola zgodności typów - mypy (zadanie)
- Kontrola zgodności typów - mypy (rozwiązanie)
- Typowanie zmiennych i wnioskowanie typów
- Typowanie zmiennych i wnioskowanie typów (zadanie)
- Typowanie zmiennych i wnioskowanie typów (rozwiązanie)
- Deklarowanie złożonych typów
- Deklarowanie złożonych typów (zadanie)
- Deklarowanie złożonych typów (rozwiązanie)
- Generyki
- Przypadki szczególne - Any
- Rzutowanie typu
- Przypadki szczególne - ignore
- Podsumowanie
M08Abstrakcja, interfejs i Protocol
- Wprowadzenie
- Czym jest interfejs i API?
- Klasy abstrakcyjne w Pythonie
- Klasy abstrakcyjne w Pythonie (zadanie)
- Klasy abstrakcyjne w Pythonie (rozwiązanie)
- Protocol, czyli Structural subtyping
- Protocol, czyli Structural subtyping (zadanie)
- Protocol, czyli Structural subtyping (rozwiązanie)
- Typ jako część interfejsu
- Stub files
- Stub files (zadanie)
- Stub files (rozwiązanie)
- Podsumowanie
M09Iterator i generator
- Wprowadzenie
- Protokół iteratora
- Protokół iteratora (zadanie)
- Protokół iteratora (rozwiązanie)
- Generator
- Generator (zadanie)
- Generator (rozwiązanie)
- Metoda send
- Metody throw i close
- Podsumowanie
M10Context Manager
- Wprowadzenie
- Własny Context Manager
- Własny Context Manager (zadania)
- Własny Context Manager (rozwiązania)
- Funkcja generator i context manager
- Funkcja generator i context manager (zadania)
- Funkcja generator i context manager (rozwiązania)
- Reużywalne context managery
- Podsumowanie
M11Moduł Collections część 1
- Wprowadzenie
- defaultdict
- defaultdict (zadania)
- defaultdict (rozwiązania)
- OrderedDict
- OrderedDict (zadania)
- OrderedDict (rozwiązania)
- deque
- deque (zadania)
- deque (rozwiązania)
- Podsumowanie
M12Moduł Collections część 2
- Wprowadzenie
- Counter
- Counter (zadania)
- Counter (rozwiązania)
- ChainMap
- ChainMap (zadania)
- ChainMap (rozwiązania)
- Abstract Base Classes
- Podsumowanie
M13Dekoratory
- Wprowadzenie
- Dekorator
- Dekorator (zadanie)
- Dekorator (rozwiązanie)
- Dekorowanie funkcji z argumentami
- Dekorowanie funkcji z argumentami (zadanie)
- Dekorowanie funkcji z argumentami (rozwiązanie)
- Dekorator z argumentami
- Dekorator z argumentami (zadanie)
- Dekorator z argumentami (rozwiązanie)
- functools.wrap
- Dekorowanie klasy
- Dekorator total_ordering
- Dekorator total_ordering (zadanie)
- Dekorator total_ordering (rozwiązanie)
- Dekorator lru_cache
- Dekorator lru_cache (zadanie)
- Dekorator lru_cache (rozwiązanie)
- Podsumowanie
M14Metaklasy
- Wprowadzenie
- Jak Python tworzy klasy?
- Dynamiczne definiowanie klasy (zadanie)
- Dynamiczne definiowanie klasy (rozwiązanie)
- Weryfikacja poprawności klasy
- Weryfikacja poprawności klasy (zadanie)
- Weryfikacja poprawności klasy (rozwiązanie)
- Rejestracja klas
- Rejestracja klas (zadanie)
- Rejestracja klas (rozwiązanie)
- Modyfikacja definicji klasy w locie
- Podsumowanie
M15Wybrane wzorce projektowe
- Wprowadzenie
- Factory method
- Factory method (zadanie)
- Factory method (rozwiązanie)
- Abstract factory
- Abstract factory (zadanie)
- Abstract factory (rozwiązanie)
- Builder
- Builder (zadanie)
- Builder (rozwiązanie)
- Adapter
- Adapter (zadanie)
- Adapter (rozwiązanie)
- Fasada
- Fasada (zadanie)
- Fasada (rozwiązanie)
- Obserwator
- Dekorator
- Iterator
- Podsumowanie
M16Testy część 1
- Wprowadzenie
- Biblioteka pytest i proste testy
- Testy (zadanie)
- Testy (rozwiązanie)
- Testowanie wyjątków
- Testowanie wyjątków (zadanie)
- Testowanie wyjątków (rozwiązanie)
- Fixtury
- Fixtury (zadanie)
- Fixtury (rozwiązanie)
- Podsumowanie
M17Testy część 2
- Wprowadzenie
- Czym są stuby i mocki?
- Stuby i mocki (zadanie)
- Stuby i mocki (rozwiązanie)
- Moduł unittest
- Moduł unittest (zadanie)
- Moduł unittest (rozwiązanie)
- pytest a unittest
- Test Driven Development
- Podsumowanie
M18Współbieżność część 1
- Wprowadzenie
- Czym jest współbieżność?
- Współbieżność i równoległość
- Współbieżność i równoległość (zadanie)
- Wątki w Pythonie
- Wątki w Pythonie (zadanie)
- Wątki w Pythonie (rozwiązanie)
- Model z wywłaszczeniem
- Wyścigi, sekcja krytyczna i synchronizacja
- Wyścigi i synchronizacja (zadanie)
- Wyścigi i synchronizacja (rozwiązanie)
- Podsumowanie
M19Współbieżność – część 2
- Wprowadzenie
- Wątki i moduł queue
- Wątki i moduł queue (zadanie)
- Wątki i moduł queue (rozwiązanie)
- CPU bounded vs IO bounded
- Global Interpreter Lock
- Procesy
- Procesy (zadanie)
- Procesy (rozwiązanie)
- Skalowalność
- Komunikacja międzyprocesowa
- Wątki i procesy razem
- Subprocess
- Podsumowanie
M20Współbieżność część 3
- Wprowadzenie
- Wykonanie asynchroniczne i model kooperatywny
- Wykonanie asynchroniczne i model kooperatywny (zadanie)
- Wykonanie asynchroniczne i model kooperatywny (rozwiązanie)
- Podsumowanie
M21Warsztat programistyczny: Git i workflow
- Wprowadzenie
- Git - branche
- Git - branche (zadanie)
- Git - mergowanie
- Git - rozwiązywanie konfliktów
- Git - tagi
- Pull requests i code review
- Podsumowanie
M22Warsztat programistyczny: workflow i CI
- Wprowadzenie
- Gitflow
- Githubflow
- Proces CI - wprowadzenie
- Proces CI - testy automatyczne
- Proces CI - kontrola typów i linter
- Proces CI - formatowanie
- Podsumowanie
M23Podsumowanie i test końcowy
- Podsumowanie kursu i kilka wskazówek
- Test końcowy
Ucz się w swoim tempie.
Same nagrania trwają 66h, do czego warto doliczyć przynajmniej kilka godzin pracy własnej. Możesz przejść kurs w tydzień albo rozłożyć go na pół roku — dostęp masz dożywotnio.
Uczysz się narzędzi, z którymi realnie pracuje branża.
Stack Overflow co roku pyta dziesiątki tysięcy programistów z całego świata, z jakimi technologiami pracują i z jakimi chcą pracować. Tak wypadają technologie tego kursu:
Skala słupków: 0-100%. „Pracowało" i „chce pracować" to odsetek wszystkich ankietowanych, „używający chcą przy niej zostać" — odsetek osób, które z technologią już pracują.
Źródło: Stack Overflow Developer Survey 2025 (dane na licencji ODbL).
Dlaczego warto posiadać certyfikat PCEP-30-02?
Certyfikacja PCEP-30-02
W ramach kursu przygotujesz się do egzaminu PCEP-30-02 — uznawanego w branży certyfikatu potwierdzającego Twoje umiejętności.
Certyfikat wydajemy po zaliczeniu kursu: po obejrzeniu wszystkich lekcji i zdaniu testu końcowego otrzymasz imienny certyfikat ukończenia potwierdzający zdobyte umiejętności.
Certyfikat ma unikalny numer weryfikacyjny i wydawany jest przez infoShare Academy — markę rozpoznawalną w polskiej branży IT od 2015 roku. Dołączysz go do CV i profilu na LinkedIn.
Wybierz pakiet dla siebie.
Dostęp do materiałów od razu po zakupie — niezależnie od pakietu.
Pełny kurs
Najczęściej wybieranyCały materiał w Twoim tempie — wszystkie moduły od razu po zakupie.
PROMOCJAKurs PythON: Academy – Ścieżka Zrozumieć Programowanie
Moduły 1-7 pełnego kursu.
Kurs PythON: Academy – Ścieżka Początek
Moduły 8-16 pełnego kursu.
Kurs PythON: Academy – Ścieżka Wtajemniczenie
Moduły 17-39 pełnego kursu.
Pakiet Python + Power BI
PythON: Academy i Power BI Academy — przetwarzanie danych w Pythonie plus interaktywne raporty i dashboardy dla biznesu. Kupując razem, oszczędzasz 595 zł.
PROMOCJAPythON: Academy z voucherem Python Institute (PCEP-30-02)
Pełny kurs PythON: Academy oraz voucher na egzamin certyfikacyjny Python Institute PCEP-30-02 (Certified Entry-Level Python Programmer).
PROMOCJAWszystkie pakiety: dostęp od razu po zakupie · faktura VAT · 15 dni gwarancji zwrotu.
Przekonaj się, jak wyglądają lekcje.
Przeszkoliliśmy ponad 9970 osób
Opinie pochodzą z Google i z profili kursów. Poniżej kilka wybranych z ostatnich miesięcy.
„Gorąco polecam bootcamp Data Science w InfoShare Academy. To solidne i dobrze przemyślane przygotowanie do zmiany ścieżki zawodowej – intensywna dawka wiedzy przekazana w sposób uporządkowany i praktyczny. Program jest bardzo dobrze skonstruowany, a prowadzący to prawdziwi profesjonaliści – zawsze pomocni i otwarci. Szczególne podziękowania należą się naszemu mentorowi, Mateuszowi Majowi, który nie tylko świetnie prowadził zajęcia, ale też wspierał nas na każdym kroku, również poza zajęciami. Projekty realizowane w trakcie kursu pozwoliły na praktyczne zastosowanie zdobytej wiedzy, co było ogromnym atutem. Dzięki dodatkowym materiałom HR w ramach ścieżki IT Navigator mogłam dopracować swoje CV i profil na LinkedIn a także poznać wartościowe strony internetowe i wydarzenia branżowe. Wsparcie Agnieszki Marusiak (HR Project Manager) okazało się nieocenione – zawsze można było liczyć na jej pomoc i cenne wskazówki. A co najcenniejsze, to właśnie dzięki jej rekomendacji otrzymałam swoją pierwszą ofertę jako Junior Data Scientist! Już za niecały miesiąc zaczynam nową pracę :) Z pełnym przekonaniem polecam ten bootcamp każdemu, kto chce wkroczyć w świat Data Science."
„InfoShare Academy to wyjątkowe miejsce dla osób pragnących rozwijać swoje umiejętności w branży IT! Kursy są profesjonalnie przygotowane, a trenerzy to eksperci z ogromnym doświadczeniem i pasją do nauczania. Materiały dydaktyczne są aktualne i doskonale zorganizowane, co sprawia, że nauka jest efektywna i przyjemna. Szczególnie doceniam praktyczne podejście do nauczania, które umożliwia zdobycie realnych umiejętności potrzebnych na rynku pracy. Atmosfera w akademii jest przyjazna i motywująca. Polecam InfoShare Academy każdemu, kto chce zainwestować w swoją przyszłość i zdobyć solidną wiedzę w IT."
„Polecam kurs Power BI w infoShare Academy. Jest to doskonała okazja do zdobycia umiejętności, które są niezwykle cenne na współczesnym rynku pracy. Szczególnie doceniam praktyczne podejście do nauki — kurs nie tylko uczy teorii, ale koncentruje się na rzeczywistych umiejętnościach. Zaletą kursu jest również jego forma — wieczorowe zajęcia — co pozwala na pogodzenie nauki z pracą zawodową. Dodatkowym atutem jest doświadczony wykładowca, który w przystępny sposób tłumaczy skomplikowane zagadnienia, a także wspiera i odpowiada na pytania uczestników, tworząc przyjazną atmosferę do nauki."
Mikołaj Lewandowski
Senior Python Developer
Autor bloga programistycznego PyJazz.pl oraz Pythonowych kursów online. Występuje na konferencjach, lokalnych meetupach i webinarach. Współprowadzi Pythonową edycję cyklu od Juniora do Seniora. Na co dzień pracuje jako Senior Python Developer oraz Team Leader projektując i budując aplikacje dla międzynarodowych klientów. Entuzjasta Software Craftsmanship, odpowiedzialnego projektowania i pragmatycznego podejścia do rozwijania systemów. Biegacz, rowerzysta, czasami podróżnik.
Skontaktuj się
z nami.
Napisz lub zadzwoń — opiekun kursów online odpowie na pytania o program, dostęp i fakturę.
Dziękujemy!
Opiekun kursu odezwie się w ciągu 1 dnia roboczego.
FAQ
FAQ — kurs PythON: Academy
Kiedy otrzymam dostęp do kursu?
+
Dostęp otrzymujesz od razu po zakupie. Na Twój e-mail przyjdzie powiadomienie o założeniu konta na platformie kursowej. Naukę możesz rozpocząć w dowolnym momencie, na komputerze lub urządzeniu mobilnym.
Czy dostęp do materiałów zostaje na zawsze?
+
Tak — dostęp jest w trybie life-time (dożywotni). Materiały możesz odtwarzać dowolną liczbę razy, bez limitu czasu.
Czym to się różni od kursu na żywo?
+
Kurs self-learning to nagrania wideo i ćwiczenia dostępne od razu — uczysz się we własnym tempie, bez stałego harmonogramu. Kurs na żywo ma ustalone terminy, trenera prowadzącego na żywo i pracę w grupie, dlatego jest droższy. Self-learning sprawdzi się, jeśli preferujesz samodzielną naukę.
Czy muszę umieć programować?
+
Nie. Kurs wprowadza w temat od podstaw i nie wymaga zaawansowanych umiejętności technicznych. Pierwsze lekcje są darmowe — możesz sprawdzić styl prowadzenia przed zakupem.
Czy dostanę certyfikat?
+
Tak. Certyfikat wydajemy po zaliczeniu kursu: po obejrzeniu wszystkich lekcji i zdaniu testu końcowego otrzymasz imienny certyfikat ukończenia, który możesz dodać do CV lub profilu LinkedIn.
Czy mogę kupić na raty lub na fakturę?
+
Tak — dostępne są raty 0% (PayU). Wystawiamy też fakturę VAT lub fakturę proformę płatną przelewem, zarówno dla osób prywatnych, jak i firm.
Czy jest możliwość zwrotu kursu?
+
Tak — zapewniamy 15 dni gwarancji zadowolenia. W tym czasie możesz zrezygnować bez podawania powodu, a my zwrócimy Ci pieniądze.
To darmowy fragment kursu — obejrzyj bez logowania. Pełny dostęp do wszystkich 603 lekcji odblokujesz po zakupie.