Kurs Wprowadzenie do programowania
seria bezpłatnych lekcji na żywo!
tryb zdalny | 21 godzin | 13 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
Ilość godzin: 21
Prowadzący: kurs w całości prowadzony przez aktywnych, branżowych praktyków z doświadczeniem w nauczaniu
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
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 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.
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:
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!