Tworzenie nowoczesnych aplikacji backendowych w praktyce 1000-I1TNAB
Poruszane na zajęciach tematy to między innymi:
- IntelliJ IDEA - przedstawienie w praktyce możliwości najbardziej popularnego IDE dla programistów języków bazujących na JVM
- Java i JVM - zaawansowana praca z językiem Java
- Spring Boot - zaawansowana praca z jednym z najbardziej popularnych frameworków do wytwarzania aplikacji serwerowych w oparciu o protokół HTTP.
- MongoDB - poznanie i porównanie dokumentowych baz danych do innych alternatyw rynkowych. Wykorzystanie MongoDB w połączeniu z aplikacją Spring Boot.
- cURL / Postman - zaawansowana praca z klientem HTTP w wersji CLI oraz desktop
- Git i Github - praca z repozytorium lokalnym i zdalnym wraz z zachowaniem praktyk zapewniających jakość oprogramowania takich jak Code Review
- HTTP - zaawansowana praca z komunikacją w sieci (protokół przesyłania dokumentów hipertekstowych to protokół sieci WWW)
- REST - styl architektury oprogramowania opierający się o zbiór wcześniej określonych reguł opisujących jak definiowane są zasoby, a także umożliwiających dostęp do nich
- CRUD - create, read, update and delete (pol. utwórz, odczytaj, aktualizuj i usuń) - cztery podstawowe funkcje w aplikacjach korzystających z pamięci trwałej, które umożliwiają zarządzanie nią
- Testy automatyczne - praca nad tworzeniem automatycznych scenariuszy sprawdzających zgodność kodu z założeniami twórcy. W szczególności praktyka nad testami jednostkowymi oraz integracyjnymi, które są szczególnie istotne z punktu widzenia piramidy testów
- JUnit - zaawansowana praca z frameworkiem umożliwiającym testowanie oprogramowania
- Docker/Kubernetes - praca z narzędziem do lekkiej wirtualizacji na poziomie systemu operacyjnego. Tworzenie tak zwanych przenośnych kontenerów, które uruchomić na prawie każdym serwerze
- Continuous integration / Continuous deployment - wykorzystanie popularnych narzędzi do automatyzacji procesów testowania kodu oraz tworzenia procesów około wdrożeniowych
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne
Metody dydaktyczne eksponujące
Metody dydaktyczne podające
- wykład problemowy
Metody dydaktyczne poszukujące
- laboratoryjna
- ćwiczeniowa
Metody dydaktyczne w kształceniu online
Wymagania wstępne
Koordynatorzy przedmiotu
W cyklu 2024/25: | W cyklu 2023/24: | W cyklu 2022/23: |
Kryteria oceniania
Zaliczenie odbywa się na podstawie zrealizowanych zadań na zajęciach oraz po zdaniu testu na koniec roku. Rozwiązania zadań sprawdzane są na bieżąco podczas zajęć. Dla każdego zadania prowadzący prezentują też na forum rozwiązanie docelowe.
Literatura
Thinking in Java, Bruce Eckel, Prentice-Hall Inc. 1998.
Java: podstawy, Cay S. Horstmann, Gary Cornell, Helion, 2008.
Thinking in Java, Bruce Eckel, Helion 2003.
Praktyczny kurs Java: opanuj jezyk programowania, który zmienił oblicze sieci, Marcin Lis, Helion 2007.
Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools, 5th Edition
Spring Microservices in Action
Cloud Native Java. Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry. Josh Long, Kenny Bastani
Spring 5 Recipes: A Problem-Solution Approach, Josh Long, Daniel Rubio, Marten Deinum
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: