Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania

Sylabus przedmiotu Aplikacje internetowe 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 Aplikacje internetowe 1
Specjalność Inżynieria systemów informacyjnych
Jednostka prowadząca Kolegium Dziekańskie
Nauczyciel odpowiedzialny Artur Karczmarczyk <Artur.Karczmarczyk@zut.edu.pl>
Inni nauczyciele Piotr Czapiewski <Piotr.Czapiewski@zut.edu.pl>, Jarosław Jankowski <Jaroslaw.Jankowski@zut.edu.pl>, Artur Karczmarczyk <Artur.Karczmarczyk@zut.edu.pl>, Bartłomiej Małachowski <Bartlomiej.Malachowski@zut.edu.pl>, Jerzy Pejaś <Jerzy.Pejas@zut.edu.pl>, Piotr Piela <Piotr.Piela@zut.edu.pl>
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 3 Grupa obieralna 1

Formy dydaktyczne

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

Wymagania wstępne

KODWymaganie wstępne
W-1Programowanie 2

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z zasadami budowy stron internetowych
C-2Ukształtowanie rozumienia podstawowych pojęć związanych ze środowiskiem WWW
C-3Ukształ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ęć

KODTreść programowaGodziny
laboratoria
T-L-1HTML 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-2JS 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-3Zaawansowane 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-4Budowa aplikacji klienckiej REST z użyciem XMLHttpRequest API oraz Fetch API.2
T-L-5TypeScript – Zen Garden. Przekształcenie statycznej witryny z laboratorium 1 do postaci aplikacji dynamicznej, wyświetlającej listę styli oraz umożliwiającej jej podmianę w sposób dynamiczny bez przeładowania strony.2
T-L-6Wprowadzenie do tworzenia systemów webowych w oparciu o backend. Opracowanie przykładowego szkieletu systemu uwzględniającego przyjmowanie i przetwarzanie danych.2
T-L-7Wprowadzenie 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-8Realizacja systemu webowego zgodnie z ustalonym harmonogramem. Front-controller, mapowanie obiektowo relacyjne, routing, szablony.8
T-L-9Hybrydowe aplikacje mobilne – przygotowanie aplikacji Android z wykorzystaniem kodu HTML/JS z poprzednich zajęć.2
30
wykłady
T-W-1HTML i CSS: Podstawy. Obrazki. Hiperłącza. Listy. Tabele.2
T-W-2HTML i CSS: 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. Preprocesory CSS na przykładzie LESS.2
T-W-3JavaScript 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-4JavaScript 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-5JavaScript 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-6Języki programowania dla przeglądarek WWW ze statyczną kontrolą typów. Problemy z JS. Wprowadzenie do TypeScript. Porównanie TS i JS. Instalacja TS. Typy. Funkcje. Polimorfizm. Obiektowość.2
T-W-7Wprowadzenie do PHP: Środowisko deweloperskie. Homestead. Serwer PHP. Podstawy PHP. Operatory. Zmienne i stałe. Przepływ sterowania.2
T-W-8Wprowadzenie do PHP: Funkcje. System plików. PHP i Web. Bazy danych. Dobre praktyki.2
T-W-9Zaawansowane 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.2
T-W-10Zaawansowane PHP: Baza danych. Interfejs PDO. Prepared Statements. Mapowanie obiektowo-relacyjne. PHP i Web. Obsługa formularzy. Obsługa JSON payload. Wyrażenia regularne. Sesje. Bufor wyjściowy. Pamięć podręczna. Poczta email.2
T-W-11Zaawansowane PHP: Usługi sieciowe Web Services. SOAP. REST. Testy jednostkowe. PhpUnit. Debugowanie i XDEBUG. Dokumentacja automatyczna. Akceleracja kodu. Profilowanie kodu. Podstawowe zasady bezpieczeństwa aplikacji. Obfuskacja kodu.2
T-W-12Architektura i SEO: Komunikacja klient-serwer. Protokół HTTP. SSL i HTTPS. Podstawowe standardy i organizacje webowe. Standardy PSR. Typy witryn. Wybieranie niszy. Optymalizacja witryny. Badanie słów kluczowych. Podstawy pozycjonowania witryn w wyszukiwarkach internetowych.2
T-W-13Wzorce projektowe. Geneza wzorców projektowych. Krótkie przypomnienie UML. Wzorce behawioralne: strategia. Wzorce kreacyjne: Simple Factory, Factory Method, Abstract Factory, Lazy Initialization, Builder, Prototype. Wzorce strukturalne: Decorator. Adapter. Façade.4
T-W-14Hybrydowe aplikacje mobilne – instalacja, platformy, pluginy, użycie API urządzenia (geolokalizacja, kompas, kamera, bateria, akcelerometr), merges, debugowanie w Chrome, usługi automatyzacji budowy aplikacji.2
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w laboratoriach30
A-L-2Praca własna nad tworzonymi witrynami internetowymi.18
A-L-3Konsultacje2
50
wykłady
A-W-1Uczestnictwo w wykładach30
A-W-2Analiza i wykonanie we własnym zakresie przykładów prezentowanych na wykładzie.18
A-W-3Konsultacje2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny
M-2Wykład problemowy
M-3Dyskusja dydaktyczna
M-4Ćwiczenia przedmiotowe
M-5Objaśnienie lub wyjaśnienie

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Kontrola poprawności realizacji zadania zdefiniowanego na poprzedzających laboratoriach
S-2Ocena podsumowująca: Końcowe zaliczenie wykładu w formie ustnej lub w formie pisemnego testu złożonego z pytań otwartych
S-3Ocena 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ó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
I_1A_D03.03.1_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_W04C-2T-W-7, T-W-11, T-W-1, T-W-8, T-W-9, T-W-10, T-W-5, T-W-4, T-W-2, T-W-3, T-W-14, T-W-12, T-W-13, T-W-6M-1, M-2, M-5S-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
I_1A_D03.03.1_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_U10C-1, C-3T-L-6, T-L-1, T-L-2, T-L-3, T-L-4, T-L-7, T-L-8, T-L-9, T-L-5M-3, M-4, M-5S-3, S-1

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_1A_D03.03.1_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,0Student nie zna podstawowych pojęć związanych z programowaniem aplikacji internetowych.
3,0Student 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ęOcenaKryterium oceny
I_1A_D03.03.1_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,0Student nie jest w stanie stworzyć podstawowych aplikacji internetowych.
3,0Student 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

  1. Kris Jahmsa, Ph. D., Introduction to Web Development using HTML5, Jones & Bartlett Learning, 2014
  2. Zend PHP Certification Study Guide (Developer's Library), Zend Technologies, 2017, available at: http://www.zend.com/en/services/certification/php-certification-study-guide
  3. Marjin Haverbeke, Eloquent JavaScript. Third Edition., No Starch Press, 2018, http://eloquentjavascript.net/
  4. Sarah Drasner, SVG Animations, O’Reilly Media, 2017
  5. Boris Cherny, Programming TypeScript, O’Reilly Media, 2019
  6. Junade Ali, Mastering PHP Design Patterns, Packt Publishing, 2016

Literatura dodatkowa

  1. Farhad Ghayour, Diego Cantor, Real-Time 3D Graphics with WebGL 2, Packt Publishing, 2018
  2. Jesse Cravens, Jeff Burtoft, HTML5 Hacks, O’Reilly Media, 2013
  3. Sebastien Dubois, Alexis Georges, Learn TypeScript 3 by Building Web Applications, Packt Publishing, 2019
  4. Eric Freeman, Elisabeth Robson, Head First Design Patterns, 2nd Edition, O’Reilly Media, 2020
  5. Simon Timms, Mastering JavaScript Design Patterns – Second Edition, Packt Publishing, 2016

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1HTML 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-2JS 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-3Zaawansowane 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-4Budowa aplikacji klienckiej REST z użyciem XMLHttpRequest API oraz Fetch API.2
T-L-5TypeScript – Zen Garden. Przekształcenie statycznej witryny z laboratorium 1 do postaci aplikacji dynamicznej, wyświetlającej listę styli oraz umożliwiającej jej podmianę w sposób dynamiczny bez przeładowania strony.2
T-L-6Wprowadzenie do tworzenia systemów webowych w oparciu o backend. Opracowanie przykładowego szkieletu systemu uwzględniającego przyjmowanie i przetwarzanie danych.2
T-L-7Wprowadzenie 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-8Realizacja systemu webowego zgodnie z ustalonym harmonogramem. Front-controller, mapowanie obiektowo relacyjne, routing, szablony.8
T-L-9Hybrydowe aplikacje mobilne – przygotowanie aplikacji Android z wykorzystaniem kodu HTML/JS z poprzednich zajęć.2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1HTML i CSS: Podstawy. Obrazki. Hiperłącza. Listy. Tabele.2
T-W-2HTML i CSS: 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. Preprocesory CSS na przykładzie LESS.2
T-W-3JavaScript 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-4JavaScript 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-5JavaScript 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-6Języki programowania dla przeglądarek WWW ze statyczną kontrolą typów. Problemy z JS. Wprowadzenie do TypeScript. Porównanie TS i JS. Instalacja TS. Typy. Funkcje. Polimorfizm. Obiektowość.2
T-W-7Wprowadzenie do PHP: Środowisko deweloperskie. Homestead. Serwer PHP. Podstawy PHP. Operatory. Zmienne i stałe. Przepływ sterowania.2
T-W-8Wprowadzenie do PHP: Funkcje. System plików. PHP i Web. Bazy danych. Dobre praktyki.2
T-W-9Zaawansowane 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.2
T-W-10Zaawansowane PHP: Baza danych. Interfejs PDO. Prepared Statements. Mapowanie obiektowo-relacyjne. PHP i Web. Obsługa formularzy. Obsługa JSON payload. Wyrażenia regularne. Sesje. Bufor wyjściowy. Pamięć podręczna. Poczta email.2
T-W-11Zaawansowane PHP: Usługi sieciowe Web Services. SOAP. REST. Testy jednostkowe. PhpUnit. Debugowanie i XDEBUG. Dokumentacja automatyczna. Akceleracja kodu. Profilowanie kodu. Podstawowe zasady bezpieczeństwa aplikacji. Obfuskacja kodu.2
T-W-12Architektura i SEO: Komunikacja klient-serwer. Protokół HTTP. SSL i HTTPS. Podstawowe standardy i organizacje webowe. Standardy PSR. Typy witryn. Wybieranie niszy. Optymalizacja witryny. Badanie słów kluczowych. Podstawy pozycjonowania witryn w wyszukiwarkach internetowych.2
T-W-13Wzorce projektowe. Geneza wzorców projektowych. Krótkie przypomnienie UML. Wzorce behawioralne: strategia. Wzorce kreacyjne: Simple Factory, Factory Method, Abstract Factory, Lazy Initialization, Builder, Prototype. Wzorce strukturalne: Decorator. Adapter. Façade.4
T-W-14Hybrydowe aplikacje mobilne – instalacja, platformy, pluginy, użycie API urządzenia (geolokalizacja, kompas, kamera, bateria, akcelerometr), merges, debugowanie w Chrome, usługi automatyzacji budowy aplikacji.2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w laboratoriach30
A-L-2Praca własna nad tworzonymi witrynami internetowymi.18
A-L-3Konsultacje2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w wykładach30
A-W-2Analiza i wykonanie we własnym zakresie przykładów prezentowanych na wykładzie.18
A-W-3Konsultacje2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D03.03.1_W01W 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.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W04Ma wiedzę w zakresie programowania systemów komputerowych, zna podstawowe paradygmaty programowania i wiodące języki programowania.
Cel przedmiotuC-2Ukształtowanie rozumienia podstawowych pojęć związanych ze środowiskiem WWW
Treści programoweT-W-7Wprowadzenie do PHP: Środowisko deweloperskie. Homestead. Serwer PHP. Podstawy PHP. Operatory. Zmienne i stałe. Przepływ sterowania.
T-W-11Zaawansowane PHP: Usługi sieciowe Web Services. SOAP. REST. Testy jednostkowe. PhpUnit. Debugowanie i XDEBUG. Dokumentacja automatyczna. Akceleracja kodu. Profilowanie kodu. Podstawowe zasady bezpieczeństwa aplikacji. Obfuskacja kodu.
T-W-1HTML i CSS: Podstawy. Obrazki. Hiperłącza. Listy. Tabele.
T-W-8Wprowadzenie do PHP: Funkcje. System plików. PHP i Web. Bazy danych. Dobre praktyki.
T-W-9Zaawansowane 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.
T-W-10Zaawansowane PHP: Baza danych. Interfejs PDO. Prepared Statements. Mapowanie obiektowo-relacyjne. PHP i Web. Obsługa formularzy. Obsługa JSON payload. Wyrażenia regularne. Sesje. Bufor wyjściowy. Pamięć podręczna. Poczta email.
T-W-5JavaScript 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.
T-W-4JavaScript 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.
T-W-2HTML i CSS: 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. Preprocesory CSS na przykładzie LESS.
T-W-3JavaScript 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.
T-W-14Hybrydowe aplikacje mobilne – instalacja, platformy, pluginy, użycie API urządzenia (geolokalizacja, kompas, kamera, bateria, akcelerometr), merges, debugowanie w Chrome, usługi automatyzacji budowy aplikacji.
T-W-12Architektura i SEO: Komunikacja klient-serwer. Protokół HTTP. SSL i HTTPS. Podstawowe standardy i organizacje webowe. Standardy PSR. Typy witryn. Wybieranie niszy. Optymalizacja witryny. Badanie słów kluczowych. Podstawy pozycjonowania witryn w wyszukiwarkach internetowych.
T-W-13Wzorce projektowe. Geneza wzorców projektowych. Krótkie przypomnienie UML. Wzorce behawioralne: strategia. Wzorce kreacyjne: Simple Factory, Factory Method, Abstract Factory, Lazy Initialization, Builder, Prototype. Wzorce strukturalne: Decorator. Adapter. Façade.
T-W-6Języki programowania dla przeglądarek WWW ze statyczną kontrolą typów. Problemy z JS. Wprowadzenie do TypeScript. Porównanie TS i JS. Instalacja TS. Typy. Funkcje. Polimorfizm. Obiektowość.
Metody nauczaniaM-1Wykład informacyjny
M-2Wykład problemowy
M-5Objaśnienie lub wyjaśnienie
Sposób ocenyS-2Ocena podsumowująca: Końcowe zaliczenie wykładu w formie ustnej lub w formie pisemnego testu złożonego z pytań otwartych
Kryteria ocenyOcenaKryterium oceny
2,0Student nie zna podstawowych pojęć związanych z programowaniem aplikacji internetowych.
3,0Student 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
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D03.03.1_U01W 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
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U09Potrafi analizować i oceniać przydatność języków, platform programistycznych i narzędzi informatycznych do rozwiązywania wybranych problemów inżynierskich w dziedzinie informatyki.
I_1A_U10Potrafi projektować i implementować systemy informatyczne posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania na różnych jego etapach.
Cel przedmiotuC-1Zapoznanie studentów z zasadami budowy stron internetowych
C-3Ukształtowanie umięjętności budowy prostych aplikacji internetowych, z położeniem głównego nacisku na wysoki poziom interaktywności aplikacji.
Treści programoweT-L-6Wprowadzenie do tworzenia systemów webowych w oparciu o backend. Opracowanie przykładowego szkieletu systemu uwzględniającego przyjmowanie i przetwarzanie danych.
T-L-1HTML i CSS – Zen Garden – tworzenie pojedynczej strony HTML i zestawu styli CSS zmieniających jej wygląd, w zależności od wybranego stylu.
T-L-2JS 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.
T-L-3Zaawansowane 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ść.
T-L-4Budowa aplikacji klienckiej REST z użyciem XMLHttpRequest API oraz Fetch API.
T-L-7Wprowadzenie 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.
T-L-8Realizacja systemu webowego zgodnie z ustalonym harmonogramem. Front-controller, mapowanie obiektowo relacyjne, routing, szablony.
T-L-9Hybrydowe aplikacje mobilne – przygotowanie aplikacji Android z wykorzystaniem kodu HTML/JS z poprzednich zajęć.
T-L-5TypeScript – Zen Garden. Przekształcenie statycznej witryny z laboratorium 1 do postaci aplikacji dynamicznej, wyświetlającej listę styli oraz umożliwiającej jej podmianę w sposób dynamiczny bez przeładowania strony.
Metody nauczaniaM-3Dyskusja dydaktyczna
M-4Ćwiczenia przedmiotowe
M-5Objaśnienie lub wyjaśnienie
Sposób ocenyS-3Ocena podsumowująca: Końcowe zaliczenie laboratoriów - w formie prezentacji przygotowanej witryny internetowej (zaliczenie obejmuje również kody przygotowanych skryptów)
S-1Ocena formująca: Kontrola poprawności realizacji zadania zdefiniowanego na poprzedzających laboratoriach
Kryteria ocenyOcenaKryterium oceny
2,0Student nie jest w stanie stworzyć podstawowych aplikacji internetowych.
3,0Student 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