Program studiów podyplomowych "Nowoczesne aplikacje biznesowe Java/Jakarta EE" obejmuje szerokie spektrum zagadnień dotyczących programowania w języku Java z użyciem komponentów i wzorców projektowych oraz projektowania i budowania aplikacji biznesowych w oparciu o architekturę zorientowaną na usługi.
Program studiów podyplomowych:
SEMESTR I
Podstawy programowania w języku Java (kod przedmiotu: PPJ)
- Jednostki leksykalne języka Java.
- Charakterystyka i zastosowanie prostych typów danych.
- Tablice.
- Operatory arytmetyczne i logiczne.
- Rzutowania.
- Instrukcje sterujące (instrukcje warunkowe, pętle).
- Metody, parametry i argumenty, wywołania rekurencyjne.
- Standardowe biblioteki platformy Java: obsługa i formatowanie napisów, obsługa daty i czasu, operacje matematyczne, lokalizacje i wersje językowe.
Platformy programistyczne (kod przedmiotu: PPR)
- Kompilacja, budowa i uruchamianie aplikacji Java
- Obsługa i wsparcie zintegrowanego środowiska programistycznego (IDE) oraz Maven.
- Dokumentowanie kodu i tworzenie raportów projektowych.
- Budowa własnych i wykorzystanie istniejących bibliotek - archiwa jar.
- Programowanie sterowane testami, klasy i zbiory testów, typy asercji.
- Efektywne programowanie w języku Java, zarządzanie i wersjonowanie kodu.
- Refaktoryzacja kodu.
- Logowanie zdarzeń, wersjonowanie kodu.
Programowanie obiektowe w języku Java (kod przedmiotu: POJ)
- Klasa i jej obiekty. Konstruktor obiektu. Obiekty this i super. Obiekty i adresy (wartość null). Konwencja nazw klas i obiektów. Metoda finalize(). Klasy predefiniowane typów prostych. Metody i pola statyczne i finalne.
- Dziedziczenie wraz z hierarchią klas java.lang.Object. Konstruktory, przesłanianie. Zarządzanie pamięcią (garbage collector).
- Modyfikatory dostępu, adnotacje.
- Metody i klasy abstrakcyjne. Polimorfizm i interfejsy.
- Standardowe interfejsy: Comparable, Clonable, Serializable.
- Klasy anonimowe i klasy wewnętrzne. Programowanie refleksywne. Wyrażenia lambda.
- Standardowe kolekcje List, Set, Map. Metody equals() i hashCode(). Kolekcje generyczne. Typy predefiniowane dla typów prostych (java.lang) i operacje matematyczne na liczbach (java.math).
SEMESTR II
Wzorce projektowe (kod przedmiotu: WZP)
- Zakres zastosowania oraz cechy poszczególnych wzorców projektowych z kanonicznego katalogu wzorców projektowych.
- Konstrukcyjne, strukturalne i czynnościowe wzorce projektowe.
- Notacja UML, przedstawienie i analiza podstawowych diagramów UML.
- Stosowanie wybranych wzorców projektowych w kodzie źródłowym.
- Techniki refaktoringu (zwinne przekształcanie kodu).
Programowanie w architekturze kontener-komponent (kod przedmiotu: PKK)
- Kontener serwletów.
- Konteksty żądania, sesji, aplikacji.
- Wzorzec projektowy MVC i jego realizacje w technologiach Java EE – Java Server Pages, Java Server Faces.
- Kontener Enterprise Java Beans.
- Komponenty sesyjne: stanowe, bezstanowe, singleton.
- Definiowanie i wstrzykiwanie zależności (dependency injection).
- Metody dostępu do komponentów EJB.
- Aplikacja JSF jako klient aplikacji EJB, integracja sesji w obu kontenerach.
- Kontrola dostępu do komponentów aplikacji.
Biznesowe systemy informatyczne (kod przedmiotu: BSI)
- Wprowadzenie do XML, modele i sposoby przetwarzania XML, m.in. DOM, SAX, JAXB, JAXP.
- Mechanizmy umożliwiające wykorzystanie relacyjnej bazy danych w aplikacjach stworzonych w języku programowania Java, techniki mapowania obiektowo relacyjnego ORM.
- Zastosowanie mechanizmów zapewniających spójność danych przechowywanych w bazach relacyjnych, przetwarzanie transakcji, znaczenie sagi w złożonych systemach informatycznych.
- Aplikacje oparte na architekturze REST.
Seminarium projektowe (kod przedmiotu: SEM)
- W ramach przedmiotu uczestnik prezentuje pracę/projekt końcowy na kolejnych etapach jego tworzenia oraz poddaje go pod krytyczną dyskusję.
Praca końcowa
- Wykonanie pracy końcowej, której temat jest ściśle związany z programem studiów podyplomowych i której celem jest rozwiązanie ustalonego z prowadzącym problemu programistycznego, wymagającego utworzenia prostego programu w języku programowania Java na platformie Java/Jakarta EE. Projekty mogą być realizowane indywidualnie lub zespołowo.
|