Naucz się programować w Pythonie.
Przyjdź na bootcamp i zmień
swoje życie zawodowe.
Kompleksowa i intensywna nauka
od zupełnych podstaw.
-
Czas trwania:lub
-
Cena:poczęstunek w ceniestanowisko komputerowe w cenie
-
Tematyka:Narzędzia programisty, podstawy programowania,
Python i jego możliwości (slicing, comprehensions…)
oraz praktyczne zastosowania
XL backend: Web, Django, bazy danych, REST, testy
XL analiza danych: Anaconda, Pandas, Machine Learning -
Prowadzący:Programista Python, ekspert z branży, trener z zamiłowania
-
Tryby zajęć:
- weekendowo (sob-niedz., średnio co 2 tygodnie)
- dziennie (bloki 3- i 4-dniowe, co ok. 2 tyg.)
- wieczorowo (2× w tygodniu, 18-20:30, przez kilka m-cy)
-
Grupa:Zajęcia stacjonarne - na sali max 12 osób.
Dla kursów zdalnych - do 17 osób łącznie.
-
Wymagania:umiejętność obsługi komputera, kurs w 100% od podstaw
-
Elastyczność:a) do 15 dni przed startem można zrezygnować
b) podczas zajęć można:
- przejść z trybu stacjonarnego na zdalny
- ze zdalnego na stacjonarny
- w razie potrzeby otrzymać nagrania z zajęć
- zawiesić uczestnictwo i dokończyć później
(w miarę dostępności miejsc)
-
Miejsce:Warszawa, Kraków lub
Zdalnie (online na żywo z trenerem i grupą)
Inne opcje nauki
Kurs (poziom 2):
Python Developer II - backendInny Kurs:
Analiza danych w Pythonie AI i GPT w codziennej pracy Tester oprogramowaniaChcesz się nauczyć Pythona?
Tak, to tutaj! Ten bootcamp programistyczny – czyli solidny, intensywny trening od podstaw – nauczy Cię języka Python oraz pokaże czym w ogóle jest programowanie. Python jest powszechnie uważany za jeden z najbardziej intuicyjnych i najłatwiejszych do nauki języków programowania. Jednocześnie popularne powiedzenie “easy to learn, hard to master” doskonale oddaje jego naturę: za przystępnymi podstawami kryją się dalsze szczegóły i możliwości, z których skorzystają bardziej zaawansowani deweloperzy, więc na każdym poziomie zaawansowania jest co odkrywać. Dlatego kurs Python warto odbyć pod kierunkiem doświadczonych trenerów ALX, który kompleksowo przechodzi przez wszystkie istotne tematy.
Python to język niezwykle uniwersalny, który można wykorzystać do tworzenia dowolnego typu aplikacji, od prostych „skryptów” automatyzujących pobieranie danych czy operacje na plikach, poprzez wtyczki do gier i wielu narzędzi, aż do całkiem rozbudowanych serwisów webowych. Obecnie niezwykłą popularnością cieszą się „analityczne” zastosowania Pythona związane z big data, statystyką, obliczeniami naukowymi i inżynierskimi czy wreszcie sztuczną inteligencją (AI) i uczeniem maszynowym. Pythona z założenia może nauczyć się każdy! Ale uprzedzamy, że nie będzie tak prosto - przychodząc na nasz bootcamp musisz liczyć się z wieloma godzinami wytężonej pracy i nauki (również w domu).
Opcje nauki
Właśnie ze względu na różne możliwe zastosowania Pythona, u nas sami możecie zdecydować na jaki wymiar kursu się zapisać i w jakim kierunku się rozwijać. Pakiet Standard to solidny kurs języka Python oraz ogólnych zasad programowania. Kurs obejmuje 80 godzin zajęć z trenerem oraz 40 godzin samodzielnego rozwiązywania zadań. Z naszego doświadczenia wynika, że właśnie tyle potrzeba większości kursantek i kursantów, aby opanować umiejętność samodzielnego pisania „zwykłych programów” typu pytanie-odpowiedź, operujących na plikach czy pobierających dane z sieci. Na standardowej wersji kursu dowiesz się co to jest Django (w aplikacjach WWW) czy też Pandas (w analizie danych) i poznasz ich podstawy, ale nie będzie wystarczająco czasu na uczenie się szczegółów tych technologii.
Pakiety XL są rozszerzeniem kursu podstawowego o naukę technologii stosowanych w większych, zawodowych projektach opartych o Pythona. Ale podobnie jak prawnicy czy lekarze; podobnie jak studenci wielu kierunków na ostatnim etapie nauki, tak i tu możesz wybrać specjalizację na drugi etap nauki. Pakiet XL Backend to dalsza nauka klasycznego programowania, ze szczególnym uwzględnieniem technologii Django i możliwości tworzenia serwisów internetowych, także z wykorzystaniem baz danych i różnych zaawansowanych elementów języka Python. Wychodzimy tu także poza składnię Pythona, pokazujemy wiele narzędzi i praktyk stosowanych w projektach IT jak np. TDD; tworzymy złożone systemy internetowe w Django, poznajemy ORM, czy też model REST, przyglądamy się deploymentowi aplikacji w środowisku produkcyjnym. Wybierz tę ścieżkę, jeśli myślisz o karierze programisty, tworzeniu własnych aplikacji lub pracy w projektach, o nauce w przyszłości innych języków programowania.
Pakiet XL Analityczny to z kolei nauka języka Python wraz z jego zaawansowanymi zastosowaniami w zakresie analizy danych, obliczeń, uczenia maszynowego (ML) i sztucznej inteligencji (AI). Środowisko Anaconda / Jupyter, biblioteki programistyczne takie jak Pandas, Numpy. Zobaczysz tu jak pozyskiwać i przygotowywać dane, poznasz analizę i wnioskowanie statystyczne, predykcje, klasyfikację - do uczenia maszynowego (różne metody i modele) i uczenia głębokiego (wraz z nowoczesnymi narzędziami jak Keras, TensorFlow czy PyTorch). Wraz z wybranymi zaawansowanymi elementami samego języka Python pozwolą Tobie lub Twojej firmie szybko i sprawnie przetwarzać nawet ogromne ilości danych i automatycznie robić z nich użytek dzięki możliwościom języka Python.
Pamiętaj, że w razie wszelkich wątpliwości co do wyboru pakietu możesz do nas zadzwonić lub napisać maila, a nasi doradcy chętnie Ci pomogą.
Wybierz swój pakiet kursu Python
Co zawiera pakiet?
- Kompletny kurs Python
- Nauka technik programowania
- Narzędzia pracy dewelopera
- Klasyczne przetwarzanie danych: pętle, kolekcje, algorytmy
- Perełki Pythona: regex, slicing, list comprehentions
- Praktyczne zastosowania: automatyzacja, praca z plikami
- Pobieranie danych z sieci (HTML, JSON)
- Podstawy interfejsu użytkownika (GUI)
- Rzut oka na Django oraz Pandas
Co zawiera pakiet?
- Całość pakietu Standard
- Zaawansowane elementy Pythona
- Tworzenie aplikacji webowych
- Framework Django
- Modele i bazy danych
- Usługi REST: serwer i klient
- Wdrożenie produkcyjne (deployment)
A w wersji analitycznej
- Środowisko Jupyter i pakiet Anaconda
- Obliczenia naukowe (Numpy, Scipy)
- Analiza danych (Pandas)
- Uczenie maszynowe (teoria i biblioteki)
- AI, sieci neuronowe
- Większa liczba godzin: 176 + 88 = 264h, cena 9490 PLN
Czym cechują się nasze zajęcia?
Stawiamy na praktykę i ćwiczenia już od pierwszych godzin. Zajęcia polegają głównie na pisaniu programów pod kierunkiem prowadzących. Przykłady pisane wspólnie, ćwiczenia rozwiązywane indywidualnie, zadania i projekty wykonywane „w domu”. Wszystko możesz skonsultować, o wszystko możesz zapytać prowadzących – w tym kurs jest lepszy niż samodzielna nauka z książek i materiałów internetowych. Teoria? Zaskoczymy Cię: teoria jest ważna, ale można ją pokazać na przykładach!
Nasi trenerzy są przede wszystkim doświadczonymi programistami, którzy już wiedzą, jakie umiejętności są najważniejsze w pracy, jakie technologie są obecnie cenione w branży, na czym polega praca programisty na różnych etapach. Ale to nie wszystko! Nie każdy dobry programista będzie dobrym dydaktykiem, a podczas nauki od podstaw jest to niezwykle ważne. Dlatego nie bierzemy osób z przypadku, lecz mamy stabilną, sprawdzoną kadrę trenerską, dobrze ocenianą przez naszych kursantów.
Budujemy dom od fundamentów. W zalewie online'owych kursów i tutoriali „jak w 5 minut zostać programistą” my chcemy postawić sprawę jasno: Nie wystarczy przepisać bez zrozumienia kilkudziesięciu linii kodu, aby uznać się za programistę. My nie tylko powiemy Ci co napisać, ale także wytłumaczymy co to znaczy, dlaczego należy pisać właśnie tak, dlaczego inaczej byłoby źle. Naszym celem jest zaszczepić w Tobie konkretne umiejętności i powtarzając pewne schematy sprawić, by niektóre rzeczy stały się wręcz odruchowe. Byś niezależnie od wykształcenia i dotychczasowych doświadczeń mogła/mógł odnaleźć się w świecie IT i działać od początku profesjonalnie. Mając dobrze opanowane podstawy, będziesz w stanie używać wszelkich technologii, znacznie łatwiej uczyć się kolejnych języków programowania i podążać za zmianami tej dynamicznie rozwijającej się branży.
Dla chętnych, prowadzimy też dodatkowe warsztaty HR, które mogą pomóc osobom poszukującym (szczególnie tej pierwszej) pracy w IT odpowiednio przygotować się do procesu rekrutacji.
Python bootcamp. Czyli jak uczymy?
Uczymy metodą bootcampu. Słowo “bootcamp” pochodzi z armii amerykańskiej i oznacza ekstremalny trening, który z rekrutów robi prawdziwych wojskowych - zdolnych od razu do walki. Bootcampy programistyczne to intensywne, nastawione na praktykę programy kształcenia. Kursantów czeka wiele godzin wytężonej pracy. Kończąc nasz Python bootcamp jesteś gotowym do pracy (ale też dalszej nauki) młodszym programistą.
-
Stawiamy na małe grupy i luźną atmosferę!
Nasze kursy prowadzimy stacjonarnie w największych miastach w Polsce. Zajęcia mogą być prowadzone w trybie hybrydowym (część osób w sali, część w trybie zdalnym), możesz więc brać udział w kursie nawet, jeśli trudno Ci dojeżdżać. Przez cały czas trwania kursu pracujesz w małej grupie - dokładnie tak jak w szkołach języków obcych. W ten sposób uczysz się szybciej, ale też przygotujesz się do pracy zespołowej - bo przecież programista nie pracuje na bezludnej wyspie - musisz umieć współdziałać w teamie! - Stawiamy na praktykę - i kontakt z trenerem! Brak nudnych wykładów - u nas uczysz się tylko praktycznych rzeczy - nasz kurs to bardziej warsztaty niż wykłady, które znasz ze studiów. Przez cały czas jest przy Tobie trener, którego w każdej chwili możesz zapytać i poprosić o pomoc. Wiemy z doświadczenia, że sama teoria nigdy nie wystarczy. Żeby zawodowo programować, trzeba mieć konkretne umiejętności praktyczne - wtedy stajesz się atrakcyjnym kandydatem na rynku pracy.
-
Uczymy nie tylko języka
Każdy kto myśli o karierze programisty musi wiedzieć, że programowanie nie sprowadza się tylko do znajomości języka programowania. Programowanie - to sposób myślenia, to także stosowanie technologii informatycznych, umiejętność sprawnego poruszania się w środowisku IT. Jak to uzyskać? Odpowiedź jest jedna: praktyka, dużo praktyki - czyli po prostu pisanie kodu!
Wyszkoliliśmy ponad 7 000 osób w różnych językach programowania – dla wielu z nich nasze kursy są to pierwszy krok do rozwoju ścieżki kariery.
Nauka w domu
Kurs programowania Python jest organizowany w trybie dziennym oraz zaocznym (weekendowym). W obu przypadkach pomiędzy blokami zajęć jest przerwa - tydzień lub 2 tygodnie. Przerwa jest potrzebna na trening w domu, utrwalenie wiadomości i ćwiczenia. Od swojego trenera otrzymasz odpowiednio przygotowane materiały do nauki w domu oraz zadania, do których musisz się przyłożyć. Duża ilość ćwiczeń sprawi, że utrwalisz zdobytą wiedzę i bardzo szybko opanujesz technologię.
Jeśli masz problem z zadaniem - zawsze możesz skontaktować się ze swoim trenerem.
Ile zarabia programista Python?
Zapotrzebowanie na programistów zwiększa się z każdym rokiem - obecnie w Polsce brakuje ponad 50 tysięcy programistów*. Olbrzymie braki kadrowe są spowodowane tym, że mamy coraz większe zapotrzebowanie na nowe technologie, sprawnie działające aplikacje, profesjonalne serwisy internetowe i programy usprawniające pracę przedsiębiorstw. Bez wątpienia - zawód programisty to zajęcie przyszłościowe - bo przecież rośnie nam pokolenie tabletów i telefonów - oraz dochodowe! Jeśli przyłożysz się do nauki to z pewnością będziesz pracować jako programista w branży która bardzo dba o swoich pracowników.
Jaka jest popularność Pythona?
Według rankingu TIOBE Python znajduje się na 5 miejscu pod względem ilości zapytań w najważniejszych wyszukiwarkach internetowych i zakłada się, że jego popularność nadal będzie rosła, gdyż w ciągu ostatnich 5 lat miał on największy wskaźnik wzrostu (dokładnie 6,8%, dla przykładu PHP ma -5,0%).
Czy nadaję się na programistę?
„Nie wiem czy nadaję się do programowania. Jestem słaby z matematyki.”
Takie stwierdzenie słyszeliśmy w ALX wiele razy.
Zawsze odpowiadamy: nie, nie trzeba być dobrym z matmy, żeby programować. Sami znamy programistów, którzy nie mają wykształcenia informatycznego czy matematycznego, a kodują lepiej niż osoby po studiach informatycznych. Umiejętności i praktyka są bardziej istotne niż dyplom uczelni (co nie znaczy, że studia z założenia są złe – tego nie twierdzimy, a nasi trenerzy na ogół są inżynierami, magistrami lub nawet doktorami; po prostu nie jest to konieczne, a umiejętności zweryfikowane w praktyce są ważniejsze niż papierek). Nawiasem mówiąc, na nasze kursy Python i nie tylko dość często przychodzą studenci lub świeży absolwenci, aby poznać praktykę programowania w danym języku, której na ich uczelni było zbyt mało.
Programowanie to sposób myślenia - już kilka pierwszych godzin kursu i pierwsze własne linie kodu - pozwolą Ci zrozumieć, że programista musi mieć bardzo jasne i klarowne podejście do rozwiązania każdego problemu, musi być poukładany - i mieć zdolność analitycznego myślenia. Dużo zależy od Twoich predyspozycji - jeśli masz umysł analityczny, lubisz rozwiązywać logiczne łamigłówki, liczby nie sprawiają Ci przykrości i jesteś zmotywowany/a - możesz zostać świetnym programistą. To, co bardzo pomaga, to umiejętność wyobrażenia sobie tego, co dzieje się w pamięci komputera, co robi program. Ale bez obaw, nie trzeba być zakręconym nerdem żyjącym w świecie zer i jedynek. Wbrew stereotypom, znakomita większość programistów to zupełnie normalni ludzie ;-)
Czy zagwarantujecie mi, że zostanę zawodowym programistą?
Nie i naszym zdaniem nikt nie powinien takich prostych obietnic czynić. My często porównujemy naukę programowania do nauki języka obcego czy nauki gry na instrumencie. Niezwykle ważny jest właściwy nauczyciel i dobre warunki nauki – to zapewniamy Ci w ALX – ale o efekcie końcowym decyduje jeszcze kombinacja wrodzonego (choć nie zawsze odkrytego) talentu i włożonej własnej pracy.
Możesz mieć pewność, że po naszym kursie programowania Python będziesz wiedzieć na czym programowanie polega, „czym to się je”, znać różne techniki i (szczególnie po wersji XL) technologie, których używa się w przemyśle IT. Z pewnością będziesz w stanie napisać samodzielnie mniej lub bardziej złożone programy. Ale ostatecznie to Ty, po doświadczeniu udziału w kursie, musisz odpowiedzieć sobie na pytanie czy programowanie sprawia Ci frajdę. Bo dobry programista, to tylko taki, który po prostu lubi pisać programy.
Od licznych byłych kursantów otrzymujemy informacje o ich dalszym rozwoju jako programistów. Pamiętaj jednak o tym, że branża IT jest ogromna i pracują w niej nie tylko programiści sensu stricte. Istnieje wiele innych ról: analitycy, projektanci, testerzy, administratorzy i wdrożeniowcy. Oprócz stanowisk technicznych, istnieje też mnóstwo takich, gdzie wymagane są kompetencje „miękkie”, interpersonalne: liderzy i menedżerowie projektów, opiekunowie produktów, trenerzy… Na każdym z tych stanowisk warto znać chociaż podstawy programowania, więc tak czy inaczej umiejętności wyniesione z tego kursu zaprocentują.
Python jako pierwszy język programowania?
Tak! To doskonały plan. Przeczytaj dlaczego…
Jeżeli chcesz zacząć karierę programistyczną, to Python jest
idealnym językiem na początek tej drogi. Jest wszechstronny,
intuicyjny i prosty w nauce. Wiele osób, które rozważa naukę
programowania, czy to samodzielnie za pomocą tutoriali
i e-booków, czy na studiach informatycznych czy też na kursie
programowania - zadaje zawsze te same pytania.
Kod Pythona jest czytelniejszy od kodu innych języków i co najważniejsze wymaga mniej pisania - aby wyrazić tę samą logikę, w Pythonie trzeba napisać mniej kodu, niż np. w Javie. Krótszy kod to mniejsze ryzyko popełnienia błędów oraz tańsze utrzymanie kodu. Python jest dobrze zaprojektowany - przejrzysty i spójny. Wielu początkujących programistów chwali sobie naukę Pythona, gdyż stosunkowo łatwo się go zapamiętuje i w razie problemów można łatwo odnaleźć błąd czy odszukać potrzebną funkcję.
Kto zazwyczaj przychodzi na kurs Python?
Osoby, które chcą zacząć karierę w IT i zostać młodszym programistą - od zera.
Uczymy nie tylko języka programowania - my uczymy myśleć jak programista!
Bootcamp Python został przygotowany dla osób zupełnie początkujących, które nie miały wcześniej styczności z programowaniem, a chcą zacząć karierę młodszego programisty.
Większość absolwentów tego kursu to osoby bez wykształcenia technicznego. Wystarczy, że potrafisz posługiwać się komputerem - czyli kopiować pliki, tworzyć foldery, sprawnie pisać na klawiaturze. Każdy kto myśli o karierze programisty musi wiedzieć, że programowanie nie sprowadza się tylko do znajomości języka programowania. Programowanie - to sposób myślenia, to przede wszystkim poznanie pojęć i technologii informatycznych, umiejętność sprawnego poruszania się w środowisku IT oraz praktyka, dużo praktyki - czyli po prostu pisanie kodu!
Analitycy, którzy potrzebują usprawnić i przyspieszyć swoją pracę.
Analitycy, dla których Excel nie jest wystarczającym narzędziem.
Wielu uczestników tego kursu to pracownicy banków, firm ubezpieczeniowych, przedsiębiorstw handlowych czy usługowych, branży telekomunikacyjnej i firm z branży IT. Managerowie potrzebujący wyciągać wnioski, doświadczeni analitycy, którzy codziennie przetwarzają ogromne ilości danych - tworzą modele i prognozy, od których często zależą losy przedsiębiorstw. Stopień zaawansowania tej pracy zbliża ich do pracy inżyniera. Umiejętność programowania i automatyzacji pracy jest więc czymś naturalnym na ścieżce kariery takich osób.
W związku z eksplozją ilości danych cyfrowych - w obecnych czasach nie wystarczy żeby analityk potrafił przetwarzać ogromne ilości danych - równie ważnym jest żeby robił to bardzo sprawnie i to w sposób optymalny - umiejętnie wykorzystując dostępne na rynku technologie!
Nauka języka programowania jest dla analityka - strzałem w dziesiątkę!
Python jest otwartym i elastycznym językiem programowania, który ma olbrzymi wachlarz zaawansowanych narzędzi i bibliotek analitycznych. Znajomość Pythona przez analityka pozwala mu na wykonywanie bardzo skomplikowanych analiz szybciej i łatwiej. Umożliwia mu wykorzystanie gotowych bibliotek do swoich analiz - a to oznacza szybszą, bardziej wydajną pracę.Trener, który prowadzi ten bootcamp ma wieloletnie doświadczenie zawodowe. Jest to osoba cały czas aktywna zawodowo - pracuje z użyciem języka Python. Błyskawiczny rozwój nowych technologii sprawia - że tylko osoba pracująca w zawodzie jest w stanie przekazać na szkoleniu najbardziej aktualną wiedzę i metody jej wykorzystania w praktyce.
Zalety Pythona dla analityka:
- Python jest bezpłatny (w przeciwieństwie do narzędzi takich jak Matlab)
- Python przybliża pracę analityka do pracy programisty.
- Pozwala na całkowitą automatyzację pracy - doskonale rozszerza możliwości jakie daje Excel.
- Jest popularny, dostępny i znany na całym świecie.
- Jest prosty, dzięki czemu po tym szkoleniu każdy analityk będzie mógł wykorzystać w pracy zdobytą wiedzę niemal od razu.
Wyślij na szkolenie cały dział analityczny.
Mamy duże doświadczenie w szkoleniach dla działów analitycznych. Szkoląc grupę analityków z danej firmy przygotowujemy program warsztatów praktycznych pod konkretną branżę, tak aby uczestnicy mogli wynieść ze szkolenia jak najwięcej.
Takie szkolenie znacząco rozszerza możliwości Twojego zespołu analitycznego. Umiejętność posługiwania się językiem programowania Python wielokrotnie zwiększy tempo dostarczania zaawansowanych analiz oraz poprawi ich jakość.
Webmasterzy, którzy chcą sprawnie tworzyć nowoczesne aplikacje WWW
Python znalazł zastosowanie przy efektywnym i szybkim tworzeniu nowoczesnych serwisów internetowych, bogatych w funkcjonalności. Tworzenie dynamicznych stron internetowych jest bardzo łatwe i efektywne dzięki bardzo dobrym frameworkom takim jak np. Django. Dzięki wszechstronnej kolekcji modułów i bibliotek serwisy napisane w Pythonie oferują ogrom możliwości. Django znane jest m.in. z automatycznie generowanych paneli administracyjnych, które stosuje się m.in. w serwisach zarządzania treściami.
Uczymy Django!
Tutaj poznasz nowoczesny framework do tworzenia aplikacji webowych.
- Szybkość
- Minimalna ilość kodu
- Przejrzysta struktura
Django jest idealnym wyborem dla osób stawiających swoje pierwsze kroki w pisaniu aplikacji webowych. Jest
otwartym i bezpłatnym frameworkiem, dzięki któremu można stworzyć eleganckie i nowoczesne serwisy. Zapewnia
automatyczny interfejs administracyjny, ładne adresy URL i znakomicie przemyślany system szablonów. Powstał
w
2003 roku na potrzeby portalu z newsami “Lawrence Journal-World”. Wymagania środowiska dziennikarskiego są
ogromne a Django spełniał je w 100%: był prosty w użyciu i pozwalał tworzyć gotowe aplikacje w bardzo
krótkim
czasie.
Pinterest, Instagram, The Washington Times - używają Django.
Program kursu programowania Python
Środowisko programistyczne i przybornik każdego programisty (czyli podstawowe zagadnienia z programowania)
Programowanie w Pythonie (biblioteki, struktury danych, funkcje)
Obsługa formatu JSON (uniwersalny dla wielu języków programistycznych format wymiany danych)
Aplikacje z graficznym interfejsem użytkownika
Praca z danymi
Framework Django
Obliczenia naukowe
Posłuchaj jednego z naszych trenerów
Jan prowadzi szkolenia w języku polskim i angielskim. Bootcamp Python jest prowadzony w języku polskim.
Podstaw programowania uczymy również młodzież (od 13 roku życia). Umiejętność programowania to samodzielność i szansa na szybki rozwój młodego człowieka - to "must have” w dzisiejszym świecie.
Program szkolenia
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)