Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Techniki internetowe
Tok studiów:
2018/2019
Kod:
JIS-1-003-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka Stosowana
Semestr:
0
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
dr inż. Dydejczyk Antoni (dydejcz@agh.edu.pl)
Osoby prowadzące:
dr inż. Dydejczyk Antoni (dydejcz@agh.edu.pl)
dr inż. Krupińska Grażyna (grazyna@fis.agh.edu.pl)
Krótka charakterystyka modułu

Student dysponuje aktualną wiedzą na temat realizacji projektów działających w serwisach WWW. Omówiony zostanie model MVC, wzorzec RESTful. Prezentacja serwisów WWW w chmurach obliczeniowych.

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student zna i rozumie podstawowe* pojęcia i zagadnienia związane z projektowaniem serwisów WWW. * - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu IS1A_W05, IS1A_W03 Aktywność na zajęciach,
Udział w dyskusji,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_W002 Student dysponuje aktualną wiedzą na temat realizacji projektów działających w serwisach WWW. Ma podstawową wiedzę dotyczącą bezpieczeństwa tych serwisów. Zna podstawy technologii WebService. IS1A_W06, IS1A_W04, IS1A_W02, IS1A_W03 Aktywność na zajęciach,
Udział w dyskusji,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
Umiejętności
M_U001 Student potrafi opracować poprawnie serwis WWW z wykorzystaniem interfejsu CGI, języków skryptowych uruchamianych po stronie serwera i klienta. IS1A_U06, IS1A_U04, IS1A_U07, IS1A_U05 Wykonanie ćwiczeń laboratoryjnych
M_U002 Student potrafi opracować prosty serwis WWW zgodnie z zaleceniami konsorcjum W3C. Umie wykorzystać w projektach wzorzec projektowy MVC i RESTful. IS1A_U03, IS1A_U06, IS1A_U04, IS1A_U02, IS1A_U07, IS1A_U05, IS1A_U01 Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_U003 Student potrafi wykorzystać w aplikacji struktury danych oraz dane zapisane w języku XML. Potrafi opracować prosty serwis w technologii WebService. IS1A_U04, IS1A_U07, IS1A_U05, IS1A_U01 Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne
M_K001 Student umie przedstawić wykonany projekt w sposób komunikatywny oraz potrafi określić warunki jego komercjalizacji. IS1A_K03, IS1A_K01 Udział w dyskusji,
Wykonanie projektu
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student zna i rozumie podstawowe* pojęcia i zagadnienia związane z projektowaniem serwisów WWW. * - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu + - + + - - - - - - -
M_W002 Student dysponuje aktualną wiedzą na temat realizacji projektów działających w serwisach WWW. Ma podstawową wiedzę dotyczącą bezpieczeństwa tych serwisów. Zna podstawy technologii WebService. + - + + - - - - - - -
Umiejętności
M_U001 Student potrafi opracować poprawnie serwis WWW z wykorzystaniem interfejsu CGI, języków skryptowych uruchamianych po stronie serwera i klienta. - - + + - - - - - - -
M_U002 Student potrafi opracować prosty serwis WWW zgodnie z zaleceniami konsorcjum W3C. Umie wykorzystać w projektach wzorzec projektowy MVC i RESTful. - - + + - - - - - - -
M_U003 Student potrafi wykorzystać w aplikacji struktury danych oraz dane zapisane w języku XML. Potrafi opracować prosty serwis w technologii WebService. - - + + - - - - - - -
Kompetencje społeczne
M_K001 Student umie przedstawić wykonany projekt w sposób komunikatywny oraz potrafi określić warunki jego komercjalizacji. - - - + - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
  1. Serwis WWW – wprowadzenie.

    Podstawowe pojęcia z zakresu serwisów WWW. Historia rozwoju technologii. Powstanie i znaczenie konsorcjum W3C w rozwoju technologii internetowych. Wprowadzenie pojęcia przeglądarka i wyszukiwarka. Omówienie terminów Web 2.0 i Semantic Web. Prezentacja podstawowych technologii wykorzystywanych w tworzeniu aplikacji działających w środowisku WWW.

  2. Języki wykorzystywane w tworzeniu stron WWW.

    Omówienie języków do prezentacji treści : HTML 5, języka XHTML 1.1 oraz języka XML. Przedstawienie języków umożliwiających reprezentację graficzną CSS i XSL. Omówienie narzędzi do przetwarzania i sprawdzania poprawności dokumentów utworzonych w językach hipertekstowych – parsery i walidatory. Przedstawienie technologii wyszukiwania informacji w strukturach XML – język XPath. Rola języka ECMAscript w przetwarzaniu dokumentów WWW po stronie klienta.

  3. Przetwarzanie dokumentów w serwisie WWW.

    Prezentacja protokołu HTTP i HTTPS. Przedstawienie struktury komunikatu żądania i odpowiedzi. Specyfikacja MIME. Zadania realizowane przez zmienne COOKIE w serwisie WWW. Prezentacja podstawowych mechanizmów uwierzytelniania w serwisie WWW. Prezentacja podstawowych zadań realizowanych przez serwer WWW. Prezentacja skryptów w technologii CGI (Common Gateway Interface). Omówienie różnic w uruchamianiu aplikacji po stronie serwera w ramach technologii CGI lub modułu serwera WWW.

  4. Technologia szablonów w serwisach WWW.

    Wzorzec projektowy MVC w projektach serwisów WWW. Szablony opracowane w języku PHP. Dostęp do baz danych w ramach wzorca MVC. Relacyjne bazy danych w serwisie WWW.

  5. Styl projektowania aplikacji RESTful

    Wielowarstwowe aplikacje WWW. Projektowanie aplikacji klient – serwer z wykorzystaniem stylu RESTful. Obsługa baz danych zgodna z pojęciem CRUD. Wprowadzenie do baz danych typu NoSQL.

  6. Dostęp do serwisu WWW poprzez protokół AJAX i technologię WebService.

    Podstawowe elementy technologii WebService. Protokół transmisji danych SOAP, język opisu WSDL i technologia udostępniania informacji o serwisie – UDDI. Działanie technologii AJAX i jej realizacja z wykorzystaniem języka ECMAScript.

  7. Bezpieczeństwo serwisu WWW.

    Uprawnienia systemowe użytkowników. Metody weryfikacji poprawności serwisu WWW. Omówienie najbardziej popularnych błędów w trakcie realizacji projektu związanego z serwisem WWW.

Ćwiczenia laboratoryjne:
  1. Projektowanie prostych statycznych stron WWW

    Efekty kształcenia:

    • student potrafi napisać prostą stronę zgodnie z specyfikacją HTML5 i zweryfikować ją za pomocą walidatora,
    • student potrafi opracować skrypt CSS formatujący opracowany dokument HTML, oraz zweryfikować jego poprawność odpowiednim walidatorem,
    • student potrafi opracować prosty dokument XML,
    • student potrafi przeszukiwać dokument XML wykorzystując język zapytań XPath,
    • student potrafi przetworzyć dokument XML z wykorzystaniem technologii XSLT i języka XSL.

  2. Projektowanie prostych aktywnych stron WWW

    Efekty kształcenia:

    • student potrafi nawigować po dokumencie HTML wykorzystując model DOM i język skryptowy ECMAScript,
    • student potrafi wykorzystać język ECMAScript do walidacji formularza,
    • student potrafi wykorzystać język ECMAScript do realizacji prostej funkcjonalności po stronie przeglądarki,
    • student potrafi wykorzystać bibliotekę jQuery do realizacji powyższych zadań.

  3. Tworzenie prostych stron dynamicznych z wykorzystaniem interfejsu CGI

    Efekty kształcenia:

    • student umie poprawnie wykorzystać metody GET i POST protokołu HTTP,
    • student potrafi opracować prostą aplikację WWW wykorzystującą interfejs CGI, w języku C, języku powłoki systemowej lub języku perl,
    • student potrafi wykorzystać zmienne COOKIE do przekazywania informacji pomiędzy klientem i serwerem WWW,
    • student potrafi opracować prosty system uwierzytelniania klienta serwisu WWW z wykorzystaniem technologii uwierzytelniania http BASIC.

  4. Realizacja aplikacji z wykorzystaniem języka PHP

    Efekty kształcenia:

    • student potrafi napisać stronę z wykorzystaniem zmiennych sesyjnych przechowywanych po stronie serwera,
    • student potrafi opracować prosty serwis WWW z wykorzystaniem warstw : kontroler i widok,
    • student potrafi opracować prosty system z dostępem do bazy danych lub do pliku danych.

  5. Technologia AJAX

    Efekty kształcenia:

    • student potrafi napisać skrypt w ECMASCript obsługujący obiekt XMLHttpRequest,
    • student umie przesłać dane do serwisu WWW z wykorzystaniem metody GET i POST protokołu HTTP,
    • student umie odebrać dane z serwera WWW i umieścić je w ramach strony WWW z wykorzystaniem operacji innerHTML,
    • student umie zrealizować zadanie z wykorzystaniem biblioteki jQuery.

  6. Technologia WebService

    Efekty kształcenia:

    • student potrafi opracować prosty serwis WWW z wykorzystaniem języka PHP, perl;
    • student potrafi opracować prostą definicję serwisu w języku WSDL,
    • student potrafi poprawnie napisać klienta wykorzystującego plik WSDL w języku PHP i perl.

  7. Styl RESTful

    Efekty kształcenia:

    • student potrafi napisać aplikację klient – serwer zgodnie z stylem RESTful
    • student potrafi wykorzystać bazę danych w ramach usług CRUD.

Ćwiczenia projektowe:
Projekt

W trakcie semestru student realizuje dwa projekty. Tematy projektów wybiera student po konsultacji z prowadzącym laboratorium. W ramach projektów należy stworzyć działające aplikacje w serwisie WWW udostępnionym na Wydziale.
Efekty kształcenia:

  • student potrafi opracować projekt serwisu WWW, zdefiniować założenia i przeprowadzić analizę wymagań użytkownika, zaprojektować podstawową funkcjonalność realizowaną przez serwis,
  • student potrafi opracować serwis w określonym języku hipertekstowym, przeprowadzić jego walidację,
  • student potrafi opracować skrypt formatujący zawartość strony zgodnie z językiem CSS,
  • student potrafi wykorzystać technologię AJAX do realizacji projektu serwisu WWW,
  • student potrafi opracować serwis uwierzytelnienia użytkownika w serwisie, opanować funkcjonalności związane z zmiennymi sesyjnymi i zmiennymi COOKIE,
  • student potrafi opracować prosty schemat dostępu do bazy danych (baza relacyjna względnie baza NoSQL)
  • student potrafi opracować i wykonać prosty system zgodnie ze wzorcem projektowym MVC.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 152 godz
Punkty ECTS za moduł 6 ECTS
Udział w wykładach 30 godz
Samodzielne studiowanie tematyki zajęć 30 godz
Udział w ćwiczeniach laboratoryjnych 22 godz
Przygotowanie do zajęć 30 godz
Udział w ćwiczeniach projektowych 6 godz
Wykonanie projektu 34 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

1. W ramach laboratorium komputerowego studenci wykonują szereg ćwiczeń oraz dwa zadania za które mogą zdobyć określoną liczbę punktów.
2. W trakcie semestru studenci wykonają samodzielnie dwa małe projekty podsumowujące przerobiony materiał na zajęciach laboratoryjnych. Projekty programistyczne oceniane będą zgodnie ze szczegółowymi kryteriami zamieszczonymi na stronie przedmiotu oraz przedstawionymi na pierwszych zajęciach.
3. W ramach zajęć odbędzie się jedna praca kontrolna sprawdzająca przygotowanie teoretyczne studentów.

Ocena końcowa z przedmiotu obliczana jest zgodnie z Regulaminem Studiów AGH po przeliczeniu uzyskanych punktów na ocenę końcową. Maksymalna liczba punktów za udział w laboratoriach i realizację zadań w trakcie ich trwania 40, maksymalna liczba punktów pracy kontrolnej 10 (minimalna liczba punktów do zaliczenia pracy kontrolnej – 5), maksymalna liczba punktów za realizację projektów 50.

Wymagania wstępne i dodatkowe:

Podstawowa wiedza z kursów wprowadzających do informatyki.

Zalecana literatura i pomoce naukowe:
  • K.Coar, R.Bowen, Apache receptury, Wydawnictwo Helion 2004
  • S.Guelich, S.Gundavaram, G.Birznieks, Programowanie CGI w perlu
  • P.Lavin, PHP Programowanie obiektowe, Wydawnictwo Helion 2007
  • P.Listosz, PHP, Jak to zrobić ?, Wydawnictwo Robomatic 2002
  • L.Atkinson, Core PHP Programowanie, Wydawnictwo 2003
  • E.Lecky-Thompson, H.Eide-Goodman, S.D.Nowicki, A.Cove, PHP 5 Zaawansowane programowanie, Wydawnictwo Helion 2005
  • C.Darie, B.Brinzarea, F.Chereches-Tosa, M.Bucica, AJAX i PHP, Tworzenie interaktywnych aplikacji internetowych, Wydawnictwo Helion 2006
  • S.Stefanov, JavaScript Programowanie obiektowe, Wydawnictwo Helion 2010
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Według bazy WoS.

Informacje dodatkowe:

Nieobecność na zajęciach wymaga od studenta samodzielnego opanowania przerobionego na zajęciach materiału i jego zaliczenia w formie sprawozdania lub projektu w wyznaczonym przez prowadzącego terminie.
Istnieje możliwość odrobienia nieobecności w innej grupie laboratoryjnej pod warunkiem dostępności miejsc na laboratorium i zgody prowadzącego zajęcia.
Student, który bez usprawiedliwienia opuścił więcej niż 3 zajęcia może zostać pozbawiony, przez prowadzącego zajęcia, możliwości wyrównania zaległości.