Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria komputerowa
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 | Katedra Inżynierii Systemów Informacyjnych | ||
Nauczyciel odpowiedzialny | Izabela Rejer <irejer@wi.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
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Programowanie 2 |
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 | Przygotowanie pracy - wybór tematyki aplikacji wstępnej, serwera, edytora, założenie konta na serwerze, zgromadzenie informacji itp. Przygotowanie projektu witryny internetowej. | 2 |
T-L-2 | Utworzenie zestawu stron (HTML) powiązanych systemem linków. Utworzenie zestawu arkuszy stylów dla tworzonej witryny, wraz z arkuszami przeznaczonymi dla menu stron (CSS). | 4 |
T-L-3 | Realizacja apliakcji w JavaScript i DOM API: odczytywanie zawartości elementów, dynamiczne tworzenie elementów, wyszukiwanie elementów, modyfikacja stylów elementów, odczytywanie i walidacja danych w formualrzach. | 2 |
T-L-4 | Projekt prostej apliakcji w JavaScript korzystającej z Geolocation API, Google Maps API oraz Notification API. | 4 |
T-L-5 | Realizacja gry w JavaScript (układanie Puzzli) z użyciem mechanizmu Drag and Drop | 2 |
T-L-6 | Budowa aplikacji klienckiej REST z użyciem XMLHttpRequest API. | 2 |
T-L-7 | Projekt apliakcji w języku TypeScript: konfiguracja projektu, określanie zależności i konfiguracja narzędzi, kompilacja i uruchamianie. | 2 |
T-L-8 | Wprowadzenie do tworzenia systemów webowych w oparciu o backend. Przygotowanie specyfikacji wymagań, user stories, work breakdown structure, metoda Delphi, tworzenie harmonogramów, klikalne makiety nowej aplikacji. Realizacja systemu webowego zgodnie z ustalonym harmonogramem | 4 |
T-L-9 | Realizacja systemu webowego zgodnie z ustalonym harmonogramem: Mapowanie obiektowo-relacyjne; Uprawnienia. REST API server; Testy jednostkowe | 6 |
T-L-10 | Hybrydowe aplikacje mobilne oparte o WebView, z wykorzystaniem TypeScript i REST API | 2 |
30 | ||
wykłady | ||
T-W-1 | HTML: Języki znaczników; struktura dokumentu; meta dane; media a prawo autorskie, optymalizacja grafiki dla WWW, hiperłącza, znaczniki semantyczne i formatujące; odnośniki, listy i tabele; obsługa formularzy; reguły walidacji; zasady tworzenia stron WWW | 2 |
T-W-2 | HTML+CSS: Geneza HTML 5, kontrolki wideo, kontrolki audio, nowe znaczniki strukturalne i semantyczne; CSS: Podstawowe definicje; integracja stylów z dokumentem; składnia CSS, budowa reguły stylu; rodzaje selektorów, zasady kaskadowości | 2 |
T-W-3 | CSS: box model, reguły pozycjonowania elementów serwisu; zaawansowane reguły CSS, układ treści strony, responsywność, transformacje i obroty, poziom wsparcia w przeglądarkach, preprocesory CSS (Sass) | 2 |
T-W-4 | Architektura 1: komunikacja klient-server, zadania klienta i serwera WWW; protokół HTTP; struktura komunikatu HTTP; protokół HTTPS; zmienne cookies; podstawowe standardy; IETF oraz W3C; SEO | 2 |
T-W-5 | Architektura 2: model aplikacji internetowej, środowiska komponentowe, wzorce projektowe; web services, architektura REST, znacznikowe formaty wymiany danych, aplikacje typu SPA (Single Page Application), serwery aplikacji | 2 |
T-W-6 | Języki programowania w środowisku przeglądarki WWW. Geneza powstania i historia rozwoju języków skryptowych w przeglądarkach. Standaryzacja i wersje języka. Osadzanie skryptów w dokumentach HTML. Podstawy programowania skryptów w środowisku przeglądarki WWW: instrukcje, zmienne (definiowanie, zasięg), typy danych (proste i referencyjne), literały, funkcje (deklaracje, wyrażenia funkcyjne, przeciążanie, obiekt this), komentarze, wyrażenia regularne | 2 |
T-W-7 | JavaScript - programowanie obiektowe. Definiowanie, wykrywanie i usuwanie właściwości obiektów, rodzaje właściwości, atrybuty właściwości. Konstruktory. Prototypy, modyfikowanie prototypów, prototypy wbudowanych obiektów. Dziedziczenie: łańcuchy prototypów, dziedziczenie obiektów, dziedziczenie konstruktorów, pojęcie supertypu | 2 |
T-W-8 | Przegląd przeglądarkowych interfejsów programistycznych. Document Object Model API – tworzenie, modyfikacja i usuwanie elementów dokumentu; metody selekcji elementów; manipulacja stylami; obsługa zdarzeń. XMLHttpRequest API – wysyłanie żądań HTTP, żądania synchroniczne i asynchroniczne. Manipulacja grafiką: Canvas API, WebGL. Drag and drop API. Interfejsy obsługi treści audio i wideo. Przechowywanie danych – Lacal Storage API. Geolokalizacja – Geolocation APIPodstawy | 2 |
T-W-9 | Podstawy programowania backend 1: składnia, semantyka, tablice, operatory, zmienne i stałe, instrukcje warunkowe, pętle | 2 |
T-W-10 | Podstawy programowania backend 2 – funkcje, parametry, zwracanie wartości przez referencję, system plików, interpretowane języki programowania i Web (POST, GET, cookies, sesje), bazy danych | 2 |
T-W-11 | Zaawansowane programowanie backend 1: programowanie obiektowe, stałe, dziedziczenie, type hinting, polimorfizm, klasy abstrakcyjne, interfejsy, traits | 2 |
T-W-12 | Zaawansowane programowanie backend 2: metody statyczne, late static binding, przestrzenie nazw, wyjątki i ich obsługa, mapowanie obiektowo-relacyjne | 2 |
T-W-13 | Zaawansowane programowanie backend 3: języki interpretowane i Web (obsługa formularzy, walidacje, wyrażenia regularne, output buffer, nagłówki cache, email), API REST, przetwarzanie XML, przetwarzanie JSON, testy jednostkowe, podejście Red-Green-Refactor, debugger, annotations, akceleracja kodu, profilowanie kodu, obfuskacja kodu | 2 |
T-W-14 | Języki programowania dla przeglądarek WWW ze statyczną kontrolą typów. Założenia, przyczyny powstania, zalety. Porównanie języków przeglądarkowych ze statyczną i dynamiczną kontrolą typów. Narzędzia do kompilacji. Typy: składnia określania typów, wnioskowanie typów, rzutowanie, typy wyliczeniowe, stałe. Funkcje: typy parametrów i zwracane przez funkcje, parametry opcjonalne i domyślne, funkcje zwrotne. Obiektowość: interfejsy, klasy, funkcje i właściwości statyczne, przestrzenie nazw, klasy abstrakcyjne, domknięcia. Mechanizmy programowania asynchronicznego | 2 |
T-W-15 | Hybrydowe 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
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Uczestnictwo w laboratoriach | 30 |
A-L-2 | Praca własna nad tworzonymi witrynami internetowymi. | 18 |
A-L-3 | Zaliczenie | 2 |
50 | ||
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. | 18 |
A-W-3 | Egzamin | 2 |
50 |
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_D03.03.1_W01 W wyniku przeprowadzonych zajęć studen powinien być w stanie scharakteryzować sposób działania architektury klient - serwer w środowisku internetowym, opisać działanie podstawowych protokołów sieciowych, wyjaśnić podstawowe pojęcia związane z tworzeniem stron internetowych, scharakteryzować wybrane środowiska do budowy aplikacji internetowych (po stronie klienta oraz serwera) | I_1A_W04 | — | — | C-2 | T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-7, T-W-6, T-W-14, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-15 | 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_D03.03.1_U01 Po zakończeniu przedmiotu student będzie potrafił zbudować witrynę internetową pozwalającą na prezentację wybranych treści w Internecie, z położeniem głównego nacisku na intuicyjność obsługi witryny przez użytkownika. | I_1A_U09, I_1A_U10 | — | — | C-1, C-3 | T-L-4, T-L-3, T-L-5, T-L-6, T-L-7, T-L-1, T-L-2, T-L-8, T-L-9, T-L-10 | M-3, M-4, M-5 | S-3, S-1 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_D03.03.1_W01 W wyniku przeprowadzonych zajęć studen powinien być w stanie scharakteryzować sposób działania architektury klient - serwer w środowisku internetowym, opisać działanie podstawowych protokołów sieciowych, wyjaśnić podstawowe pojęcia związane z tworzeniem stron internetowych, scharakteryzować wybrane środowiska do budowy aplikacji internetowych (po stronie klienta oraz serwera) | 2,0 | Student nie zna podstawowych pojęć związanych z programowaniem aplikacji internetowych |
3,0 | Student jest w stanie zdefiniować podstawowe pojęcia związane z programowaniem aplikacji internetowych | |
3,5 | Student jest w stanie opisać podstawowe etapy budowy stron internetowych | |
4,0 | Student jest w stanie zastosować zdobytą wiedzę w praktyce, czyli jest w stanie rozwiązać postawione przed nim zadanie za pomocą wskazanej technologii internetowej | |
4,5 | Student jest w stanie dokonać analizy porównawczej różnych środowisk służących do budowych aplikacji internetowych | |
5,0 | Student jest w stanie dokonać oceny wskazanych środowisk służących do budowych aplikacji internetowych pod kątem ich adekwatności do postawionego przed nim zadania |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_D03.03.1_U01 Po zakończeniu przedmiotu student będzie potrafił zbudować witrynę internetową pozwalającą na prezentację wybranych treści w Internecie, z położeniem głównego nacisku na intuicyjność obsługi witryny przez użytkownika. | 2,0 | Student nie jest w stanie stworzyć prostej witryny internetowej |
3,0 | Student jest w stanie stworzyć prostą witrynę internetową | |
3,5 | Student jest w stanie stworzyć witrynę internetową współpracującą z bazą danych | |
4,0 | Student jest w stanie stworzyć witrynę internetową współpracującą z bazą danych, wyposażoną w mechanizm logowania i rejestracji | |
4,5 | Student jest w stanie stworzyć witrynę internetową współpracującą z bazą danych, wyposażoną w mechanizm logowania i rejestracji, pozwalającą na przeprowadzenie poprawnej walidacji danych wprowadzanych przez użytkowników | |
5,0 | Student jest w stanie stworzyć witrynę internetową współpracującą z bazą danych, wyposażoną w mechanizm logowania i rejestracji, pozwalającą na przeprowadzenie poprawnej walidacji danych wprowadzanych przez użytkowników oraz jest w stanie uatrakcyjnić witrynę pod względem wizualnym oraz zwiększyć intuicyjność obsługi witryny |
Literatura podstawowa
- Matthew MacDonald, HTML5. Nieoficjalny podręcznik, Helion, 2014
- Chuck Hudson, Tom Leadbetter, HTML5. Podręcznik programisty, Helion, 2013
- David Sawyer McFarland, CSS. Nieoficjalny podręcznik, Helion, 2016
- Nathan Rozentals, Język TypeScript. Tajniki kodu, Helion, 2017
- Nicholas C. Zakas, JavaScript. Zasady programowania obiektowego, Helion, 2014
- Matt Zandstra, PHP. Obiekty, wzorce, narzędzia., Helion, Gliwice, 2014
Literatura dodatkowa
- Bartosz Chucherko, Sass. Nowoczesne arkusze stylów, Helion, 2017
- Zend PHP Certification Study Guide (Developer's Library), Zend Technologies, 2017, available at: http://www.zend.com/en/services/certification/php-certification-study-guide