Program studiów
Program studiów podyplomowych na kierunku Programowanie aplikacji Java
WSTĘP DO PROGRAMOWANIA W JAVA
(16 godz.)
- podstawy architektury systemów komputerowych
- kompilacja
- wirtualna maszyna Java (JVM), JRE, JDK
- środowisko programistyczne
- struktura programu
- CLI
- IDE (IntelliJ, Eclipse)
ALGORYTMY I STRUKTURY DANYCH
(8 godz.)
- podstawowe pojęcia - problemy, algorytmy, programy
- złożoność obliczeniowa algorytmów
- podstawowe metody sortowania
- struktury danych (tablice, listy, zbiory, mapy, stosy, kolejki, drzewa)
- algorytmy rekurencyjne
PROGRAMOWANIE OBIEKTOWE W JAVIE
(32 godz.)
- identyfikatory, zmienne i stałe, zasięg zmiennych
- instrukcje sterujące i warunkowe (for, while, do, if, case, switch)
- struktury danych (tablice, listy, zbiory, mapy)
- operacje wejścia/wyjścia
- model programowania obiektowego, cechy programowania obiektowego (hermetyzacja, polimorfizm, dziedziczenie)
- pojęcie klasy i obiektu, atrybuty i metody
- konstruktory
- interfejsy i klasy abstrakcyjne
- klasy szablonowe
- obsługa wyjątków
- wątki: tworzenie i zarządzanie
- wzorce projektowe
- strumienie (streams)
BAZY DANYCH
(16 godz.)
- relacyjny model bazy danych
- relacje – klucz główny i klucz obcy, typy relacji
- podstawy języka SQL
- JDBC
- bazy noSql (MongoDB)
ORM – MAPOWANIE OBIEKTOWO-RELACYJNE
(32 godz.)
- Hibernate
- encja
- mapowanie złożonych relacji
WSTĘP DO NARZĘDZI PROGRAMISTYCZNYCH
(8 godz.)
- biblioteki (własne, Guava, Apache Commons)
- budowanie projektów: maven/gradle
- zarządzanie kodem: Git, Subversion
- tworzenie bibliotek
PROGRAMOWANIE APLIKACJI WEBOWYCH (SPRING FRAMEWORK)
(24 godz.)
- idea IoC
- WebSerivces vs Restfull
- koncepcja komunikacji przy użyciu protokołu HTTP (RestAPI, HTTP verbs, JSON, XML)
- koncepcja aplikacji webowej
- servery (Tomcat, Netty)
- client/server
- Spring MVC
- podstawowe pojęcia: bean, autowire, configuration, controller
- Spring JDBC
- Spring Boot
NARZĘDZIA PROGRAMISTYCZNE
(8 godz.)
- Continious Integration and Deployment (CI/CD): Jenkins
- logowanie (log4j, logback)
- clean code
- code review
- serwery lokalne a chmura (on-premises vs cloud): AWS
TESTOWANIE APLIKACJI
(16 godz.)
- testy jednostkowe (jUnit, Mockito)
- testy integracyjne (Selenium/Robot Framework, Cucumber/Gherkin)
SEMINARIUM DYPLOMOWE
(16 godz.)
Seminarium dyplomowe.
Forma zaliczenia
test końcowy
projekt funkcjonalny - realizowany indywidualnie lub zespołowo