Wybrane elementy praktyki projektowania oprogramowania

Język wykładowy Polski
Semestr Zimowy
Status Poddana pod głosowanie
Opiekun Wiktor Zychla
Liczba godzin 30 (wyk.) 30 (prac.)
Rodzaj Informatyczny inż.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Tagi IO (Inżynieria oprogramowania) PiPO (Projektowanie i programowanie obiektowe)
Grupy efektów kształcenia Podstawy inżynierii oprogramowania Inżynieria oprogramowania (L) Programowanie i projektowanie obiektowe

Opis przedmiotu:

Celem zajęć jest przedstawienie studentom praktyki projektowania oprogramowania. Zajęcia w zwięzły sposób łączą podstawową wiedzę z zakresu baz danych i inżynierii oprogramowania w obszarze projektowania aplikacji internetowej we współczesnych realiach technologicznych. Wymagania: brak ## Wykład Część podstawowa - obiejmuje materiał realizujący wymagania programowe: 1. język Javascript - nowoczesny hybrydowy język funkcyjno-obiektowy 1. programowanie funkcyjne 1. progamowane obiektowe 1. programowanie asynchroniczne 1. język Typescript - nowoczesny system typów dla Javascript 1. aplikacja internetowa na serwerze 1. środowisko node.js, pakiety npm 1. podstawowe moduły, m.in. filesystem, http 1. framework Express - routing, wzorzec MVC, silnik widoków EJS 1. framework Socket.IO 1. autentykacja/autoryzacja 1. React - aplikacja po stronie przeglądarki 1. aplikacja kliencka React/TypeScript 1. usługi serwerowe API typu REST 1. testy jednostkowe, testy end-to-end - framework Mocha, technologie Selenium/Playwright 1. podstawy praktyki baz danych 1. tabele, kolumny, więzy 1. klucze podstawowe, klucze obce 1. widoki, procedury składowane 1. indeksy 1. język SQL - zapytania SELECT, INSERT, UPDATE, DELETE, podzapytania, klauzule WHERE, ORDER, TOP, JOIN, złączenia wewnętrzne i zewnętrzne 1. konteneryzacja - użycie narzędzi typu Docker do rozwijania i hostowania aplikacji 1. kontener jako platforma 1. kontener jako usługa 1. DevContainers Pracownia Pracownia będzie polegała na uzupełnieniu materiału z wykładu szeregiem zadań o charakterze praktycznym. Przewiduje się listy zadań odpowiadajace poszczególnym partiom materiału z wykładu. Zwieńczeniem pracowni jest projekt aplikacji internetowej, realizowany samodzielnie lub zespołowo.