Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria komputerowa
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 | Izabela Rejer <irejer@wi.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: Założenie konta na serwerze HTTP. 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-2 | 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-3 | Realizacja gry w JavaScript (układanie Puzzli) z użyciem mechanizmu Drag and Drop | 2 |
T-L-4 | Budowa aplikacji klienckiej REST z użyciem XMLHttpRequest API. | 2 |
T-L-5 | Projekt interfejsu użytkownika aplikacji webowej | 4 |
T-L-6 | Mini projekt aplikacji webowej w Angular Framework | 6 |
T-L-7 | Programowanie backend. Front controller. Mapowanie obiektowo relacyjne. Szablony. Zarządzanie sesjami, rejestracja, uwierzytelnianie, uprawnienia | 4 |
T-L-8 | Zaawansowane programowanie backend: Programowanie obiektowe, interfejsy, traits. REST API server. | 2 |
T-L-9 | Aplikacje webowe z wykorzystaniem frameworków. Serwer REST API z wykorzystaniem frameworka. Komendy konsolowe. Cron | 4 |
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 | CSS: Podstawowe definicje; integracja stylów z dokumentem; składnia CSS, budowa reguły stylu; rodzaje selektorów, zasady kaskadowości, CSS: box model, reguły pozycjonowania elementów serwisu | 2 |
T-W-3 | Architektura aplikacji internetowych: komunikacja klient-server, zadania klienta i serwera WWW; protokół HTTP; struktura komunikatu HTTP; protokół HTTPS; zmienne cookies; podstawowe standardy; IETF oraz W3C; SEO Model aplikacji internetowej, środowiska komponentowe, wzorce projektowe; | 2 |
T-W-4 | Język skryptowe wykorzystywane w środowisku przeglądarki WWW: Geneza powstania i historia rozwoju. Standaryzacja i wersje języka. Osadzanie skryptów w dokumentach HTML. Składnia i semantyka języka: 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. 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. | 2 |
T-W-5 | Przegląd przeglądarkowych interfejsów programistycznych WebAPI: 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 API. | 2 |
T-W-6 | Podstawy programowanie backend - składnia, semantyka, tablice, operatory, zmienne i stałe, instrukcje warunkowe, pętle, funkcje, parametry, zwracanie wartości przez referencję, system plików, PHP i Web (POST, GET, cookies, sesje) | 4 |
T-W-7 | Zaawansowane programowanie backend - programowanie obiektowe, stałe, dziedziczenie, type hinting, polimorfizm, klasy abstrakcyjne, interfejsy, traits, ORM | 2 |
T-W-8 | Frameworki do budowy aplikacji typu Single Page: Załażenia i struktura platformy na przykładzie wybranej platformy. Narzędzia wspomagające budowę i uruchamiania aplikacji. Konfiguracja projektu. Pojęcie komponentu. Definiowanie komponentów. Style i szablony komponentów. Wiązania danych. Dwukierunkowe wiązania danych. Dodawania stylów do elementów. Tworzenie komponentów interfejsu użytkownika. Usługi i wstrzykiwania zależności. Routing w aplikacji. Wywołania HTTP. Stosowanie formularzy, walidacja formularzy. Ładowanie plików na serwer. Podstawy techniki i narzędzi debugowania i testowania aplikacji SPA. | 4 |
T-W-9 | Projektowanie interfejsów użytkownika aplikacji WWW (standardy i wzorce projektowania, architektura i modele przepływu informacji, techniki modelowania, narzędzia do prototypowania) | 4 |
T-W-10 | Protokół HTTP i wprowadzenie do frameworków, aplikacje we frameworkach vs aplikacja "od zera" (izolacja warstwy widoku, izolacja logiki aplikacji, front controller, szablony), instalacja i konfiguracja frameworka Pierwsza strona we frameworku, kontroler, routing, szablony - 2h Baza danych – ORM, debugowanie SQL, DQL, relacje, lazy loading, join, formularze i walidacja, użytkownicy i system uprawnień, Komendy konsolowe, testy jednostkowe, automatyczne testy funkcjonalne, usługi, tworzenie serwera REST, scaffolding, moduły admin | 4 |
T-W-11 | Hybrydowe aplikacje mobilne – instalacja, platformy, pluginy, użycie API urządzenia (geolokalizacja, kompas, kamera, bateria, akcelerometr), merges, debugowanie w Chrome, usługi automatyzacji budowania 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. | 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. | 8 |
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ęć 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-4, T-W-5, T-W-3, T-W-6, T-W-8, T-W-10, T-W-11 | 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 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-2, T-L-5, T-L-3, T-L-4, T-L-6, T-L-1, T-L-7, T-L-8, T-L-9 | 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ęć 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_D02.11.3_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
- Yakov Fain, Anton Moiseev, Angular 2. Programowanie z użyciem języka TypeScript, Helion, 2017
- Matthew MacDonald, HTML5. Nieoficjalny podręcznik, Helion, 2014
- Matt Zandstra, PHP. Obiekty, wzorce, narzędzia, Helion, Gliwice, 2014
Literatura dodatkowa
- Chuck Hudson, Tom Leadbetter, HTML5. Podręcznik programisty, Helion, 2013
- Nicholas C. Zakas, JavaScript. Zasady programowania obiektowego, Helion, 2014
- Zend PHP Certification Study Guide (Developer's Library), Zend Technologies, 2017, at: http://www.zend.com/en/services/certification/php-certification-study-guide