Java Web Developer – program studiów podyplomowych

Start / Uczelnia / Podyplomowe / Java Web Developer – program studiów podyplomowych
Java Web Developer to jedna z najczęściej poszukiwanych w ciągu ostatnich 10 lat specjalizacji na rynku pracy – nie tylko w branży IT, ale też w instytucjach finansowych jak banki, zakłady ubezpieczeń czy domy maklerskie.
Głównym celem studiów jest praktyczne przygotowanie studentów do wykorzystania języka Java i opartych na nim technologii webowych. Poza podstawową technologią JEE (Java Enterprise Edition) studenci poznają takie rozwiązania jak Struts, Spring, JPA czy Hibernate oraz relacyjne bazy danych.
Przewidziano również zajęcia poświęcone wykorzystywaniu najnowszych technik wytwarzania aplikacji frontendowych typu SPA (Single Page Application) z użyciem najpopularniejszych frameworków, tj. Angular2 czy Angular4.
Program studiów został opracowany w oparciu o najnowsze trendy i technologie stosowane w dzisiejszych czasach przez wszystkie znaczące firmy. Zajęcia są prowadzone przez praktyków z ponaddziesięcioletnim stażem pracy z technologiami webowymi opartymi o język Java potrafiącymi przekazać i niezbędną, podstawową wiedzę, i omawiać mniej typowe przypadki spotykane podczas wytwarzania oprogramowania.

Koszt studiów: 

Promocja na czesne: 2950 zł za semestr.

Opłatę można wnosić w dwóch ratach płatnych na początku każdego semestru.

Czas trwania: 2 semestry (264 godz.).
Warunki ukończenia studiów: zaliczenie wszystkich kursów z programu studiów oraz obrona pracy dyplomowej.

Profil absolwenta:
Absolwent, który ukończy studia, będzie potrafił:
• programować w języku Java;
• projektować architekturę wielowarstwową aplikacji;
• projektować relacyjne bazy danych na potrzeby aplikacji;
• tworzyć aplikacje webowe w języku Java z użyciem JEE, Struts, Spring, JPA, Hibernate, EJB;
• projektować:
◦ warstwę widoku aplikacji;
◦ warstwę dostępu do danych;
◦ warstwę logiki biznesowej;
• obsługiwać takie narzędzia jak Eclipse, Tomcat, JBoss, SVN;
• tworzyć interfejsy użytkownika w języku HTML/XHTML/CSS;
• tworzyć frontendy (aplikacje SPA) przy użyciu technologii Angular2/4

Zakres merytoryczny studiów:
Java – programowanie, zasady programowania obiektowego i zorientowanego na obiekty;
Oracle – relacyjne bazy danych;
Java Enterprise Edition (JEE) – standard aplikacji w języku Java oparty o wielowarstwową architekturę komponentową osadzoną na serwerze aplikacyjnym;
Struts – framework realizujący wzorzec projektowy MVC (Model View Controller) dla aplikacji web’owych;
Spring Framework – biblioteka umożliwiająca tworzenie aplikacji w oparciu o szablony (m.in. dostęp do danych, obsługa transakcji, komunikaty, autoryzacja i uwierzytelnianie) oraz zarządzanie zależnościami między komponentami;
JPA/Hibernate – frameworki realizujące warstwę dostępu do danych, zapewniające translację pomiędzy relacyjną bazą danych a światem obiektowym (mapowanie obiektowo-relacyjne);
Technologie frontendowe – nauka tworzenia aplikacji frontendowych typu SPA (Single Page Application) przy użyciu frameworków Angular2 oraz Angular4
Zajęcia monograficzne – omówienie najpopularniejszych narzędzi używanych do tworzenia aplikacji (m.in. Eclipse, Tomcat, JBoss, SVN);
Technologie internetowe: HTML/XHTML/CSS, JavaScript, XML;

Szczegółowy program studiów

1. Podstawy informatyki (wykład, 8 godzin)
• Pojęcia wstępne, teoria informacji
• Kodowanie informacji, systemy liczbowe
• Podstawy algorytmiki
• Maszyna Turinga

2. Podstawy programowania (laboratorium ze wstępem teoretycznym, 20 godzin)
• Zmienne proste, operatory, wyrażenia, instrukcje. Tablice jednowymiarowe i wskazania oraz relacje między nimi
• Arytmetyka adresowa
• Funkcje i struktury programu: deklaracje i parametry funkcji, rekurencja, struktura blokowa, zakres i zasięg zmiennych i funkcji
• Złożone typy danych: struktury, unie, tablice wielowymiarowe, przydział pamięci
• Współpraca z plikami, obsługa błędów wejścia/wyjścia

3. Zajęcia monograficzne (wykład 12 godzin, laboratorium 12 godzin)
Omówienie środowiska programistycznego i procesu wytworzenia, kompilacji i instalacji oprogramowania wraz z wszystkimi komponentami wspierającymi
• Omówienie pakietów programistycznych JDK oraz ich wersji wraz ze wskazaniem na różnice oraz zastosowania
• Omówienie środowiska programistycznego (IDE). Prezentacja możliwości, sposobów rozszerzania i integracji z innymi narzędziami
• Omówienie serwerów WWW oraz ich zastosowań
• Omówienie serwerów aplikacyjnych oraz ich zastosowań
• Zaprezentowanie sposób tworzenia wieloinstancyjnych serwerów aplikacyjnych przy użyciu pojedynczych binariów
• Omówienie zasad balansowania obciążenia ruchu sieciowego na tzw. farmach serwerów aplikacyjnych.
• Omówienie pracy z narzędziami do zarządzania wersją
• Omówienie zasad narzędzi do budowania aplikacji.

4. Java (wykład 16 godzin, laboratorium 16 godzin)
Składnia języka, używanie zmiennych, struktur danych, operatorów, instrukcji i pętli. Nauka programowania obiektowego. Biblioteki, funkcje i interfejsy.
• Wprowadzenie do języka JAVA. Omówienie technologii JVM. Omówienie wersji kompilatorów oraz zmian. Omówienie różnic między Java Development Kit a Java Runtime Library. Konfigurowanie środowiska uruchomieniowego
• Operatory, funkcje, pętle i rekurencja
• Zasady programowania obiektowego. Pojęcie klasy i obiektu – wskazanie różnic
• Dziedziczenie, polimorfizm, interfejsy
• Wyjątki, strumienie, interakcja z systemem plików
• Kolekcje w języku Java – omówienie i zasady zastosowania
• Klasa Math i StrictMath, wrappery typów prymitywnych
• Programowanie reflektywne i adnotacje
• Strumienie w Java, wyrażenia lambda w Java
• Moduły w Java 9

5. Podstawy Bazy Danych (wykład 12 godzin, laboratorium 12 godzin)
Składnia języka zapytań do bazy danych. Tworzenie struktur baz danych.
• Wprowadzenie do baz danych. Silniki baz danych
• Relacyjny model danych
• Tworzenie struktur danych. Normalizacja bazy danych
• Podstawy języka SQL
• Zapytania agregujące i grupujące
• Złączenia tabel
• Indeksy, triggery, widoki, widoki zmaterializowane. Uprawnienia i role
• Wprowadzenie do baz NoSQL

6. Podstawy programowania WEB (wykład 16 godzin, laboratorium 16 godzin)
Język HTML, arkusze stylów CSS i postawy języka JavaScript.
• Omówienie sposobów oraz zasad tworzenia w języku HTML/XHTML.
• Omówienie sposobów oraz zasad tworzenia kaskadowych arkuszy stylów
• Wprowadzenie do języka JavaScript
• Zaznajomienie z zasadami programowania w języku JavaScript oraz omówienie składni
• Omówienie najważniejszych obiektów w języku JavaScript oraz ich użycie. Omówienie zdarzeń (events) na stronach internetowych
• Omówienie sposobów i technik tworzenia zaawansowanych stron WWW przy jednoczesnym użyciu HTML, CSS oraz JavaScript
• Omówienie środowiska Node.js

7. Java JEE (wykład 16 godzin, laboratorium 16 godzin)
Tworzenie biznesowych komponentów uruchomieniowych. Budowa i uruchamianie serwletów. Udostępnianie interfejsów SOAP i REST.
• Omówienie protokołu HTTP/HTTPS. Wprowadzenie to technologii J2EE. Omówienie struktury aplikacji web’owej. Konfiguracja środowiska developerskiego.
• Omówienie zasady działania oraz cyklu życia serwletu
• Stosowanie filtrów oraz listenerów
• Omówienie architektury SOA
• WebService – klient (Apache CXF)
• WebService – serwer (Apache CXF) – wzorce: service, repository, controller
• Usługi REST – klient (Apache CXF, Spring Rest)
• Usługi REST – serwer (Apache CXF, Spring Rest) – wzorce: service, repository, controller

8. ORM (wykład 16 godzin, laboratorium 16 godzin)
Wykorzystywanie dostępu do danych poprzez mapowanie relacyjno-obiektowe.
• Model relacyjny vs model obiektowy.
• Wprowadzenie do ORM
• Wprowadzenie do biblioteki Hibernate. Hibernate vs JDBC
• Odwzorowywanie kolekcji, asocjacji i dziedziczenia
• Agregacja i grupowanie z wykorzystaniem biblioteki Hibernate
• Zapytania SQL w bibliotece Hibernate. Wykorzystanie biblioteki Hibernate w aplikacjach webowych
• Integracja biblioteki Hibernate z serwletami. Optymalizacja użycia Hibernate i metody dostępu do danych
• Integracja biblioteki Hibernate z Spring Framework

9. Frameworki (wykład 16 godzin, laboratorium 16 godzin)
Budowa aplikacji w oparciu o najpopularniejsze frameworki programistyczne.
• Omówienie najpopularniejszych dostępnych frameworków służących do tworzenia aplikacji WWW. Omówienie różnic, wad i zalet. Porównanie oraz omówienie zastosowań.
• Wprowadzenie do SpringMVC
• SpringMVC – przestrzenie nazw, akcje, tagliby, interceptory. Konstrukcje zaawansowane
• Wprowadzenie do Spring
• Spring – AOP, IoC, DI, wzorzec singleton, beany, cykl życia obiektów spring
• Wprowadzenie do Spring Security. Zastosowanie oraz sposoby wykorzystania
• Integracja SpringMVC, Spring oraz Spring Security w aplikacji internetowej
• Integracja aplikacji WWW (stworzonej przy użyciu SpringMVC, Spring, Spring Security) z frameworkami ORM. Wykorzystanie frameworków wszystkich warstw MVC w aplikacji webowej.

10. Technologie frontendowe (wykład 12 godzin, laboratorium 12 godzin)
Tworzenie aplikacji SPA w technologii Angular 2/4.
• Aplikacje webowe – Single Page Application (Angular, Angular 1 vs 2 vs 4, wzorce MVC)
• Omówienie narzędzi: Node.js, npm, angular-cli
• Pierwsza aplikacja SPA: konfiguracja środowiska, generowanie kodu (angular-cli), szkielet aplikacji
• Wprowadzenie do języka TypeScript: komponenty, generowanie komponentów
• Szablony (HTML + CSS): definiowanie warstwy prezentacji aplikacji przy pomocy szablonów w języku HTML i CSS
• Data binding: Property binding – przekazywanie danych pomiędzy komponentami, Event binding – obsługa zdarzeń.
• Mechanizm Routingu: serwis, generowanie serwisów, wstrzykiwanie zależności
• Wzorzec obserwator (Observer): dyrektywy, tworzenie dyrektyw
• Formularze w Angular: podejście template-driven, obsługa błędów
• Żądania http (http requests), deployment kodu, testy aplikacji

11. Seminarium dyplomowe (4 godziny)
Konsultacje dotyczące prac dyplomowych i obrony prac dyplomowych.

Skip to content