Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria systemów informacyjnych
Sylabus przedmiotu Aplikacje internetowe:
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 | Aplikacje internetowe | ||
Specjalność | Inżynieria oprogramowania | ||
Jednostka prowadząca | Katedra Inżynierii Systemów Informacyjnych | ||
Nauczyciel odpowiedzialny | Artur Karczmarczyk <Artur.Karczmarczyk@zut.edu.pl> | ||
Inni nauczyciele | Piotr Czapiewski <Piotr.Czapiewski@zut.edu.pl>, Artur Karczmarczyk <Artur.Karczmarczyk@zut.edu.pl>, Bartłomiej Małachowski <Bartlomiej.Malachowski@zut.edu.pl>, Agnieszka Olejnik-Krugły <aolejnik@zut.edu.pl>, Maciej Poliwoda <Maciej.Poliwoda@zut.edu.pl> | ||
ECTS (planowane) | 3,0 | ECTS (formy) | 3,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 7 | Grupa obieralna | 1 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Programowanie 1 |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z zasadami budowy stron internetowych |
C-2 | Ukształtowanie rozumienia podstawowych pojęć związanych ze środowiskiem WWW |
C-3 | Ukształtowanie umięjętności budowy prostych aplikacji internetowych, z położeniem głównego nacisku na wysoki poziom interaktywności aplikacji |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | HTML i CSS – Zen Garden – tworzenie pojedynczej strony HTML i zestawu styli CSS zmieniających jej wygląd, w zależności od wybranego stylu. | 4 |
T-L-2 | JS i DOM – utworzenie dynamicznej listy czynności do zrobienia z wykorzystaniem JS ES2015. Programowe przemieszczanie się po drzewie DOM. Dodawanie, usuwanie, edytowanie elementów drzewa DOM. | 2 |
T-L-3 | Zaawansowane JS w przeglądarce. Projekt i realizacja gry w ES2015 (układanie Puzzli) korzystającej z API do geolokalizacji, map, notyfikacji z użyciem canvas i mechanizmu przeciągnij-i-upuść. | 6 |
T-L-4 | Budowa aplikacji klienckiej REST z użyciem XMLHttpRequest API oraz Fetch API. | 2 |
T-L-5 | Wprowadzenie do tworzenia systemów webowych w oparciu o backend. Opracowanie przykładowego szkieletu systemu uwzględniającego przyjmowanie i przetwarzanie danych. | 2 |
T-L-6 | Wprowadzenie do projektowania systemów webowych w oparciu o backend. Przygotowanie specyfikacji wymagań, user stories, work breakdown structure, metoda Delphi, tworzenie harmonogramów, klikalne makiety nowej aplikacji. | 2 |
T-L-7 | Realizacja systemu webowego zgodnie z ustalonym harmonogramem. Front-controller, mapowanie obiektowo relacyjne, routing, szablony. | 10 |
T-L-8 | Podsumowanie laboratoriów, prezentacja utworzonych aplikacji internetowych, omówienie dalszych możliwości rozwoju. | 2 |
30 | ||
wykłady | ||
T-W-1 | Synteza HTML i CSS. Obrazki. Hiperłącza. Listy. Tabele. Układ strony. Formularze. HTML 5. Struktura i semantyka. Tranfsormacje i obrót. Przekształcanie i animacje. Elementy formularzy HTML 5. Poziom wsparcia elementów. | 2 |
T-W-2 | JavaScript ES2015. Podstawy: Historia JS. Podstawy programowania – przypomnienie. Podstawy JS – wartości, typy danych, operatory. Zmienne. Przepływ sterowania. Wyrażenia regularne. JS i przeglądarki. | 2 |
T-W-3 | JavaScript ES2015. Programowanie obiektowe: Enkapsulacja. Interfejsy. Obiekty. Metody. Prototypy. Funkcja konstruktor. Operator new. Klasy. Polimorfizm. Interfejs Iterator. Gettery i settery. Dziedziczenie. Błędy i wyjątki. Funkcje wyższego rzędu. Drzewo DOM. | 2 |
T-W-4 | JavaScript ES2015. Biblioteki i API: Zdarzenia i ich obsługa. Połączenia asynchroniczne XMLHttpRequest i Fetch. Grafika rastrowa w Canvas. Grafika wektorowa w SVG. Animacje SVG. Drag-and-Drop API. Obsługa multimediów. Geolokalizacja i mapy. | 2 |
T-W-5 | Wprowadzenie do PHP: Środowisko deweloperskie. Serwer PHP. Podstawy PHP. Operatory. Zmienne i stałe. Przepływ sterowania. Funkcje. System plików. PHP i Web. | 2 |
T-W-6 | Zaawansowane PHP: Programowanie obiektowe. Klasy i obiekty. Konstruktor. Destruktor. Właściwości. Metody. Stałe w klasie. Dziedziczenie. Blokowanie nadpisywania metod. Poziomy widoczności. Type hinting i polmorfizm. Klasy abstrakcyjne. Interfejsy i traity. Referencje i klonowanie. Metody statyczne. Przestrzenie nazw. Wyjątki i ich obsługa. Baza danych. Interfejs PDO. Prepared Statements. Mapowanie obiektowo-relacyjne. | 2 |
T-W-7 | Zaawansowane PHP: PHP i Web. Obsługa formularzy. Obsługa JSON. Wyrażenia regularne. Sesje. Bufor wyjściowy. Pamięć podręczna. Poczta email. Usługi sieciowe Web Services. Testy jednostkowe. Debugowanie. Dokumentacja automatyczna. Akceleracja kodu. Profilowanie kodu. Podstawowe zasady bezpieczeństwa aplikacji. Obfuskacja kodu. | 2 |
T-W-8 | Wzorce projektowe. Geneza wzorców projektowych. Krótkie przypomnienie UML. Wzorce behawioralne. Wzorce kreacyjne. Wzorce strukturalne. | 2 |
T-W-9 | Narzędzia wspomagające rozwój oprogramowania: konteneryzacja, zarządzanie pakietami w technologiach PHP i JS. | 2 |
T-W-10 | Wprowadzenie do frameworków. Praktyczne wyjaśnienie zasadności wykorzystania frameworków w projektach. Budowa przykładowego frameworka. Przegląd frameworków. Instalacja i uruchomienie Symfony Framework. | 2 |
T-W-11 | Routing, kontrolery, szablony, baza danych, translacje. | 2 |
T-W-12 | Formularze, walidacja, bezpieczeństwo, uprawnienia. | 2 |
T-W-13 | Ciekawostki: zasiewanie bazy danych, komendy, serwisy, zaawansowane zapytania do bazy danych, testy jednostkowe, integracyjne i aplikacji. | 2 |
T-W-14 | Programowanie backendowe dla architektury jednostronicowej - konsumowanie API, serwowanie API, publikowanie danych w API, przyjmowanie danych w API, obiekty DTO. JSON Web Token (JWT). | 4 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Uczestnictwo w laboratoriach | 30 |
A-L-2 | Praca własna nad tworzonymi witrynami internetowymi. | 6 |
A-L-3 | Zaliczenie | 2 |
38 | ||
wykłady | ||
A-W-1 | Uczestnictwo w wykładach | 30 |
A-W-2 | Analiza i wykonanie we własnym zakresie przykładów prezentowanych na wykładzie. | 6 |
A-W-3 | Konsultacje | 2 |
38 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny |
M-2 | Wykład problemowy |
M-3 | Dyskusja dydaktyczna |
M-4 | Ćwiczenia przedmiotowe |
M-5 | Objaśnienie lub wyjaśnienie |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Kontrola poprawności realizacji zadania zdefiniowanego na poprzedzających laboratoriach |
S-2 | Ocena podsumowująca: Końcowe zaliczenie wykładu w formie ustnej lub w formie pisemnego testu złożonego z pytań otwartych |
S-3 | Ocena podsumowująca: Końcowe zaliczenie laboratoriów - w formie prezentacji przygotowanej witryny internetowej (zaliczenie obejmuje również kody przygotowanych skryptów) |
Zamierzone efekty uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_D02.11.3_W01 W wyniku przeprowadzonych zajęć student powinien być w stanie: 1. opisać składnię języka znacznikowego HTML wraz ze strukturami semantycznymi 2. omówić składnię kaskadowych arkuszy styli CSS 3. wyjaśnić pojęcia związane ze składnią i zastosowaniem języka skryptowego JavaScript w paradygmacie obiektowym 4. omówić programowanie aplikacji internetowych w architekturze monolitycznej i frontend-backend. | I_1A_W04 | — | — | C-2 | T-W-10, T-W-3, T-W-4, T-W-1, T-W-12, T-W-6, T-W-7, T-W-11, T-W-2, T-W-9, T-W-8, T-W-14, T-W-13, T-W-5 | M-1, M-2, M-5 | S-2 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_D02.11.3_U01 W wyniku przeprowadzonych zajęć student powinien być w stanie: 1. tworzyć dokumenty HTML z wykorzystaniem struktur semantycznych 2. dostosowywać wygląd dokumentów HTML z wykorzystaniem styli kaskadowych CSS 3. programować obiektowo z wykorzystaniem języka skryptowego JavaScript 4. wykorzystywać współczesne interfejsy programistyczne i biblioteki języka skryptowego JavaScript 5. tworzyć monolityczne systemy internetowe generowane przez technologię serwerową PHP 6. tworzyć systemy internetowe w architekturze frontend-backend | I_1A_U09, I_1A_U10 | — | — | C-1, C-3 | T-L-6, T-L-5, T-L-1, T-L-3, T-L-2, T-L-4, T-L-7 | M-3, M-4, M-5 | S-1, S-3 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_D02.11.3_W01 W wyniku przeprowadzonych zajęć student powinien być w stanie: 1. opisać składnię języka znacznikowego HTML wraz ze strukturami semantycznymi 2. omówić składnię kaskadowych arkuszy styli CSS 3. wyjaśnić pojęcia związane ze składnią i zastosowaniem języka skryptowego JavaScript w paradygmacie obiektowym 4. omówić programowanie aplikacji internetowych w architekturze monolitycznej i frontend-backend. | 2,0 | Student nie zna podstawowych pojęć związanych z programowaniem aplikacji internetowych. |
3,0 | Student jest w stanie samodzielnie omówić proces budowy podstawowych aplikacji internetowych w modelu monolitycznym i frontend-backend w paradygmacie obiektowym. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_D02.11.3_U01 W wyniku przeprowadzonych zajęć student powinien być w stanie: 1. tworzyć dokumenty HTML z wykorzystaniem struktur semantycznych 2. dostosowywać wygląd dokumentów HTML z wykorzystaniem styli kaskadowych CSS 3. programować obiektowo z wykorzystaniem języka skryptowego JavaScript 4. wykorzystywać współczesne interfejsy programistyczne i biblioteki języka skryptowego JavaScript 5. tworzyć monolityczne systemy internetowe generowane przez technologię serwerową PHP 6. tworzyć systemy internetowe w architekturze frontend-backend | 2,0 | Student nie jest w stanie stworzyć podstawowych aplikacji internetowych. |
3,0 | Student jest w stanie samodzielnie zbudować podstawowe aplikacje internetowe w modelu monolitycznym i frontend-backend w paradygmacie obiektowym. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Literatura podstawowa
- Kris Jahmsa, Ph. D., Introduction to Web Development using HTML5, Jones & Bartlett Learning, 2014
- Marjin Haverbeke, Eloquent JavaScript. Third Edition., No Starch Press, 2018, http://eloquentjavascript.net/
- Sarah Drasner, SVG Animations, O'Reilly Media, 2017
- Zend Technologies, Zend PHP Certification Study Guide, Zend Technologies, 2017, http://www.zend.com/en/services/certification/php-certification-study-guide
- Junade Ali, Mastering PHP Design Patterns, Packt Publishing, 2016
Literatura dodatkowa
- Farhad Ghayour, Diego Cantor, Real-Time 3D Graphics with WebGL 2, Packt Publishing, 2018
- Jesse Cravens, Jeff Burtoft, HTML5 Hacks, O'Reilly Media, 2013
- Eric Freeman, Elisabeth Robson, Head First Design Patterns, 2nd Edition, O'Reilly Media, 2020
- Simon Timms, Mastering JavaScript Design Patterns - Second Edition, Packt Publishing, 2016