Kurs Wprowadzenie do programowania

seria bezpłatnych lekcji na żywo!

Wprowadzenie do programowania_python.png

tryb zdalny | 21 godzin13 lekcji

"Wprowadzenie do programowania" to kurs w formie cyklu darmowych webinarów, która pozwoli Ci na nabycie solidnych podstaw w zakresie programowania. Niezależnie od tego czy Twoim celem jest zdobycie nowej pracy, ułatwienie sobie życia poprzez automatyzację czy rozpoczęcie nowego, interesującego hobby ten kurs będzie świetnym początkiem przygody z programowaniem.

Jaki język wybraliśmy? Wybór padł na Pythona, ponieważ  jest to jeden  z najłatwiejszych, a zarazem najbardziej uniwersalnych języków. Dzięki prostej składni oraz byciu językiem wysokopoziomowym (czyli odwoływaniu się do wyższego poziomu abstrakcji i braku potrzeby zarządzania detalami związanymi z fizycznym sprzętem takimi jak np. adresowaniem pamięci) będziesz w stanie w krótkim czasie poznać go na tyle, aby napisać prostą aplikację i z łatwością udostępnić ją w Internecie używając frameworka Flask.

Czeka Cię unikatowe połączenie dwóch odmiennych spojrzeń na sztukę programowania  za sprawą doświadczeń prowadzących - doktoranta Uniwersytetu Wrocławskiego, fascynata programowania (szczególnie funkcyjnego) z zacięciem naukowym oraz wieloletniego praktyka DevOps. Dzięki temu poznasz zarówno (często niesłusznie pomijane) akademickie podstawy programowania jak i aktualne trendy w pracy zespołu tworzącego aplikacje. 

Kurs skierowany jest dla początkujących - nie wymagamy wcześniejszego doświadczenia z branżą IT.

Dlaczego warto dołączyć do kursu?

  • Dowiesz się nie tylko jak, ale i dlaczego działa napisany przez Ciebie kod.

  • Posiądziesz ogólną wiedzę, która pozwoli Ci na samodzielny wybór, jaką drogą podążyć. Niezależnie czy zdecydujesz się w przyszłości na rozwój w kierunku frontend lub backend developera, czy np. programisty gier, wiedza nabyta podczas tego kursu będzie dla Ciebie użyteczna. 

  • Oprócz solidnej dawki teorii zobaczysz również praktyczne przykłady.​

Szczegóły

klepsydra2.png

Ilość godzin: 21

panda.png

Jak dołączyć do spotkań? Za pomocą aplikacji Zoom (https://zoom.us/) lub bezpośrednio z poziomu przeglądarki

books.png

Prowadzący: kurs w całości prowadzony przez aktywnych, branżowych praktyków z doświadczeniem w nauczaniu

marker.png

Forma spotkań: wideokonferencja na platformie Zoom

dyskietka.png

Zapisy: bezpłatne, obowiązuje rezerwacja miejsc - wystarczy zapisać się raz, żeby otrzymać dostęp do kolejnych części (link do lekcji będzie za każdym razem ten sam!)

Kto poprowadzi kurs?

Tomasz Drab.jpg

Tomasz Drab
Doktorant Uniwersytetu Wrocławskiego, Programista Python

Programista z wieloletnim doświadczeniem. Doktorant na Uniwersytecie Wrocławskim, gdzie bierze udział w badaniach związanych z programowaniem funkcyjnym i rachunkiem lambda. Od dawna zainteresowany metodami przekazywania wiedzy ze szczególnym uwzględnieniem przedmiotów ścisłych.

Krzysztof_S.jpg

Krzysztof Stawik

Senior DevOps, współzałożyciel Panda Academy

Współtwórca i prowadzący kursów o tematyce DevOps. Przed dekadą porzucił zawód akustyka aby zgłębiać tajniki wiedzy IT. Zawodowo realizuje się na dwóch frontach: oprócz Pandy pracuje jako Senior DevOps w dużej, międzynarodowej korporacji, gdzie zajmuje się prowadzeniem drużyny DevOpsów w pełnym spektrum - od architektury rozwiązań do kompletowania zespołu.  Pełnoetatowy tata.

Zagadnienia i harmonogram

Lekcja 1

  • nauczymy się rozmawiać z REPLem (https://pl.wikipedia.org/wiki/REPL)

  • poznamy wyrażenie warunkowe (if-else)

  • zobaczymy, czym są i jak definiować funkcje

  • omówimy regułę DRY

Lekcja 2

  • poznamy standardowe kolekcje: listy, teksty, krotki, zbiory, wielozbiory, słowniki

  • poćwiczymy funkcje działające na nich (m.in. wycinanie, formatowanie napisów, sumy)

  • omówimy reprezentację danych graficznych i dźwiękowych

  • zobaczymy, jak z funkcji zwrócić wiele wartości lub nie zwrócić żadnej

Lekcja 3

Tym razem odejdziemy trochę od czystego programowania i dowiemy się w jaki sposób działają aplikacje:

  • dowiemy się jak zbudowany jest komputer oraz czym różni się Twój laptop od urządzeń odpowiedzialnych za działanie np. Netflixa czy Facebooka

  • opowiemy czym jest sieć komputerowa oraz jak działa Internet

  • poznamy najważniejsze systemy operacyjne oraz podstawowe różnice pomiędzy nimi

  • odpowiemy na pytanie w jaki sposób zbudowana jest aplikacja? Pojawią się tu terminy takie jak bazy danych czy serwery aplikacyjne

Lekcja 4

  • pomówimy o kosztach obliczeń, czyli o tym, że potrzebują czasu i miejsca

  • doświadczymy dreszczu obcowania ze wzrostem wykładniczym

  • nauczymy się wykorzystywać lokalnie zdefiniowane nazwy

  • zobaczymy, jak rekurencja ogonowa umożliwia iterację (powtarzanie)

Lekcja 5

  • dowiemy się, jak działają funkcje map, filter, range, sum i zip

  • poznamy notację list składanych (ang. list comprehension)

  • omówimy regułę KISS

  • podsumujemy zyskujący na popularności paradygmat programowania, jakim jest programowanie funkcyjne

Lekcja 6

Po raz kolejny odejdziemy na chwilę od tematu czystego kodowania i spojrzymy na proces powstawania aplikacji. Dowiemy się, kto stoi za etapami jej projektowania, tworzenia oraz utrzymania. Opowiemy o tym, czym różnią się poszczególne role oraz jak wyglądają ich codzienne zadania.

Lekcja 7

  • poznamy instrukcje pętli while i for

  • dowiemy się, jak działają generatory i iteratory

  • omówimy działanie na pamięci losowego dostępu (RAM) i tablic

  • nauczymy się, jak obsługiwać błędy i wyjątki

Lekcja 8

  • omówimy działanie dekoratorów

  • poznamy więcej efektów obliczeniowych, w tym (pseudo-)losowość

  • nauczymy się czytać i zapisywać do plików

Lekcja 9

  • zajmiemy się programowaniem obiektowym

  • porozmawiamy o klasach, metodach, dziedziczeniu, interfejsach i hermetyzacji

  • omówimy pythonową instrukcję with

  • zaimplementujemy własną klasę z wieloma metodami specjalnymi

Lekcja 10

Po raz ostatni odejdziemy od tematu kodowania i przyjrzymy się działaniu zespołu tworzącego aplikacje:

  • dowiemy się w jaki sposób organizowana jest praca w nowoczesnym zespole - będzie o Agile, Scrum oraz Kanban

  • poznamy techniki pozwalające na zwiększenie efektywności pracy programistów oraz zespołu

  • omówimy narzędzia wspomagające programistę, które naszym zdaniem powinien znać każdy twórca kodu

Lekcja 11

  • poznamy różnicę pomiędzy architekturą mikroserwisów a monolityczną 

  • dowiemy się jak komunikują się między sobą aplikacje przy pomocy REST API

  • rozpoczniemy naszą przygodę z frameworkiem FLASK, pozwalającym na udostępnienie naszej aplikacji w internecie

Lekcja 12

  • nauczymy się korzystać z wbudowanej pomocy Pythona (dir, help)

  • poznamy testy jednostkowe (na przykładzie doctest) i asercje oraz przećwiczymy rozwój sterowany testami (ang. test-driven development)

  • zobaczymy przykłady linterów służących zachowaniu standardów (flake8) i poprawności statycznego typowania (mypy)

  • omówimy zagadnienie kompilacji kodu

Lekcja 13

Podczas finałowej lekcji stworzymy aplikację imitującą architekturę mikroserwisów we frameworku FLASK. Składać się będzie ona z części frontendowej i backendowej, komunikujących się poprzez REST API. Na zakończenie pokażemy możliwości dalszego rozwijania stworzonej aplikacji.

warsztat python.png

Brzmi ciekawie? Dołącz do kursu!

 

Co przygotowaliśmy w ramach kursu?

  • Zajęcia w formie lekcji na żywo 

  • Wsparcie doświadczonych mentorów

  • Autorskie materiały szkoleniowe w postaci prezentacji

  • Dostęp do dedykowanego kanału w komunikatorze Discord

Cykl spotkań na żywo dobiegł końca - jednak nie martw się! Wszystkie lekcje opublikowaliśmy na naszym kanale YouTube, do którego dostęp znajdziesz poniżej:

YouTube.png
Discord.png

Wpadnij też na pandowy serwer Discord. Znajdziesz tam m.in. kanał #kurs-programowanie, przeznaczony na tematy programistyczne - nie tylko te ściśle związane z lekcjami!

transformacja DevOps 3.png

Szkolenie "Wprowadzenie do programowania" jest częścią ścieżki inżyniera DevOps - stanowią prework kursu DevOps Core z zakresu podstaw programowania!