PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak...

18
PROGRAMATOR Fiszka marketingowa

Transcript of PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak...

Page 1: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR Fiszka marketingowa

Page 2: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

NAZWA AKREDYTOWANEGO ORGANIZATORA KSZTAŁCENIA Connectis Sp. z o.o. – C_school OFERTA Ścieżka Miasto Kursy stacjonarne Kursy – blended learning

Tak/Nie Cena Organizacja kształcenia Tak/Nie Cena Organizacja kształcenia Wieczorowe Dzienne Weekendowe Wieczorowe Dzienne Weekendowe

JAVA WEB

Warszawa tak 15000 x x x

Katowice tak 15000 x x x Full Stack Developer React/Node js

Warszawa tak 14000 x x x

Ścieżka Zdalne moderowane

JAVA Web Tak/nie Cena Organizacja kształcenia tak 15000 Wieczorowe/weekendowe

Page 3: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

1

Naszym celem jest pomoc obiecującym i zaangażowanym osobom w zdobyciu profesjonalnych kompetencji programistycznych. Wierzymy, że potencjał może być wszędzie, ale nie każdy otrzymuje szansę na to, aby go wykorzystać. Dlatego misją Connectis jest rozwój poprzez budowanie społeczności deweloperów. Dążymy do tego, aby stać się liderem szybkich zmian technologicznych, zapewniając dedykowane zespoły IT, łączące doświadczonych programistów z odpowiednio przygotowanymi młodszymi developerami. Wykorzystujemy program nauczania, który opiera się na koncepcji uczenia w formule blended learning pozwalającej na znaczną indywidualizację procesu kształcenia. Koncepcja ta została opracowana na bazie wieloletnich doświadczeń w pracy z doświadczonymi programistami oraz przygotowywaniu osób dopiero startujących w świecie IT do szybkiego wejścia na rynek pracy. Program pozwala zarówno na rozszerzenie wiedzy ponad standardowy plan kształcenia osobom, które szybciej chcą się rozwijać jak i uzupełnienie wiedzy tym, którzy startując w programie mają nieco mniejsze umiejętności. Uczestnicy odkrywają programowanie poprzez rozwiązywanie problemów o coraz większym stopniu złożoności. Opieka naszych mentorów pozwala na znacznie szybsze przyswajanie wiedzy i bieżące rozwiązywanie problemów. Stawiamy też na nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. Na potrzeby PROGRAMATORA, we współpracy z najbardziej doświadczonymi trenerami, utworzyliśmy unikatowy program łączący tradycyjną edukację z trenerem z nauką na platformie. Nasze doświadczenie we wprowadzaniu młodych programistów na rynek pracy w znacznym stopniu zwiększają szansę na szybkie znalezienie pracy po zakończeniu ścieżki. Tylko w zeszłym roku 87% naszych absolwentów znalazło zatrudnienie w projektach u naszych klientów. Jak wyglądają szkolenia? Nauka realizowana będzie w formie:

• Warsztatów prowadzonych w formie stacjonarnej z wykorzystaniem platformy w grupach maksymalnie 12 osobowych pod nadzorem trenerów i moderatorów.

• Samodzielnej (lub z innymi uczestnikami) pracy na platformie.

Page 4: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

2

• Zadań do wykonania na platformie edukacyjnej ze wsparciem moderatorów. • Konsultacji z mentorami i trenerami (oprócz konsultacji zdalnych możliwe są też konsultacje w formule stacjonarnej).

Nacisk kładziemy na praktykę. Ścieżkę realizujemy w formule blended learning łącząc zajęcia warsztatowe ze szkoleniem peer-to-peer na naszej autorskiej platformie edukacyjnej, gdzie kształcenie opiera się na wspólnym uczeniu się przez uczestników wspieranych konsultacjami moderatorów. Dzięki temu uczestnik otrzymuje pełen zakres szkoleniowy, który jest skoncentrowany, a przez to wydajny. Wybrane zajęcia prowadzone są stacjonarnie, w formie warsztatów realizowanych z wykorzystaniem platformy edukacyjnej. 12-osobowe grupy, zapewniają największy komfort nauki w formule pracy zespołowej oraz dają możliwość realizowania ćwiczeń w mikrozespołach, stanowiących świetną symulację pracy w zespołach Scrumowych. Kurs oparty jest o program, w którym każdy etap nauki daje możliwość zweryfikowania dotychczas zdobytych umiejętności. Poprzez systematyczne podwyższanie własnych kompetencji na naszej platformie, każdy uczestnik będzie mógł na bieżąco śledzić postępy w nauce oraz poziom uzyskanych kompetencji. Nasza ścieżka jest dedykowana osobom, które chcą uczyć się w sposób elastyczny, z wykorzystaniem platformy edukacyjnej, w ramach której oferujemy między innymi:

• Dostęp przez 7 dni w tygodniu. • Dobrze zaplanowaną ścieżkę, pozwalającą na sprawdzanie wiedzy uczestnika na każdym etapie szkolenia i elastyczny dobór zadań/materiałów

w zależności od postępów – grupa podąża ścieżką uzyskując dostęp do opracowanych przez nas materiałów w postaci plików tekstowych oraz graficznych, testów oraz zadań praktycznych, umożliwiających zweryfikowanie dotychczas zdobytych umiejętności w domu. Dzięki temu uczestnik ma stały dostęp do pomocy naukowych i może samodzielnie stworzyć swój harmonogram pracy własnej i kontrolować postępy.

• Naukę pracy zespołowej. • Dodatkowe narzędzia wspierające pracę zespołową i rozwijanie kompetencji samokształceniowych:. uczestnicy uczą się od siebie nawzajem, szukają

wiedzy i dzielą się nią. Umiejętności samodzielnego rozwiązywania problemów oraz poszukiwania źródeł wsparcia są bardzo istotnymi kompetencjami wykorzystywanymi w praktyce w zawodzie programisty.

Czy to będzie tylko programowanie? Praca programisty to nie tylko pisanie linijek kodu - po zakończeniu nauki programowania, organizujemy szkolenie z kompetencji miękkich (stacjonarnie). Obejmuje ono metodyki zwinne, metodyki szybkie (wczesne prototypowanie), rolę w zespole programistycznym, wzorce projektowe oraz narzędzia pracy grupowej. Szkolenie to poszerzy umiejętności komunikacyjne uczestników. Przygotuje do pracy zespołowej oraz sprawnej i skutecznej współpracy.

Page 5: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

3

Co się dzieje po ukończeniu kursu? Znalezienie pracy jest kluczową częścią ścieżki edukacyjnej. Ukończenie kursu daje dostęp do miejsc pracy w świecie IT u naszych firm partnerskich, a najlepsi uczestnicy otrzymają konkretne oferty pracy jeszcze w trakcie szkolenia. Współpracujemy zarówno z korporacjami jak i ze startupami. Doradztwo zawodowe: Dla każdego kursanta przygotowaliśmy spotkania z Doradcą Zawodowym. Doradztwo zawodowe obejmować będzie przede wszystkim tworzenie CV, poszukiwanie odpowiedniej dla danego kandydata pracy oraz przygotowania do rozmowy kwalifikacyjnej. Pomagamy zweryfikować faktyczne kompetencje kandydata, niezbędne do wykonywania obowiązków na konkretnym stanowisku. Lokalizacja: Szkoła zlokalizowana jest w centrum Warszawy, pomiędzy Dworcem Centralnym a Zachodnim z doskonałym połączeniem komunikacji miejskiej. W pozostałych miastach zajęcia odbywają w dogodnie skomunikowanych lokalizacjach. Dla grup katowickich – naprzeciwko Dworca Głównego i Galerii Katowickiej. DODATKOWE UDOGODNIENIA: Infrastruktura Szkoły: Dla uczestników szkolenia dostępna będzie:

• Duża przestrzeń coworkingowa, która pozwoli kandydatom poczuć się, jak w prawdziwym Softwarehous’ie • Sale warsztatowe przystosowane do pracy w małych grupach, • Chillout room, gdzie można odpocząć w przerwie miedzy zajęciami lub po prostu popracować w niezwykłym dla zwykłych szkół otoczeniu, • Dostęp do pracowni softwarehouse z przestronnymi i wygodnymi stanowiskami komputerowymi (laptop + dodatkowy monitor dla każdego uczestnika), • Klimatyzowane sale, wyposażone w rzutniki, telewizory oraz sprzęt multimedialny • Duża kuchnia i darmowa kawa!

FAQ: CZY OTRZYMAM DYPLOM UKOŃCZENIA LUB CERTYFIKAT?

Page 6: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

4

Tak, ale to nie jest najważniejsze! Ważne jest to jak pracujesz i co możesz zrobić a przede wszystkim jakim portfolio możesz się pochwalić DLACZEGO MYŚLICIE, ŻE PRZYGOTOJUCIE MNIE DO KARIERY W ŚWIECIE TECH? Podczas naszego szkolenia budujesz swój własny portfel projektów. Najlepsi uczestnicy otrzymają ofertę pracy jeszcze w trakcie nauki, to jest nasza gwarancja. CZY POMOŻECI MI W ZNALEZIENIU PRACY? Znalezienie pracy jest kluczową częścią ścieżki. Zapewnimy Ci sposób na zdobywanie wiedzy, budowanie zaufania i dostęp do profesjonalistów poprzez nasze firmy partnerskie, meetupy i warsztaty, ale ostatecznie to Ty musisz przejść nasz kurs i podjąć wyzwanie wejścia do świata programowania. CZY MUSZĘ BYĆ DOBRY Z MATEMATYKI? Nie, chociaż umiejętności logicznego myślenia na pewno się przydadzą CZY MUSZĘ MIEĆ JAKIEKOLWIEK DOŚWIADCZENIE W KODOWANIU? Absolutnie nie! JAKI ZESTAW UMIEJĘTNOŚCI MUSZĘ POSIADAĆ ABY ODNIEŚĆ SUKCES? Musisz umieć dostosowywać się, pokonywać trudności. Musisz być proaktywny, kreatywny, głodny wiedzy i musisz umieć i chcieć współpracować z innymi. A przede wszystkim musisz być uparty, konsekwentny i zdeterminowany! Trenerzy: Kadrę tworzą doświadczeni trenerzy IT. Specjaliści metodyki nauczania oraz doświadczeni programiści. Jakub Neumann/ Trener Java Dydaktyk i praktyk z wieloletnim doświadczeniem. Programista Java, JavaScript z dobrą znajomością języka Scala, współczesnych narzędzi i technologii wytwarzania oprogramowania, w szczególności związanych z aplikacjami przemysłowymi Java EE lub Spring framework oraz technologiami frontend aplikacji

Page 7: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

5

typu Single Page Application (np. Angular JS). Specjalizuje się w wykorzystaniu w praktyce najnowszych technologii w szczególności opartych o mikroserwisy i programowanie reaktywne. Zajmuje się również zarządzaniem zespołami i prowadzeniem projektów IT w szczególności w duchu metodyk zwinnych. Lider i założyciel Trójmiasto Java User Group. Dyrektor ds. Technologii spółki informatycznej w której wykształcił dwa zespoły juniorów przeprowadzając ich członków do stanowisk seniorskich. Odpowiadał za koncepcję i implementację dwóch projektów informatycznych, które otrzymały nagrody za innowacyjność – Europejską nagrodę System Gamifikacyjny roku oraz pierwszy na świecie system holterowski realizowany z wykorzystaniem przeglądarki internetowej. Grzegorz Madajczak / Trener Front-End Obecnie pracuje jako front-end developer w firmie sektora finansowego, gdzie na co dzień realizuje projekty na potrzeby firmy. Twórca IDE.school mającej na celu promowanie wiedzy w zakresie programowania w języku JavaScript. Od wielu lat dzieli się zdobytą wiedzą poprzez uczestnictwo w szkoleniach, spotkaniach członków społeczności deweloperów JavaScript oraz jako mentor osób wchodzących do branży IT. Pierwsze kroki w edukowaniu innych stawiał 10 lat temu. Autor artykułów do czasopisma Linux+. Współpracował z Google Developer Group w Warszawie, gdzie udzielał się aktywnie jako uczestnik wielu „eventów”, czy też prelegent na wykładach. Towarzyszyły temu prowadzone przeze niego szkolenia - w ramach firmy - IDE (Informatyka - Doradztwo - Edukacja) zrealizowane na terenie całej Polski, głównie dla firm z sektora publicznego. Paulina Soliwoda/ Trener umiejętności miękkich Trener z wieloletnim doświadczeniem w zakresie: przygotowywania szkoleń i programów szkoleniowych, przeprowadzania warsztatów z zakresu umiejętności liderskich, komunikacji, twórczego myślenia, rozwiazywania problemów, mnemotechniki oraz szybkiego czytania. Od wielu lat zajmuje się również przeprowadzaniem warsztatów dla dzieci i młodzieży dotyczących profilaktyki i cyberprzemocy.

Page 8: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAM JAVA WEB KURSY PODSTAWOWE INFORMATYCZNE Tytuł kursu - Podstawy protokołu HTTP i architektura współczesnych aplikacji webowych (32 h)

• Wprowadzenie do architektury Klient – Serwer • Przeglądarka Internetowa jako typowy Klient. Główne moduły przeglądarki, silnik JavaScript • Podstawy języka HTML oraz CSS • Główne koncepcje protokołu HTTP oraz TLS/SSL • Praca w aplikacji w trybie Żądanie – odpowiedź, bezstanowość protokołu, cookies • Budowa adresatów URL, w tym Query String/Query Parameters • Główne składowe protokołu HTTP:

o podstawowe nagłówki o Content-Type a typy MIME o Metody protokołu http i ich semantyka (GET/POST/PUT/DELETE) o kody odpowiedzi oraz wybrane, najczęściej spotykane kody z grup 200, 300, 400, 500

• XMLHttpRequest i technika AJAX • Format JSON • Podstawy wzorca REST • Wybrane narzędzia testowania i pracy z protokołem HTTP (na przykład Postman)

o budowanie Żądań wraz z ciałem typu application/json o wykonywanie Żądań do wybranego publicznego API (na przykład serwis jsonplaceholder)

• Projekt i implementacja prostej aplikacji serwerowej w języku JAVA wg wzorca REST • Testowanie automatyczne części serwerowej aplikacji webowej wg wzorca REST

Tytuł kursu - Bazy danych relacyjne i nierelacyjne. Język SQL (32 h)

• Wprowadzenie do modelu relacyjnego i historii jego powstania. Opisanie przyczyn jego popularności. Krótkie omówienie postaci Edgar’a Codd’a.

• Omówienie podstawowych terminów modelu relacyjnego: relacja, encja, tabela, klucz główny, klucz obcy, wartość null, więzy spójności, perspektywa.

• Omówienie różnych poziomów relacyjnej bazy danych: użytkowy, logiczny i fizyczny. • Omówienie przeznaczenia i elementów występujących na diagramie encji. • Przykłady różnego rodzaju związków, które mogę wystąpić na diagramie encji: jeden-do-wiele, wiele-do-wiele, związki

jedno-jednoznaczne itd. • Ćwiczenia z analizy wymagań klienta i ich zamiany na diagram encji. Dyskusja na temat różnego rodzaju problemów, które

można napotkać projektując diagram encji. • Wprowadzenie terminu postaci normalnych: 1, 2, 3 postać normalna i postać normalna Boyce’a-Codda.

Page 9: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

1

• Wprowadzenie do języka SQL na podstawie wybranej bazy danych i dialektu języka SQL. Krótki opis historii języka SQL i jego aktualnej wersji.

• Omówienie podstawowej składni instrukcji DQL – SELECT, FROM • Omówienie klauzuli WHERE. Wstęp do logiki boolowskiej z uwzględnieniem wartości null. Omówienie podstawowych

operatorów < (mniejszy), > (większy), <= (mniejszy równy), >= (większy równy), = (równy), IS NULL, IS NOT NULL. • Omówienie klauzuli ORDER BY i DISTINCT • Omówienie klauzuli GROUP BY i HAVING • Omówienie pojęcia NoSQL i genezy jego powstania. • Przedstawienie czterech podstawowych kategorii rozwiązań NoSQL: klucz-wartość, big table, bazy dokumentowe, bazy

grafowe. Omówienie wad i zalety każdego z nich. • Podsumowanie wiadomości i terminów przedstawionych w czasie kursu.

JĘZYKI PROGRAMOWANIA KURSY SPECJALISTYCZNE Tytuł kursu - Programowanie w języku Java (100 h)

• Wprowadzenie do świata języka Java i aspektów dla niego charakterystycznych Java Virtual Machine, Java Development Kit, Java Runtime Environment

• Instalacja w wybranym systemie operacyjnym, ustawienie zmiennych systemowych PATH, JAVA_HOME • Kompilacja i uruchamianie programów w terminalu/linii poleceń • Zapoznanie z wybranym środowiskiem programistycznym, zakładanie projektów, tworzenie pakietów, klas, uruchamianie

programów • Zmienne i typy danych: prymitywne i referencyjne • Tablice jedno i wielowymiarowe • Podstawowa składnia języka m.in: instrukcje warunkowe, pętle, operatory • Praca z debuggerem • Klasy i ich składowe, hermetyzacja, obiekty, referencje, konwencje nazewnicze, • Pakiety, konwencje nazewnicze, struktura katalogów • Tworzenie obiektów, konstruktory i ich rodzaje • Praca z dokumentacją • Klasa Object, kontrakt dla metod equals() i hashCode() • Metody instancyjne, statyczne, przeciążanie • Modyfikatory dostępu • Konwencja JavaBeans • Kompozycja • Typ wyliczeniowy • Interfejsy i implementacje • Dziedziczenie, klasy abstrakcyjne, przesłanianie metod • Generyczność • Kolekcje: Iterable, Set, List, Map i ich implementacje, cechy, złożoność kluczowych operacji, klasy usługowe Collections,

Arrays • Wyjątki i ich obsługa • Praca z API javy w zakresie obsługi dat i czasu

Tytuł kursu – Aplikacje webowe w języku Java (80 h)

Page 10: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

2

• Wprowadzenie do koncepcji aplikacji webowych. Standard Java Enterprise Edition i aplikacje frameworka Spring • Wprowadzenie do koncepcji kontenera webowego i serwerów aplikacji (np. tomcat, jetty) • Koncepcje frameworka Spring ze szczególnym uwzględnieniem Spring Boot, konfigurowanie i uruchamianie aplikacji

Spring Boot • Archiwum typu war oraz deployment aplikacji webowej w środowisku developerskim (np. Maven z wtyczką jetty, Gradle z

wtyczką gretty, deployment ze środowiska IDE) • Aplikacje webowe według wzorca REST we frameworku Spring Boot, konfiguracja projektu, podstawowe typy i adnotacje

takie jak @RestController, @ResponseBody, @ResponseStatus, @Path, @PathVariable, @RequestBody itp. • Praca z dokumentami JSON we frameworku Spring Boot, maper JSON - obiekt Javy • Projekt Spring Data, typy i adnotacje standardu Java Persistence, modelowanie dziedziny i encji, adnotacje @Entity, @Id,

@OneToMany, @ManyToOne, @OneToOne itp. • Projekt i implementacja aplikacji webowej Spring Boot wg wzorca REST (RESTful web service) wraz z warstwą dostępu do

danych • Automatyczne testowanie aplikacji webowych w środowisku Spring Boot

NARZĘDZIA I BIBLIOTEKI PROGRAMISTYCZNE Tytuł kursu - Język Java wybrane biblioteki i narzędzia (32 h)

• Cykl wytwórczy i fazy życia typowego projektu w języku Java • Główne zadania narzędzi Maven/Gradle w obszarach

o spełniania zależności w projekcie na poziomie bibliotek o automatyzacji głównych czynności i faz przy wytwarzaniu artefaktów o definiowania wzorców w zakresie układu katalogów o różnym przeznaczeniu o definiowania dobrych praktyk w zakresie zapewniania jakości wytwarzanego oprogramowania

• Instalacja narzędzi Maven oraz Gradle, także w środowisku IDE, uruchamianie projektów opartych o Maven/Gradle oraz główne cele (goals/tasks) dla Maven/Gradle

• Repozytoria lokalne i globalne (w tym repozytorium centralne) • Identyfikator GAV artefaktów • Składnia i struktura pliku pom.xml (Maven) oraz build.gradle oraz innych plików definiujących projekt (Gradle) • Wprowadzenie do testowania jednostkowego • Biblioteka JUnit (mechanika testów, podstawowe adnotacje, assercje, testy parametryczne)

Tytuł kursu - Praca z repozytorium kodu: system Git (20 h)

• Wprowadzenie do systemów kontroli wersji (Source Code Management), główne cele i zadania • Instalacja systemu Git na komputerach lokalnych i konfiguracja podstawowych ustawień lokalnych • Zdalne repozytorium w wybranym systemie na przykładzie gitlab.com, klonowanie repozytorium • Typowe zadania, podstawowe czynności podczas pracy z Git oraz dobre praktyki związane z zagadnieniami:

o commit o push o branching o podstawy pracy grupowej o merging i rozwiązywanie konfliktów o rebase (podstawy)

• Praca z systemem Git w wybranym IDE, na przykładzie środowiska IntelliJ

Page 11: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

3

WARSZTATY ZWIĄZANE Z METODAMI PRACY Tytuł kursu - Warsztaty - metodyki zwinne (16 h)

• Wprowadzenie do metodyk Agile. • Wartości i zasady w Agile. • Główne elementy Scruma: Sprint, Backlog, Produkt. • Role w Scrumie: Scrum Master, Właściciel produktu (Product Owner) i Zespół. • Spotkania w Scrumie: Planowanie Sprintu, Codzienny Scrum, Retrospektywa Sprintu i Przegląd Sprintu. • Metody estymacji zadań w metodykach zwinnych: Historyjki użytkownika (User Story), Waga historyjki (Story Points) i

Planing Poker. • Programowanie ekstremalne: Testy jednostkowe (UnitTest), Programowanie sterowane testami (TDD), Programowanie w

parach (Pair programming), Ciągła integracja (CI). • Zapewnienie jakości w Scrumie.

Tytuł kursu - Role w zespole programistycznym - efektywne metody pracy (8 h)

• Wprowadzenie do tematu podziału na role w zespole programistycznym. • Korzyści płynące z przypisywania konkretnych ról w zespole programistycznym • Podział ról w zespole programistycznym (sponsor, użytkownik, kierownik programu, analityk, projektant, programista,

tester, konserwator itp.) • Szczegółowa definicja każdej z ról w zespole, najważniejsze zadania i omówienie wybranych przykładów • W jaki sposób dzielimy się funkcjami w zespole, oraz w jaki sposób organizowane są role. • Struktury zespołu programistycznego (sieciowa, gwiaździsta)

Tytuł kursu - Wzorce projektowe, narzędzia pracy grupowej (8 h)

• Wprowadzenie do tematu wzorców projektowych (definicja, aspekty techniczne, wzorce projektowe jako narzędzie pracy grupowej – przykłady)

• Podział wzorców na trzy rodziny, według ich rodzaju (wzorce kreacyjne, wzorce strukturalne, wzorce czynnościowe) • Wzorce kreacyjne

o Definicja o Prosta fabryka (simple factory) o Metoda wytwórcza – wprowadzenie i omówienie wybranego przykładu o Fabryka abstrakcyjna – wprowadzenie i omówienie wybranego przykładu o Builder (budowniczy) o Singleton o Prototyp o Zastosowanie opisanych wzorców kreacyjnych w praktyce

• Wzorce strukturalne: o Definicja o Wzorzec Adapter o Dekorator – wprowadzenie i omówienie wybranego przykładu o Wzorzec Fasada o Wzorzec Kompozyt o Wzorzec Most – Bridge

Page 12: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

4

o Wzorzec Pełnomocnik o Wzorzec Pyłek –Flyweight o Zastosowanie opisanych wzorców strukturalnych w praktyce

• Wzorce czynnościowe o Łańcuch zobowiązań/odpowiedzialności – wprowadzenie i omówienie wybranego przykładu o Wzorzec Polecenie - Command o Iterator – zasada działania i omówienie wybranego przykładu o Wzorzec Mediator o Wzorzec Obserwator – Observer o Wzorzec Stan – State i metody implementacji o Wzorzec Strategia o Wzorzec Odwiedzający – Visitor o Zastosowanie opisanych wzorców czynnościowych w praktyce.

• Podział wzorców według ich zakresów (klasowe, obiektowe) • Klasyfikacja opisanych wzorców na klasowe lub obiektowe – zadanie praktyczne dla uczestników • Omówienie przykładów wzorców • Zastosowanie wzorców w pracy • Zakończenie szkolenia, podsumowanie

Organizacja kształcenia Opis projektów grupowych (zawartość, umiejscowienie w ramach ścieżki) 1.Projekt grupowy Temat: Projekt i implementacja logiki aplikacji obsługi systemu sprzedaży biletów [do wyboru: parkingu, kin, lotów, pociągu ...] Umiejscowienie na ścieżce (kurs): Programowanie w języku Java Cele: Zaprojektowanie, implementacja i testowanie aplikacji w języku Java wg zadanej specyfikacji szczegółowej, z wyraźnym podziałem ról i odpowiedzialności wśród członków zespołu. Słuchacze organizują sami (lub z pomocą trenera) podział odpowiedzialności (ról), wybierają wg własnego uznania narzędzia komunikacji i pracy grupowej, rozliczają się nawzajem z wykonanej pracy. Na tym etapie nauki mogą ujawnić się typowe problemy w pracy grupowej: nierzetelność i nieterminowość wykonywania zadań, braki wiedzy merytorycznej, problemy komunikacyjne. Trener rozstrzyga wszelkie wątpliwości i pomaga. Grupa: 3 osoby 2 Projekt grupowy Temat: Projekt i implementacja API (HTTP REST) aplikacji webowej aplikacji obsługi systemu sprzedaży biletów [do wyboru: parkingu, kin, lotów, pociągu, temat inny niż w projekcie 1.] Umiejscowienie na ścieżce (kurs): Aplikacje webowe w języku Java Cele: Zaprojektowanie, implementacja i testowanie API aplikacji webowej w oparciu o technologie backendowe w języku Java (np. Spring/Spring Boot), z wykorzystaniem relacyjnej bazy danych, wg zadanej specyfikacji szczegółowej, z wyraźnym podziałem ról i odpowiedzialności wśród członków zespołu. Słuchacze organizują sami podział odpowiedzialności (ról), korzystają z poznanego na kursie narzędzia komunikacji i pracy grupowej oraz systemu kontroli wersji a także rozliczają się nawzajem z wykonanej pracy. Na tym etapie nauki mogą ujawnić się problemy w

Page 13: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

5

pracy grupowej związane z zakresem prac (dużo większy niż w projekcie grupowym 1.) lub doborem technologi czy konkretnego rozwiązania. Trener podpowiada rozwiązania ale nie ingeruje za bardzo w prace w zespole. Grupa: 3 osoby Metody komunikacji

• wideokonferencje • chat z wykorzystaniem dedykowanego narzędzia powszechnie używanego w pracy programistów np. Slack • asynchronicznie: praca z repozytoriami kodu, techniki typu Pull/Merge Request - trener ocenia kod gdy słuchacz zgłosi

gotowość do oceny synchronicznie i asynchronicznie Code Review na zajęciach stacjonarnych, wideokonferencjach, konsultacjach indywidualnych

• forum na platformie edukacyjnej • trener odpowiadający na maile użytkowników

Page 14: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

Formuła blended learning Tytuł liczba godzin

kursu Liczba godzin stacjonarnych

Liczba godzin moderowanych / proponowana forma zajęć moderowanych

Tytuł kursu/ liczba godzin i zestawienie (linki) do materiałów edukacyjnych (kursów) wraz z krótkim opisem treści

SUMA godzin (stacjonarnych/moderowanych/kursów zdalnych)

KURSY PODSTAWOWE INFORMATYCZNE (min 30% godzin stacjonarnych) Podstawy protokołu HTTP i architektura współczesnych aplikacji webowych

20 12 0 Kurs Podstawy protokołu HTTP i architektury aplikacji webowych 20 h

32= 12 + 20 h przy wykorzystaniu platformy

Bazy danych relacyjne i nierelacyjne. Język SQL

20 12 0 Kurs: Podstawy relacyjnych baz danych i języka SQL 20 h

32= 12 + 20 h przy wykorzystaniu platformy

JĘZYKI PROGRAMOWANIA KURSY SPECJALISTYCZNE (min 30% godzin stacjonarnych) Programowanie w języku Java 100 40 0 Kurs: Programowanie w języku

Java - podstawy 60 h

100 = 40 + 60h przy wykorzystaniu platformy

Aplikacje webowe w języku Java 80 40 0 Kurs Technologie Java Backend 40 h

80= 40+ 40 h z wykorzystaniem platformy

Page 15: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

1

NARZĘDZIA I BIBLIOTEKI PROGRAMISTYCZNE (min 30% godzin stacjonarnych) Język Java wybrane biblioteki i narzędzia

30 12 Kurs: Narzędzia wytwarzania oprogramowania w języku Java 18 h

30=12+18 przy wykorzystaniu platformy

Praca z repozytorium kodu: system Git 20 8 Kurs: System kontroli wersji - Git) 12 h

20 = 8 +12 przy wykorzystaniu platformy

KURSY ZWIĄZANE Z METODAMI PRACY (min 50% godzin stacjonarnych)

Warsztaty - metodyki zwinne

16 8 Kurs: Wprowadzenie do metodyk Agile. 8 h

16=8+8 przy wykorzystaniu platformy

Role w zespole programistycznym - efektywne metody pracy

8 4 Kurs: Wprowadzenie do tematu podziału na role w zespole programistycznym. 4 h

8=4+4 h przy wykorzystaniu platformy

Wzorce projektowe, narzędzia pracy grupowej

8 4 Kurs Wprowadzenie do tematu wzorców projektowych 4 h

8=4+4 h przy wykorzystaniu platformy

KURSY Z KOMPETENCJI KLUCZOWYCH (100% godzin stacjonarnych)

Umiejętność rozwiązywania problemów 16 16 16

Umiejętność prezentacji 16 16 16

Page 16: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

2

Kompetencje komunikacyjne 16 16 16

Kompetencje organizacyjne - wyznaczanie priorytetów itp.

16 16 16

Formuła zdalna moderowana Tytuł liczba godzin

kursu (minimalna)

Liczba godzin stacjonarnych

Liczba godzin moderowanych / proponowana forma zajęć moderowanych

Tytuł kursu na platformie edukacyjnej/ liczba godzin

SUMA godzin (stacjonarnych/moderowanych/kursów zdalnych)

KURSY PODSTAWOWE INFORMATYCZNE (min 30% godzin moderowanych) Podstawy protokołu HTTP i architektura współczesnych aplikacji webowych

20 12 h wideokonferencje chat z

wykorzystaniem Slack

asynchronicznie: praca z repozytoriami kodu, techniki typu Pull/Merge Request - trener ocenia kod gdy słuchacz zgłosi gotowość do oceny

synchronicznie i asynchronicznie Code Review na zajęciach stacjonarnych, wideokonferencjach, konsultacjach

Kurs Podstawy protokołu HTTP i architektury aplikacji webowych 20 h

32 = 12 +20 h

Page 17: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

3

indywidualnych

Bazy danych relacyjne i nierelacyjne. Język SQL

20 12 h j.w.

kurs: Podstawy relacyjnych baz danych i języka SQL) 20 h

32 = 12 +20 h

JĘZYKI PROGRAMOWANIA KURSY SPECJALISTYCZNE (min 30% godzin moderowanych)

Programowanie w języku Java 100 40 h

j.w.

Kurs - Programowanie w języku Java 60 h

100 = 40 +60 h

Aplikacje webowe w języku Java 80 40 h j.w.

Kurs: Technologie Java Backend wykorzystaniem frameworka Spring/Spring Boot. 40 h

80 = 40 +40 h

NARZĘDZIA I BIBLIOTEKI PROGRAMISTYCZNE (min 30% godzin moderowanych)

Język Java wybrane biblioteki i narzędzia

32 12 h j.w.

Kurs: Narzędzia wytwarzania oprogramowania w języku Java 20 h

32= 12+20 h

Praca z repozytorium kodu: system Git 20 8 h j.w.

Kurs System kontroli wersji - Git 12 h

20 = 8 + 12 h

Page 18: PROGRAMATOR€¦ · nowoczesne narzędzia pracy grupowej i dedykowane informatyce metody takie jak np. programowanie w parach, kształcenie nomadyczne, hackathony. ... Programista

PROGRAMATOR

4

KURSY ZWIĄZANE Z METODAMI PRACY (min 50% godzin moderowanych)

Warsztaty - metodyki zwinne

16 8 h j.w.

Kurs: Wprowadzenie do metodyk Agile. 8 h

16= 8+8 h

Role w zespole programistycznym - efektywne metody pracy

8 4 h j.w.

Kurs Wprowadzenie do tematu podziału na role w zespole programistycznym. 4 h

8 = 4+4 h

Wzorce projektowe, narzędzia pracy grupowej

8 4 h j.w.

Kurs Wprowadzenie do tematu wzorców projektowych

8 = 4+4 h

KURSY Z KOMPETENCJI KLUCZOWYCH (100% godzin stacjonarnych)

Umiejętność rozwiązywania problemów 16 16 16 h

Umiejętność prezentacji 16 16

16 h

Kompetencje komunikacyjne 16 16 16 h

Kompetencje organizacyjne - wyznaczanie priorytetów itp.

16 16 16 h