Module also offered within study programmes:
General information:
Name:
Internet Techniques
Course of study:
2018/2019
Code:
JIS-1-003-s
Faculty of:
Physics and Applied Computer Science
Study level:
First-cycle studies
Specialty:
-
Field of study:
Applied Computer Science
Semester:
0
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Responsible teacher:
dr inż. Dydejczyk Antoni (dydejcz@agh.edu.pl)
Academic teachers:
dr inż. Dydejczyk Antoni (dydejcz@agh.edu.pl)
dr inż. Krupińska Grażyna (grazyna@fis.agh.edu.pl)
Module summary

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.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student umie przedstawić wykonany projekt w sposób komunikatywny oraz potrafi określić warunki jego komercjalizacji. IS1A_K03, IS1A_K01 Participation in a discussion,
Execution of a project
Skills
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 Execution of laboratory classes
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 Execution of a project,
Execution of laboratory classes
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 Execution of a project,
Execution of laboratory classes
Knowledge
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 Activity during classes,
Participation in a discussion,
Execution of a project,
Execution of laboratory classes
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 Activity during classes,
Participation in a discussion,
Execution of a project,
Execution of laboratory classes
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student umie przedstawić wykonany projekt w sposób komunikatywny oraz potrafi określić warunki jego komercjalizacji. - - - + - - - - - - -
Skills
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. - - + + - - - - - - -
Knowledge
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. + - + + - - - - - - -
Module content
Lectures:
  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.

Laboratory classes:
  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.

Project classes:
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.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 152 h
Module ECTS credits 6 ECTS
Participation in lectures 30 h
Realization of independently performed tasks 30 h
Participation in laboratory classes 22 h
Preparation for classes 30 h
Participation in project classes 6 h
Completion of a project 34 h
Additional information
Method of calculating the final grade:

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.

Prerequisites and additional requirements:

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

Recommended literature and teaching resources:
  • 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
Scientific publications of module course instructors related to the topic of the module:

Według bazy WoS.

Additional information:

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.