Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Tworzenie nowoczesnych aplikacji backendowych w praktyce

Informacje ogólne

Kod przedmiotu: 1000-I1TNAB
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Tworzenie nowoczesnych aplikacji backendowych w praktyce
Jednostka: Wydział Matematyki i Informatyki
Grupy: Inf., I st., stacjonarne, 3 rok, przedmioty do wyboru
Inf., II st, stacjonarne, przedmioty do wyboru
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Wymagania wstępne:

Podstawowa znajomość zasad programowania obiektowego.

Podstawowa znajomość języka Java.

Całkowity nakład pracy studenta:

60h - warsztaty

90h - praca własna studenta

30h - studiowanie literatury


Razem 180h = 6 ptk. ECTS

Efekty uczenia się - wiedza:

●K_W12 - ma uporządkowaną wiedzę w zakresie bezpieczeństwa i budowy aplikacji sieciowych, model klient-serwer (Znajomość CRUD, Cloud, MVC/ SpringMVC)

●K_W11 ma wiedzę na temat inżynierii oprogramowania, w tym projektowania (wzorce projektowe, architektura oprogramowania, analiza i projektowanie obiektowe), wykorzystania API, narzędzi i środowisk wytwarzania oprogramowania (umiejętność korzystania z aktualnych narzędzi programistycznych - Slack, VisualStudio Code, WebStorm

Znajomość systemu kontroli wersji GIT)

●K_W02 - ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie programowania, technologii sieciowych, grafiki i komunikacji człowiek-komputer (znajomość architektury REST API)



Znajomość systemów zarządzania treścią: Git


Efekty uczenia się - umiejętności:

●K_U14 posiada umiejętność tworzenia prostych, bezpiecznych aplikacji internetowych z wykorzystaniem baz danych (Umiejętność korzystania z nowoczesnych narzędzi programistycznych i nowoczesnych frameworków programistycznych, umiejętność czytania dokumentacji nowoczesnych narzędzi i praca z repoozytoriami)

Efekty uczenia się - kompetencje społeczne:

●K_K02 Kreatywność: Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań

● K_K04 Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegół; jest systematyczny (również w kontekście pracy w zespole)

●K_K06 Jest nastawiony na nieustanne zdobywanie nowej wiedzy, umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych

Metody dydaktyczne:

W trakcie zajęć studenci będą uczestniczyli w procesie tworzenia aplikacji backendowej. Zajęcia będą odbywały się w formie warsztatu z pokazem programowania.

Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- opowiadanie
- wykład problemowy

Metody dydaktyczne poszukujące:

- ćwiczeniowa
- laboratoryjna
- studium przypadku

Metody dydaktyczne w kształceniu online:

- metody rozwijające refleksyjne myślenie

Skrócony opis:

Celem przedmiotu jest przekazanie wiedzy pozwalającej na tworzenie backendowych aplikacji internetowych w ekosystemie JVM. Przedmiot skupia się na komplementarnym podejściu do procesu wytwarzania oprogramowania z uwzględnieniem dobrych praktyk programistycznych oraz wszystkich narzędzi niezbędnych do efektywnego poruszania się programisty w środowisku zaawansowanych zespołów programistycznych.

Pełny opis:

Poruszane na zajęciach tematy to między innymi:

Slack - praca z narzędziami komunikacyjnymi dla programistów i zespołów

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. Monitorowanie i zarządzanie pamięcią w ekosystemie wirtualnej maszyny javy.

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.

Spock - zaawansowana praca z frameworkiem umożliwiającym testowanie oprogramowania

Docker - 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 delivery - wykorzystanie popularnych narzędzi do automatyzacji procesów testowania kodu oraz tworzenia procesów około wdrożeniowych

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

Metody i kryteria oceniania:

W ramach zajęć studenci będą tworzyli projekt aplikacji backendowej. Zaliczenie odbywa się na podstawie zrealizowanych projetków. Rozwiązania zadań sprawdzane są podczas zajęć. Po każdym zadaniu prowadzący weryfikują, czy wszyscy studenci je wykonali, na zajęciach jest zawsze minimum 2 prowadzących, żeby zoptymalizować ten proces. Dla każdego zadania prowadzący prezentują też na forum rozwiązanie docelowe.

Zajęcia w cyklu "Rok akademicki 2022/23" (zakończony)

Okres: 2022-10-01 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 60 godzin, 20 miejsc więcej informacji
Koordynatorzy: Błażej Zyglarski
Prowadzący grup: Dominik Kędziak, Mateusz Maszkiewicz, Jakub Prądzyński, Wojciech Smolak, Mateusz Wasieczko, Amadeusz Zaradny
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie
Laboratorium - Zaliczenie

Zajęcia w cyklu "Rok akademicki 2023/24" (w trakcie)

Okres: 2023-10-01 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 60 godzin, 20 miejsc więcej informacji
Koordynatorzy: Błażej Zyglarski
Prowadzący grup: Dominik Kędziak, Mateusz Maszkiewicz, Jakub Prądzyński, Patryk Pyrka, Mateusz Wasieczko, Amadeusz Zaradny
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie
Laboratorium - Zaliczenie

Zajęcia w cyklu "Rok akademicki 2024/25" (jeszcze nie rozpoczęty)

Okres: 2024-10-01 - 2025-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 60 godzin, 20 miejsc więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie
Laboratorium - Zaliczenie
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności mapa serwisu USOSweb 7.0.3.0-2 (2024-04-26)