Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)

Sylabus przedmiotu Programowanie aplikacji webowych 1:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie aplikacji webowych 1
Specjalność Inżynieria aplikacji webowych
Jednostka prowadząca Katedra Inżynierii Systemów Informacyjnych
Nauczyciel odpowiedzialny Artur Karczmarczyk <Artur.Karczmarczyk@zut.edu.pl>
Inni nauczyciele Artur Karczmarczyk <Artur.Karczmarczyk@zut.edu.pl>, Izabela Rejer <irejer@wi.zut.edu.pl>
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW5 15 2,00,50zaliczenie
laboratoriaL5 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Podstawy technologii webowych
W-2Zarządzanie projektami

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z kompletnym stosem technologicznym stosowanym do budowy aplikacji webowych
C-2Ukształtowanie umiejętności tworzenia aplikacji webowych różnego typu
C-3Ukształtowanie umiejętności pracy zespołowej w tworzeniu aplikacji webowych

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Ćwiczenie z narzędzi automatyzujących pracę programisty WWW. Inicjalizacja projektu i łączenie zależności z wykorzystaniem Composer. Logowanie zdarzeń na różnych poziomach. Wstrzykiwanie zależności do klas.2
T-L-2Instalacja i konfiguracja Symfony Framework. Omówienie założeń demonstracyjnego systemu pogodynka. Zaprojektowanie modelu encji dla projektu.2
T-L-3Budowa encji z wykorzystaniem kreatorów. Implementacja pierwszych kontrolerów i routingów.2
T-L-4Implementacja zarządzania encjami z wykorzystaniem kreatorów. Modyfikacja formularzy i dodanie walidacji.2
T-L-5Ćwiczenie z dodawania mechanizmów uwierzytelniania. Logowanie i bezpieczeństwo.2
T-L-6Ćwiczenie z zapewniania reużywalności kodu poprzez jego ekstrakcję do serwisów. Wykorzystanie wyodrębnionych serwisów w kontrolerach i komendach.2
T-L-7Ćwiczenie z różnych metod serwowania danych poprzez API. Ćwiczenie z implementacji testów jednostkowych z wykorzystaniem Data Provider.2
T-L-8Wprowadzenie do mini-projektu zespołowego w Symfony Framework (lub analogicznym). Podzial na grupy. Elicytacja wymagań. Opracowanie specyfikacji wymagań.2
T-L-9Kontynuacja fazy projektowej mini-projektu zespołowego. Opracowanie WBS i harmonogramu z podziałem prac na kamienie milowe (KM). Przygotowanie oprogramowania wspomagającego (np. Jira, Trello lub analogiczne).2
T-L-10Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.2
T-L-11Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.2
T-L-12Prezentacja KM1. Kontynuacja prac.2
T-L-13Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.2
T-L-14Prezentacja KM2. Kontynuacja prac.2
T-L-15Prezentacja KM3. Podsumowanie kursu. Pytania i odpowiedzi.2
30
wykłady
T-W-1Narzędzia wspomagające rozwój oprogramowania: konteneryzacja, zarządzanie pakietami w technologiach frontendowych i backendowych2
T-W-2Wprowadzenie do frameworków. Praktyczne wyjaśnienie zasadności wykorzystania frameworków w projektach. Instalacja i uruchomienie frameworka na przykładzie Symfony Framework lub analogicznego.2
T-W-3Symfony Framework (lub analogiczny) - tworzenie stron, routing, szablony, mapowanie obiektowo-relacyjne, internacjonalizacja.2
T-W-4Symfony Framework (lub analogiczny) - formularze, bezpieczeństwo aplikacji i użytkownicy, komendy CLI, serwisy.2
T-W-5Symfony Framework (lub analogiczny) - zasiewanie bazy danych, testowanie aplikacji, webserwisy.2
T-W-6Progresywne frameworki frontendowe na przykładzie Vue lub analogicznego2
T-W-7Alternatywne frameworki backendowe / wielostronicowe na przykładzie Laravel, Next.js lub analogicznych.2
T-W-8Podsumowanie kursu, zaliczenie.1
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w laboratoriach30
A-L-2Praca własna20
50
wykłady
A-W-1uczestnictwo w zajęciach15
A-W-2Praca własna33
A-W-3Udział w konsultacjach2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny
M-2Laboratoria - metoda przypadków, rozwiązywanie zadań z użyciem komputera
M-3Anegdota

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Kontrola poprawności realizacji zadań na kolejnych laboratoriach
S-2Ocena podsumowująca: Końcowe zaliczenie wykładu w formie testu złożonego z pytań zamkniętych

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_D01.03_W01
Posiada zaawansowaną wiedzę na temat technologiii i frameworków stosowanych w aplikacjach internetowych.
I_1A_W05, I_1A_W03C-1T-W-3, T-W-4, T-W-2, T-W-1, T-W-5, T-W-6, T-W-7, T-W-8M-1S-2

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_D01.03_U01
W wyniku przeprowadzonych zajęć student powinien być w stanie tworzyć zaawansowane systemy internetowe w architekturze wielostronicowej i jednostronicowej z wykorzystaniem frameworków.
I_1A_U06, I_1A_U05, I_1A_U02C-2T-L-14, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-8, T-L-9, T-L-10, T-L-11, T-L-12, T-L-13, T-L-7, T-L-15M-2S-1

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_D01.03_W01
Posiada zaawansowaną wiedzę na temat technologiii i frameworków stosowanych w aplikacjach internetowych.
2,0
3,0Student jest w stanie samodzielnie omówić podstawy procesu budowy zaawansowanych aplikacji internetowych w modelu monolitycznym i frontend-backend z zastosowaniem frameworków.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_D01.03_U01
W wyniku przeprowadzonych zajęć student powinien być w stanie tworzyć zaawansowane systemy internetowe w architekturze wielostronicowej i jednostronicowej z wykorzystaniem frameworków.
2,0
3,0Student jest w stanie samodzielnie zbudować podstawy zaawansowanych aplikacji internetowych w modelu wielostronicowym i jednostronicowym z zastosowaniem frameworków.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. Richard Bullington-McGuire, Andrew K. Dennis, Michael Schwartz, Docker for Developers, Packt Publishing, 2020
  2. Fabien Potencier, Symfony 6: Szybki start, Leanpub, 2022, https://symfony.com/doc/6.2/the-fast-track/pl/index.html

Literatura dodatkowa

  1. Maya Shavin, Learning Vue, O'Reilly Media, Inc., 2023
  2. Matt Stauffer, Laravel: Up & Running, 3rd Edition, O'Reilly Media, Inc., 2023

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Ćwiczenie z narzędzi automatyzujących pracę programisty WWW. Inicjalizacja projektu i łączenie zależności z wykorzystaniem Composer. Logowanie zdarzeń na różnych poziomach. Wstrzykiwanie zależności do klas.2
T-L-2Instalacja i konfiguracja Symfony Framework. Omówienie założeń demonstracyjnego systemu pogodynka. Zaprojektowanie modelu encji dla projektu.2
T-L-3Budowa encji z wykorzystaniem kreatorów. Implementacja pierwszych kontrolerów i routingów.2
T-L-4Implementacja zarządzania encjami z wykorzystaniem kreatorów. Modyfikacja formularzy i dodanie walidacji.2
T-L-5Ćwiczenie z dodawania mechanizmów uwierzytelniania. Logowanie i bezpieczeństwo.2
T-L-6Ćwiczenie z zapewniania reużywalności kodu poprzez jego ekstrakcję do serwisów. Wykorzystanie wyodrębnionych serwisów w kontrolerach i komendach.2
T-L-7Ćwiczenie z różnych metod serwowania danych poprzez API. Ćwiczenie z implementacji testów jednostkowych z wykorzystaniem Data Provider.2
T-L-8Wprowadzenie do mini-projektu zespołowego w Symfony Framework (lub analogicznym). Podzial na grupy. Elicytacja wymagań. Opracowanie specyfikacji wymagań.2
T-L-9Kontynuacja fazy projektowej mini-projektu zespołowego. Opracowanie WBS i harmonogramu z podziałem prac na kamienie milowe (KM). Przygotowanie oprogramowania wspomagającego (np. Jira, Trello lub analogiczne).2
T-L-10Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.2
T-L-11Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.2
T-L-12Prezentacja KM1. Kontynuacja prac.2
T-L-13Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.2
T-L-14Prezentacja KM2. Kontynuacja prac.2
T-L-15Prezentacja KM3. Podsumowanie kursu. Pytania i odpowiedzi.2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Narzędzia wspomagające rozwój oprogramowania: konteneryzacja, zarządzanie pakietami w technologiach frontendowych i backendowych2
T-W-2Wprowadzenie do frameworków. Praktyczne wyjaśnienie zasadności wykorzystania frameworków w projektach. Instalacja i uruchomienie frameworka na przykładzie Symfony Framework lub analogicznego.2
T-W-3Symfony Framework (lub analogiczny) - tworzenie stron, routing, szablony, mapowanie obiektowo-relacyjne, internacjonalizacja.2
T-W-4Symfony Framework (lub analogiczny) - formularze, bezpieczeństwo aplikacji i użytkownicy, komendy CLI, serwisy.2
T-W-5Symfony Framework (lub analogiczny) - zasiewanie bazy danych, testowanie aplikacji, webserwisy.2
T-W-6Progresywne frameworki frontendowe na przykładzie Vue lub analogicznego2
T-W-7Alternatywne frameworki backendowe / wielostronicowe na przykładzie Laravel, Next.js lub analogicznych.2
T-W-8Podsumowanie kursu, zaliczenie.1
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w laboratoriach30
A-L-2Praca własna20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach15
A-W-2Praca własna33
A-W-3Udział w konsultacjach2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_D01.03_W01Posiada zaawansowaną wiedzę na temat technologiii i frameworków stosowanych w aplikacjach internetowych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05Ma wiedzę o nowoczesnych metodach projektowania, analizowania, wytwarzania, testowania oprogramowania oraz rozwiązywania wybranych zadań inżynierskich obejmujących w szczególności narzędzia wspomagające wytwarzanie oprogramowania na różnych etapach powstawania, eksploatacji i rozwoju systemów informatycznych.
I_1A_W03Ma szczegółową wiedzę w zakresie wybranych specjalności informatyki technicznej.
Cel przedmiotuC-1Zapoznanie studentów z kompletnym stosem technologicznym stosowanym do budowy aplikacji webowych
Treści programoweT-W-3Symfony Framework (lub analogiczny) - tworzenie stron, routing, szablony, mapowanie obiektowo-relacyjne, internacjonalizacja.
T-W-4Symfony Framework (lub analogiczny) - formularze, bezpieczeństwo aplikacji i użytkownicy, komendy CLI, serwisy.
T-W-2Wprowadzenie do frameworków. Praktyczne wyjaśnienie zasadności wykorzystania frameworków w projektach. Instalacja i uruchomienie frameworka na przykładzie Symfony Framework lub analogicznego.
T-W-1Narzędzia wspomagające rozwój oprogramowania: konteneryzacja, zarządzanie pakietami w technologiach frontendowych i backendowych
T-W-5Symfony Framework (lub analogiczny) - zasiewanie bazy danych, testowanie aplikacji, webserwisy.
T-W-6Progresywne frameworki frontendowe na przykładzie Vue lub analogicznego
T-W-7Alternatywne frameworki backendowe / wielostronicowe na przykładzie Laravel, Next.js lub analogicznych.
T-W-8Podsumowanie kursu, zaliczenie.
Metody nauczaniaM-1Wykład informacyjny
Sposób ocenyS-2Ocena podsumowująca: Końcowe zaliczenie wykładu w formie testu złożonego z pytań zamkniętych
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student jest w stanie samodzielnie omówić podstawy procesu budowy zaawansowanych aplikacji internetowych w modelu monolitycznym i frontend-backend z zastosowaniem frameworków.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_D01.03_U01W wyniku przeprowadzonych zajęć student powinien być w stanie tworzyć zaawansowane systemy internetowe w architekturze wielostronicowej i jednostronicowej z wykorzystaniem frameworków.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U06Potrafi pozyskiwać, przesyłać, przetwarzać dane, podsumowywać wyniki eksperymentów empirycznych, dokonywać interpretacji uzyskanych wyników i formułować wynikające z nich wnioski.
I_1A_U05Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
I_1A_U02Potrafi aktywnie uczestniczyć w pracach projektowych – zespołowych i indywidualnych. Przy planowaniu i realizacji projektów informatycznych potrafi zastosować podstawowe metodyki zarządzania projektami informatycznymi.
Cel przedmiotuC-2Ukształtowanie umiejętności tworzenia aplikacji webowych różnego typu
Treści programoweT-L-14Prezentacja KM2. Kontynuacja prac.
T-L-1Ćwiczenie z narzędzi automatyzujących pracę programisty WWW. Inicjalizacja projektu i łączenie zależności z wykorzystaniem Composer. Logowanie zdarzeń na różnych poziomach. Wstrzykiwanie zależności do klas.
T-L-2Instalacja i konfiguracja Symfony Framework. Omówienie założeń demonstracyjnego systemu pogodynka. Zaprojektowanie modelu encji dla projektu.
T-L-3Budowa encji z wykorzystaniem kreatorów. Implementacja pierwszych kontrolerów i routingów.
T-L-4Implementacja zarządzania encjami z wykorzystaniem kreatorów. Modyfikacja formularzy i dodanie walidacji.
T-L-5Ćwiczenie z dodawania mechanizmów uwierzytelniania. Logowanie i bezpieczeństwo.
T-L-6Ćwiczenie z zapewniania reużywalności kodu poprzez jego ekstrakcję do serwisów. Wykorzystanie wyodrębnionych serwisów w kontrolerach i komendach.
T-L-8Wprowadzenie do mini-projektu zespołowego w Symfony Framework (lub analogicznym). Podzial na grupy. Elicytacja wymagań. Opracowanie specyfikacji wymagań.
T-L-9Kontynuacja fazy projektowej mini-projektu zespołowego. Opracowanie WBS i harmonogramu z podziałem prac na kamienie milowe (KM). Przygotowanie oprogramowania wspomagającego (np. Jira, Trello lub analogiczne).
T-L-10Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.
T-L-11Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.
T-L-12Prezentacja KM1. Kontynuacja prac.
T-L-13Realizacja prac wchodzących w zakres KM w grupach, przy wsparciu prowadzącego.
T-L-7Ćwiczenie z różnych metod serwowania danych poprzez API. Ćwiczenie z implementacji testów jednostkowych z wykorzystaniem Data Provider.
T-L-15Prezentacja KM3. Podsumowanie kursu. Pytania i odpowiedzi.
Metody nauczaniaM-2Laboratoria - metoda przypadków, rozwiązywanie zadań z użyciem komputera
Sposób ocenyS-1Ocena formująca: Kontrola poprawności realizacji zadań na kolejnych laboratoriach
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student jest w stanie samodzielnie zbudować podstawy zaawansowanych aplikacji internetowych w modelu wielostronicowym i jednostronicowym z zastosowaniem frameworków.
3,5
4,0
4,5
5,0