Programujesz w czymś?
Tworzysz strony www?
Zostań programistą JAVA -
zmień swoją karierę w 5 tygodni. Zdobądź stabilną i dobrze płatną pracę w korporacji.
-
Tematyka:Język Java, platforma Java SE i wybrane elementy Java EE;
tworzenie aplikacji różnego typu, w tym
okienkowych, webowych i usług sieciowych; obsługa baz danych i plików;
zaawansowane elementy języka, w tym wątki, lambdy i strumienie;
ekosystem Javy: narzędzia i biblioteki -
Czas trwania:80 godzin zegarowych zajęć na żywo
+ 40 godzin pracy w domu z naszymi
materiałami = w sumie 120 godzin -
Tryby zajęć:
- weekendowo (sob-niedz., średnio co 2 tygodnie)
- dziennie (blok 4-dniowy i dwa 3-dniowe, co ok. 2 tyg.)
-
Grupa:Zajęcia stacjonarne - na sali max 12 osób.
Dla kursów zdalnych - do 17 osób łącznie.
-
Rekrutacja:podstawowa umiejętność programowania w dowolnym języku
-
Miejsce:Warszawa, Zdalnie (online na żywo z trenerem i grupą) lub na zamówienie - dla grup.
-
Prowadzący:programista i ekspert technologii Java
-
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)
-
Cena:4 990 PLN*
Inne opcje nauki
Inne kursy:
Java Developer II - backend Język Java dla programistów Zaawansowane elementy języka Java Java DeveloperDlaczego warto się nauczyć Javy?
Java to jeden z najpopularniejszych języków programowania na świecie (według indeksu Tiobe) i „pewniak” pod kątem ofert pracy. Java jest językiem uniwersalnym, w którym można zrealizować niemal wszystkie zadania informatyczne, od aplikacji cmdline, poprzez aplikacje interaktywne (Java jest pełnowartościową platformą do tworzenia aplikacji z GUI), aplikacje mobilne, po najpopularniejsze obecnie aplikacje webowe (kompletne aplikacje klasycznego typu server-side oraz serwerowy backend w aplikacjach typu REST/AJAX). Java jest językiem preferowanym w korporacjach i dużych firmach. To głównie w Javie tworzy się duże systemy serwerowe oraz usługi sieciowe, o które oparte są systemy B2B oraz administracja publiczna. Java napędza większość światowych biznesów, stanowi podstawę systemów Google, Facebook, Twitter, Oracle, Snapchat, Netflix, Linkedin, Uber, Pinterest, Ebay, Spotify czy Amazon. Aplikacje pisane w Javie działają na Windowsie, na Linuxie i Macu, w telefonie (większość aplikacji działających na Androidzie jest napisana w Javie) oraz na wielu nietypowych urządzeniach. Dawny slogan „write once – run anywhere” jest wciąż aktualny. Java jest rozwijana od wielu lat, ma znakomitą dokumentację i ugruntowaną społeczność użytkowników, twórców narzędzi i bibliotek.
Potrzebujesz stabilnej pracy?
Korporacje czekają na programistów Javy.
Każdy komu marzy się kariera programisty w dużej korporacji ma swoją własną odpowiedź na pytanie: „Dlaczego korpo?”. Programiści decydują się na pracę w dużych firmach tj. banki, firmy ubezpieczeniowe, firmy farmaceutyczne, koncerny handlowe - bo takie firmy dają poczucie bezpieczeństwa i stabilizację. W korporacji możesz realizować wysokobudżetowe i bardzo ciekawe projekty. W korporacji zdobywasz ogromne doświadczenie i pracujesz na świetne CV. W korporacji zarabiasz dobre pieniądze, które wpływają regularnie na Twoje konto. Korporacja pozwala na pracę w międzynarodowym środowisku, gdzie masz szansę poznać wielu ciekawych ludzi i szlifować język.
Dla kogo jest ten kurs?
Dla programistów innych języków
którzy w dowolnym języku potrafią samodzielnie pisać programy, niekoniecznie złożone, i chcą zacząć profesjonalnie programować w Javie. Wymagamy dobrej znajomości takich pojęć jak zmienna i funkcja oraz umiejętności pisania prostych algorytmów z wykorzystaniem pętli i struktur danych (np. tablic). Przyda się znajomość chociaż podstaw programowania obiektowego, SQL i HTML. Kurs cieszy się ogromną popularnością wśród osób używających do tej pory PHP, C i C++, C#, JS, Python, PL/SQL czy nawet VBA, ale także znających tylko podstawy Javy, a chcących nauczyć się elementów zaawansowanych. Często uczestnikami są osoby wdrażające się od niedawna do projektów Java. Kurs może być także naturalnym dalszym krokiem w nauce od podstaw, np. po naszym bootcampie i napisaniu kilku samodzielnych programów.
Na tym kursie nie uczymy się programowania jako takiego, a skupiamy się na poznawaniu Javy.
Z drugiej strony nie wymagamy wstępnej znajomości Javy — jej składni uczymy się szybko, ale od podstaw. Nie wymagamy też wcześniejszego uczestnictwa w naszych kursach.
Ten kurs należy traktować jako "kurs przyspieszony" (fast track) - nie zaczynamy już od nauki podstaw
programowania jako takiego, dzięki temu możemy skupić się od razu na konstrukcjach językowych w Javie i
kolejnych technologiach. Sumarycznie, uczestnicy po tym kursie opanowują znacznie większy zakres materiału
niż
po jednym module kursu "nauka programowania od zera" - zakres porównywalny z dwoma
modułami.
Zapraszamy wszystkie programistki i wszystkich programistów.
A może inny kurs?
- Dopiero zaczynasz programować? Polecamy kurs Nauka programowania i język Java. Dobre dla osób, które muszą jeszcze przećwiczyć podstawowe techniki programowania, jak zmienne, funkcje, pętle, a chcą to robić w języku Java.
- Chcesz w krótkim czasie dobrze poznać język Java i bibliotekę standardową Java SE, ale nie zależy Ci na poznawaniu elementów Java EE i technologii serwerowych? Zapraszamy na krótsze szkolenie Język Java dla programistów - obejmujące cztery pierwsze dni niniejszego kursu. Dobre np. dla programistów Androida lub dla przygotowujących się do egzaminów Oracle.
- Szukasz specjalistycznego szkolenia na wybrany temat? Sprawdź nasz katalog szkoleń Java.
- Jesteś klientem instytucjonalnym i szukasz szkolenia dla grupy pracowników? Możemy dostosować zakres kursu do Waszych potrzeb.
Zakres tematyczny
Zastosowania Głównym celem kursu jest przedstawienie możliwości platformy Java w tworzeniu różnego rodzaju aplikacji. Dlatego w jego czasie tworzymy przykładowe aplikacje następujących rodzajów: konsolowe, interaktywne z interfejsem graficznym (desktop / GUI), webowe, usługi sieciowe typu SOAP i REST (web services). Wiele z nich na kilka sposobów, w szczególności aplikacje webowe za pomocą serwletów, JSP, JSF i Spring.
Solidne podstawy Drugim celem kursu jest dokładne poznanie wybranych elementów języka i platformy Java z naciskiem na elementy zaawansowane, aby programista miał poczucie, że rozumie język, którym się posługuje. Nie ograniczamy się do uruchamiania gotowych przykładów z tutoriala, ale staramy się głębiej zbadać mechanizmy działania i zrozumieć dlaczego tak a nie inaczej się pisze. Promujemy dobre praktyki, konwencje i idiomy Javy. Podkreślamy różnice między Javą a innymi językami.
Dane Aplikacje zwykle korzystają z danych, więc podczas ich tworzenia pojawi się obsługa plików (w tym CSV, XML i JSON) oraz baz danych (podejście bezpośrednie: JDBC oraz podejście ORM: JPA/Hibernate). Dane to także ich analiza i przetwarzanie. Nowoczesne techniki funkcyjne (od Java 8) oparte o strumienie i lambdy pozwalają w pełni wykorzystać moc procesorów wielordzeniowych przy zachowaniu zwięzłego i eleganckiego zapisu.
Ekosystem Javy Jak duża nie byłaby biblioteka standardowa, zawsze w końcu pojawia się potrzeba użycia czegoś spoza niej. W praktyce programiści Javy używają wielu dodatkowych bibliotek i narzędzi, co nie jest trudne, gdyż większość z nich ma liberalne licencje open source, a narzędzia takie jak Maven i Gradle ułatwiają ich dołączanie. Na kursie poznajemy elementy JDK, środowiska programistyczne (Eclipse, Netbeans, IntelliJ), narzędzia budowania (Maven + pobieżnie Ant i Gradle), serwery aplikacji, podstawy frameworku Spring, JUnit i biblioteki do testowania, ...
Program kursu w pełni obejmuje wymagania certyfikatów Oracle dla Javy SE: OCAJP 8 („associate”) i OCPJP 8 („professional”) oraz zawiera niektóre elementy wchodzące w zakres certyfikatów Java EE: OCEJWCD 6 („web components”) i OCEJWSD 6 („web services”).
Nauka w domu
Kurs 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.
Czego nauczysz się na kursie?
Jak na kilka sposobów napisać w Javie aplikację webową działającą w oparciu o bazę danych. Jak z baz danych korzystać w sposób bezpośredni (JDBC) oraz obiektowy (JPA/Hibernate).
Jak tworzyć w Javie usługi sieciowe typu SOAP i REST i jak się z nimi łączyć, a za pomocą Mavena zbudować projekt wielomodułowy korzystający z dodatkowych bibliotek. Jak wdrożyć na serwerze aplikacyjnym (Tomcat / Glassfish / Wildfly).
Jak napisać aplikację biurkową z elementami biznesowego interfejsu użytkownika, z backendem w postaci bazy danych lub serwera usługi sieciowej.
Jak tworzyć poprawne i wydajne rozwiązania wielowątkowe i jak korzystać z funkcyjnych możliwości Javy od wersji 8.
Elementów biblioteki standardowej Java SE w zakresie określonym przez egzaminy certyfikacyjne Oracle (w tym collections, files, concurrency, streams&collectors) oraz elementów Java EE w zakresie serwletów i usług sieciowych. Podstaw innych bibliotek i technologii, m.in: JSF, Spring, JUnit, Apache Commons.
Kochasz życie freelancera?
Połącz to ze stabilnym etatem w korpo.
Koniec lat 90 - to czas kiedy praca w korporacji, szczególnie dużej, renomowanej, międzynarodowej - była powodem do dumy. Z biegiem czasu dla wielu specjalistów, szczególnie z sektora IT “korpo” stało się synonimem wyzysku i braku wolności, przymusu pracy “od 9 do 17” i zaczęła się moda na pracę jako freelancer. Przecież każdy z nas zna kogoś kto “rzucił korpo i jest sam sobie szefem”.
Większość ludzi właśnie tak wyobraża sobie pracę freelancera.
“Siedzi w parku z laptopem na kolanach, popija kawę i poprawia coś w kodzie lub na luzie tworzy stronki www.”
Czy tak jest naprawdę?
-
Freelancer zarabia dużo na godzinę.
Tak to prawda. Czasami tak jest. A czasami nie zarabia w ogóle bo nie ma żadnych zleceń. Pewnie każdy z nas słyszał historię o tym jak jego kolega freelancer dostał projekt, poświęcił na niego dwa wieczory i zarobił tyle co 3 pensje w korporacji. Ok. Tylko że takich projektów co najwyżej jeden w roku. A co z resztą czasu? Co z terminami płatności za faktury? Czy klienci płacą regularnie? A może połączyć projekty freelancerskie z pracą na etacie ;) -
Freelancer ma nienormowany czas pracy.
Rzeczywiście tak jest. Freelancer sam decyduje kiedy pracuje. Nie musi wstawać na godz. 8.00 do pracy. Freelancer śpi dłużej w ciągu dnia, je śniadanie w południe - ale za to siedzi po nocach i robi projekty wtedy kiedy jego znajomi, którzy pracują do 17.00 spotykają się w knajpie na piwo. -
Freelancer jest sam sobie szefem.
Tak. To jest fajne uczucie kiedy nie masz nad sobą żadnego dyrektora czy współpracowników, którzy ciągle czegoś od Ciebie wymagają. Przed nikim nie odpowiadasz - tylko Ty, Twój komputer i ewentualnie kilka maili od klientów. Nie ma żadnych poleceń ale nie ma też żadnych pochwał i żadnych gratulacji sukcesu, wspólnego świętowania jak projekt się udał! Nie ma nic - a wiadomo, że bardzo ciężko wykonywać ten zawód nie mając pozytywnego wsparcia innych. Ah, i tak poza tym… jeśli masz czterech klientów, którzy odbierają Twoją pracę i albo Ci za nią zapłacą albo nie, to czyż nie przypomina to nieco relacji z przełożonym?...
Połącz pracę na etacie z pracą freelancera.
Historie naszych kursantów.
“Pracuję na etacie w jednej z warszawskich korporacji. Przychodzę do biura na 9 wychodzę po 17. Czasami są nadgodziny. Biorę udział w dużym projekcie - tworzymy system płatności online. Po godzinach robię strony internetowe . Dla moich prywatnych klientów koduję zazwyczaj po godzinach, wieczorami w domu. Czasami mamy w pracy przestój, czekamy na feedback od szefa, wtedy nadrabiam rzeczy związane z moimi prywatnymi zleceniami”
Tomek l.31 ŁódźTrenerzy - wiedza połączona z praktyką
Trener, który będzie prowadził ten kurs to wykładowca i informatyk w jednej osobie. Nasi trenerzy wywodzą się z najlepszych polskich uczelni i od wielu lat wykonują projekty IT dla firm zewnętrznych, organizacji i instytucji publicznych. Na codzień pracują w zawodzie - co daje im możliwość prowadzenia ultra ciekawych zajęć, przepełnionych przykładami z realnych projektów.
którzy umieją dobrze i skutecznie komunikować się z ludźmi, dzięki temu potrafimy szkolić i przekazywać wiedzę w bardzo przystępny sposób!
którzy informatykę znają nie tylko w teorii. Cały czas jesteśmy aktywni zawodowo. To siła naszego zespołu!
Kurs prowadzi doświadczony programista Java
Nawet najlepiej przygotowany program kursu nie zadziała bez dobrego, otwartego na słuchaczy i doświadczonego wykładowcy. Doskonale o tym wiemy!
Dlatego nasi trenerzy są najlepsi. Mają wieloletnie doświadczenie w szkoleniach, nauczaniu oraz tworzeniu oprogramowania. Są to praktycy - osoby prowadzące żywe, obfitujące w realistyczne przykłady zajęcia.
Zawodowy programista. Specjalizuje się w tworzeniu oprogramowania serwerowego w C++. Uczy programowania na Uniwersytecie Warszawskim. Wolny czas spędza na strzelnicy sportowej.
Bartosz ukończył studia na Wydziale Informatyki i Matematyki na Uniwersytecie Warszawskim. Ma niespożyty zapał do przekazywania swojej olbrzymiej wiedzy i czyni to doskonale. Jest wysoko oceniany przez Uczestników zajęć w ALX, średnia ocen trenerskich z 50 ankiet spośród 10 ostatnich szkoleń wynosi 4,6 w 5 stopniowej skali ocen.
Oprócz prowadzenia szkoleń i warsztatowych kursów zawodowych, Bartosz stale wykonuje mnóstwo projektów komercyjnych jako programista. Obecnie Bartosz jest programistą silnika gier komputerowych w Huuuge Games. Wcześniej pracował w CoreTechnology (spółka grupy Cyfrowy Polsat), gdzie projektował i programował oprogramowanie serwerowe w C i C++ (VoIP/SIP, obsługa telefonii komórkowej). Pracował również w MGBK Solutions sp. z o.o. gdzie tworzył oprogramowanie serwerowe w C++ (tracker do sieci wymiany multimediów w czasie rzeczywistym w modelu peer-to-peer). Wykonywał również projekty programistyczne dla Stowarzyszenia Talent tj.: budowa witryny edukacyjnej (PHP na PostgreSQL z domieszką Pythona), zadania algorytmiczno-programistyczne w C++, składanie skryptów shellowych do zarządzania zadaniami, budowania obrazów LiveCD na zawody programistyczne itd.
Bartosz pokochał strzelanie sportowe, szczególnie z MP-5. Rekreacyjne strzelanie do celu stało się jego pasją i sposobem na spędzenie wolnego czasu. Sam też jest sędzią i instruktorem strzelectwa.
Główny trener ALX w zakresie programowania w językach Python i Perl; trener języka Java, PHP, aplikacji webowych i baz danych - z wieloletnim doświadczeniem. Prowadzi zajęcia w Polsce i w Wielkiej Brytanii. Uczestniczył w projektach informatycznych w wielu językach i technologiach. Magister Wyższej Szkoły Morskiej w Szczecinie. Zagorzały fan gier MMORPG.
Ukończył Inżynierię Oprogramowania i Tworzenia Systemów Informatycznych na Uniwersytecie Szczecińskim. W latach 2002-2004 redaktor prowadzący magazynów informatycznych „Software 2.0” i„Hakin9”. Wykładowca, prowadzący warsztaty, przewodniczący komisji programowej konferencji IT Underground w Software Konferencje. Przez wiele lat uczestniczył w projektach informatycznych na zlecenie wielu europejskich firm. Piotr jest bardzo wymagającym trenerem, dąży do tego żeby każdy, kto kończy jego szkolenie wyciągnął z niego jak najwięcej się da!
Piotr ma także tytuł magistra Wyższej Szkoły Morskiej w Szczecinie. Uwielbia poznawać obce języki tj.: hiszpański, arabski i papiamento. Zagorzały fan gier MMORPG. Prowadzi zajęcia w Polsce i Wielkiej Brytanii. Ogromne doświadczenie zawodowe Piotra sprawia, że przyjeżdżają do niego na konsultacje szefowie IT największych polskich i zagranicznych firm.
Posiada certyfikaty:
- Microsoft Certified Technology Specialist
- Microsoft Project – Managing Projects
- Programming in HTML5 with JavaScript and CSS3
Zapewniamy go! Nowoczesny sprzęt komputerowy będzie do Twojej dyspozycji podczas kursu. Oprócz motywacji i chęci do nauki nie musisz niczego ze sobą zabierać!
Program szkolenia
- Język i platforma Java – wprowadzenie
- Przegląd wersji i edycji. Instalacja i konfiguracja platformy Java SE.
- Typy proste i referencyjne, operatory arytmetyczne i logiczne, instrukcje sterujące.
- Zmienne: rodzaje, inicjalizacja, zasięg i przesłanianie.
- Standardy nazewnicze.
- Struktura projektu, pakiety, kompilacja, bajtkod, ładowanie klas i CLASSPATH, tworzenie JAR-ów.
- Praca z Javą w konsoli oraz w IDE, przegląd dostępnych IDE.
- Java na tle innych języków programowania.
- Przegląd zastosowań Javy.
- Programowanie obiektowe w Javie
- Składowe klasy: pola, metody, konstruktory, bloki inicjalizacyjne.
- Obiekty i referencje; przekazywanie parametrów, klasy mutowalne i niemutowalne.
- Przeciążanie, dziedziczenie i nadpisywanie metod, klasy abstrakcyjne i finalne, interfejsy, implementacje metod w interfejsach.
- Poziomy widoczności, metody dostępowe, wzorzec JavaBean.
- Kontekst statyczny i instancyjny.
- Wyjątki.
- Uniwersalne elementy Java Standard Edition
- Tablice: zasady używania, metody narzędziowe.
- Kolekcje: listy, kolejki, zbiory i słowniki. Zasady wyboru właściwego rodzaju i implementacji kolekcji.
- Zasady porównywania obiektów: metody equals i hashCode, interfejsy Comparable i Comparator, sortowanie danych.
- Klasy opakowujące („wrappers”) i inne klasy reprezentujące liczby.
- Użyteczne klasy narzędziowe.
- Klasy String, StringBuilder i inne możliwości przetwarzania tekstu.
- Wejście/wyjście i dostęp do plików: podstawowe strumienie binarne i tekstowe, klasy Scanner i PrintWriter, serializacja obiektów, zarządzanie plikami na dysku.
- Obsługa daty i czasu oraz ustawień lokalnych.
- Wątki i synchronizacja
- Struktura maszyny wirtualnej Java.
- Tworzenie i konfiguracja wątków.
- Zagrożenia wynikające ze współbieżnego wykonania kodu.
- Synchronizacja za pomocą mechanizmów języka Java.
- Klasy narzędziowe i gotowe schematy synchronizacji (locki, semafory, synchronizowane kolekcje, pule wątków).
- Zaawansowane elementy języka Java
- Typy wyliczeniowe (enum).
- Typy generyczne.
- Klasy zagnieżdżone, lokalne i anonimowe.
- Wyrażenia lambda.
- Strumienie i funkcyjny styl programowania od Javy 8. Przetwarzanie danych za pomocą strumieni i kolektorów.
- Aplikacje z interfejsem graficznym
- Przegląd technologii GUI dostępnych w Javie.
- Swing: komponenty, panele, layouty.
- Obsługa zdarzeń; różne typy zdarzeń, wątki w Swingu.
- Podstawy obsługi grafiki, Java2D.
- Zaawansowane możliwości komponentów JavaBean (obserwowanie zmian, zdarzenia). Technologia Beans Binding.
- Serwlety i aplikacje webowe w Javie
- Czym jest Java Enterprise Edition? Specyfikacje, implementacje, serwery aplikacji.
- Podstawy technologii serwletów. Koncepcje: kontenera i komponentu, klasy zarządzanej, metody szablonowej (template method).
- Obsługa zapytań i tworzenie odpowiedzi HTTP. Nagłówki, parametry, ciasteczka.
- Java Server Pages (JSP) – szablony stron WWW.
- Skryptlety, wyrażenia EL (expression language), dostęp do komponentów JavaBean.
- Biblioteki tagów (taglibs), JSTL Core.
- Zaawansowane elementy technologii serwletów: parametry konfiguracji, zasięg obiektów, sesja, listenery i filtry.
- Architektura MVC za pomocą serwletów i JSP.
- Podstawy Java Server Faces (JSF) i szablonów facelet.
- Przegląd innych mechanizmów Java EE.
- Dostęp do baz danych z aplikacji Javy
- JDBC: bezpośredni dostęp do bazy danych. Zadawanie zapytań i wydawanie poleceń modyfikujących dane, obsługa parametrów.
- Zaawansowane możliwości JDBC: modyfikacja poprzez wynik, wywoływanie procedur składowanych, transakcje.
- Bezpośredni dostęp do bazy danych w JSP (taglib SQL).
- Java Persistence API (JPA / Hibernate): pomysł ORM, generowanie klas na podstawie tabel lub odwrotnie, adnotacje JPA, odczyt wszystkich i pojedynczych rekordów, modyfikacja danych.
- Przegląd możliwości JPA: rekordy zależne, zapytania JPQL, kryteria.
- Usługi sieciowe w Javie
- Koncepcja, rodzaje i zastosowania usług sieciowych (web services).
- Usługi typu SOAP: JAX-WS.
- Usługi typu REST: JAX-RS.
- Java i XML, w tym Java Architecture for XML Binding (JAXB). Obsługa formatu JSON.
- Klient usługi sieciowej.
- Dodatkowe biblioteki i narzędzia, „ekosystem” Javy
- Narzędzia budowania projektów: Ant, Maven, Gradle.
- Wybrane szczegóły Maven: struktura katalogów, zależności, projekty wielomodułowe.
- Popularne biblioteki open-source dla Javy.
- Podstawy frameworku Spring na przykładzie aplikacji webowej (Spring Boot i Spring MVC).
- Testy jednostkowe, JUnit, dodatkowe biblioteki związane z testowaniem.