Wydział Informatyki
Kierunek studiów Informatyka Poziom i forma studiów drugiego stopnia stacjonarne
Specjalność / Ścieżka dyplomowania Biometria i przetwarzanie sygnałów Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Zaawansowane aplikacje internetowe Kod przedmiotu INF2RIA
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 2
15 15 Punkty ECTS 2
Przedmioty wprowadzające
Cele przedmiotu

Celem przedmiotu jest zapoznanie studentów z zagadnieniami projektowania i implementowania współczesnych aplikacji internetowych. Główny nacisk położono na zrozumienie i stosowanie zagadnień związanych z architekturą, frameworkami, sposobem wymiany danych oraz rolą komponentów w realizacji określonych zadań serwerowych aplikacji WEB.

Treści programowe

Wykład:
1. Architektura współczesnej aplikacji WEB. Model SOA - Service Oriented Application
2. Dokumentowanie architektury w podejściu 4C - Context, Containers, Components, Classes
3. Podejście warstwowe. Różnice pomiędzy Layer a Tier. Wzorce warstwy dostępu do danych
4. Trójwarstwowy podział aplikacji: prezentacji, usług / logiki biznesowej, persystencji
5. Domain Driven Design
6. Command-Query Responsibility Segregation – rozszerzona architektura warstwowa. Wsparcie dla Domain Driven Design; Event Sourcingu; Architektura microservices a CQRS/ES
7. Modelowanie architektury CQRS; Koncepcja Bounded Context oraz Agregatów; Design Level Event Storming
8. Ewolucja architektury frontendowej; JavaScript Server Side, frameworki i komunikacja z serwerem.
9. Język JavaScript jako element współczesnych aplikacji webowych.
10. Koncepcja Virtual DOM;
11. Język JSX; Komponenty w React;
12. Osadzanie języka React i komponentów w kodzie HTML;
13. Praca z danymi aplikacji w React; Operowanie ze stanem aplikacji;

Pracownia specjalistyczna:
Implementacja interaktywnej aplikacje za pomocą React.
1. Biblioteka React.JS; Komponenty
2. Budowa Single-Page Applications z Reactem; Cykl życia aplikacji
3. Pierwszy projekt React; Wprowadzenie do JSX;
4. Implementacja prostego komponentu JSX
5. Stany aplikacji React i zdarzenia
6. Renderowanie listy z danymi; Proste stylowanie aplikacji;
7. Przekazywanie danych przez ‘props’
8. Obsługa zdarzeń i praca ze stanami aplikacji;
9. Obsługa formularzy;
10. Implementacja list i treści warunkowych w aplikacji;

Metody dydaktyczne

wykład problemowy,   metoda projektów,   wykład informacyjny,   klasyczna metoda problemowa,  

Forma zaliczenia

Wykład - zaliczenie pisemne.
Pracownia specjalistyczna - odpowiedzi na pytania do zajęć, wprawki programistyczne, projekt programistyczny.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 zna metody (i różnice) działania klasycznych aplikacji internetowych i aplikacji hybrydowych Server Side INF2_W05
INF2_W06
EU2 zna dostępne obecnie technologie WEB (ich zalety i wady) w konkretnych zastosowaniach INF2_W03
INF2_W05
INF2_W06
EU3 umie tworzyć zaawansowane i responsywne aplikacje RWD za pomocą HTML5 i JavaScript/CSS INF2_U04
INF2_U08
EU4 umie wykorzystać technologię REST i parsować komunikację XML/JSON z serwerem za pomocą JavaScript INF2_U08
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 zaliczenie pisemne, odpowiedzi na pytania do zajęć W, Ps
EU2 zaliczenie pisemne, odpowiedzi na pytania do zajęć W, Ps
EU3 wprawki programistyczne, projekt programistyczny Ps
EU4 wprawki programistyczne, projekt programistyczny Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach - 15x1 15
2 - Udział w pracowni specjalistycznej - 15x1 15
3 - Opracowanie sprawozdań z pracowni i wykonanie zadań domowych 10
4 - Udział w konsultacjach 5
5 - Przygotowanie do zaliczenia 5
RAZEM: 50
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 35
(4)+(1)+(2)
1.4
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 30
(3)+(2)+(5)
1.2
Literatura podstawowa

1. J. Dickey, Nowoczesne aplikacje internetowe: MongoDB, Express, AngularJS, Node.js : poznaj nowe podejście do aplikacji internetowych, Gliwice: Helion, 2016.
2. M. Mikowski, J. Powell, Single Page Web Applications: programowanie aplikacji internetowych z JavaScript: niesamowite aplikacje internetowe!, Helion, 2015.
3. A. Freeman, React 16 : framework dla profesjonalistów, Gliwice: Helion, 2020.
4. S. Stefanov, React w działaniu. Tworzenie aplikacji internetowych, Helion, 2017.
5. A.D. Scott, Wszechstronny JavaScript : technologie : GraphQL, React, React Native i Electron, Gliwice: Helion, 2021.

Literatura uzupełniająca

1. K. Chinnathambi, JavaScript. Przewodnik dla absolutnie początkujących, Helion, 2017.
2. N. Bevacqua, Nowoczesny JavaScript. Poznaj ES6 i praktyczne zastosowania nowych rozwiązań, Helion, 2018.
3. B. Frain, Responsive web design : projektowanie elastycznych witryn w HTML5 i CSS3, Helion, 2014.

Jednostka realizująca Katedra Mediów Cyfrowych i Grafiki Komputerowej Data opracowania programu
Program opracował(a) dr inż. Paweł Tadejko 2021.09.01