Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
WWW i języki skryptowe
Tok studiów:
2014/2015
Kod:
ITE-1-406-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Teleinformatyka
Semestr:
4
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
mgr inż. Łoziak Krzysztof (kloziak@agh.edu.pl)
Osoby prowadzące:
mgr inż. Łoziak Krzysztof (kloziak@agh.edu.pl)
dr inż. Sikora Marek (msikora@kt.agh.edu.pl)
Krótka charakterystyka modułu

Przedmiot WWW i Języki Skryptowe ma za zadanie wskazać Studentowi najbardziej istotne elementy (techniki) wykorzystywane przy budowie zaawansowanych ośrodków webowych.

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 ma uporządkowaną wiedzę z zakresu organizacji struktury i modyfikowania widoku dokumentów WWW wraz z mechanizmami skalowania dla różnych typów urządzeń TE1A_W10, TE1A_W06, TE1A_U13 Kolokwium
M_W002 Student zna i rozumie zasady programowania sieciowego i tworzenia aplikacji uruchamianych zdalnie przez sieć Internet TE1A_W10, TE1A_W17 Kolokwium
M_W003 Student potrafi skonfigurować i uruchomić demon programowy serwera httpd oraz udostępnić najprostszy dokument struktury HTML w sieci Internet TE1A_U11, TE1A_W07 Kolokwium
Umiejętności
M_U001 Student potrafi samodzielnie lub podczas pracy zespołowej nad wybranym projektem zintegrować różne techniki www i zrealizować projekt wg przyjętego harmonogramu TE1A_U02, TE1A_U01 Projekt
M_U002 Student potrafi stworzyć i dokonać walidacji prostego ośrodka WWW pod kątem poprawności działania i braku potencjalnych "dziur bezpieczeństwa" w wybranych technikach programistycznych TE1A_U09, TE1A_U05, TE1A_U12 Wykonanie ćwiczeń laboratoryjnych
M_U003 Student ma umiejętność tworzenia projektów WWW i prostych aplikacji sieciowych, w oparciu o skryptowe języki programowania w celu dynamicznego dostosowywania wyglądu i zawartości, z wykorzystaniem wybranych środowisk programistycznych TE1A_U15, TE1A_U13 Projekt
M_U004 Student potrafi przygotować dokumentację techniczną wykonanego przez siebie projektu programistycznego, która zawiera specyfikację opracowanego rozwiązania, opis jego działania i metody interakcji ze światem zewnętrznym (np. zależnymi modułami/aplikacjami) TE1A_U04, TE1A_U03 Projekt
Kompetencje społeczne
M_K001 Student ma świadomość odpowiedzialności za powierzone mu zadania, wykonuje je sumiennie i zgodnie ze sztuką oraz potrafi współpracować z pozostałymi członkami zespołu projektowego TE1A_K04, TE1A_K03 Projekt
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 ma uporządkowaną wiedzę z zakresu organizacji struktury i modyfikowania widoku dokumentów WWW wraz z mechanizmami skalowania dla różnych typów urządzeń + - + - - - - - - - -
M_W002 Student zna i rozumie zasady programowania sieciowego i tworzenia aplikacji uruchamianych zdalnie przez sieć Internet + - + - - - - - - - -
M_W003 Student potrafi skonfigurować i uruchomić demon programowy serwera httpd oraz udostępnić najprostszy dokument struktury HTML w sieci Internet + - - - - - - - - - -
Umiejętności
M_U001 Student potrafi samodzielnie lub podczas pracy zespołowej nad wybranym projektem zintegrować różne techniki www i zrealizować projekt wg przyjętego harmonogramu - - + - - - - - - - -
M_U002 Student potrafi stworzyć i dokonać walidacji prostego ośrodka WWW pod kątem poprawności działania i braku potencjalnych "dziur bezpieczeństwa" w wybranych technikach programistycznych - - + - - - - - - - -
M_U003 Student ma umiejętność tworzenia projektów WWW i prostych aplikacji sieciowych, w oparciu o skryptowe języki programowania w celu dynamicznego dostosowywania wyglądu i zawartości, z wykorzystaniem wybranych środowisk programistycznych - - + - - - - - - - -
M_U004 Student potrafi przygotować dokumentację techniczną wykonanego przez siebie projektu programistycznego, która zawiera specyfikację opracowanego rozwiązania, opis jego działania i metody interakcji ze światem zewnętrznym (np. zależnymi modułami/aplikacjami) - - + - - - - - - - -
Kompetencje społeczne
M_K001 Student ma świadomość odpowiedzialności za powierzone mu zadania, wykonuje je sumiennie i zgodnie ze sztuką oraz potrafi współpracować z pozostałymi członkami zespołu projektowego - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

1. Wprowadzenie do WWW (2 godz.)
Wprowadzenie do WWW. Transakcje protokołu HTTP. Sposób dekodowania adresów URI (Universal Resource Identifier). Typowa architektura serwera WWW. Podstawowa struktura dokumentu HTML. Przegląd rynku przeglądarek internetowych i serwerów WWW.
2. Składnia języka HTML (2 godz.)
Składnia języka HTML i specyficzne aspekty języka HTML5. Elementy i atrybuty. Włączanie elementów graficznych i formatowanie tekstu. Schemat kolorystyczny. Walidacja poprawności składni dokumentu.
3. Kaskadowe arkusze styli – CSS (2 godz.)
Trójwarstwowy model budowy strony WWW. Metody osadzania arkuszy styli. Selektory i klasy. Formatowanie tekstu, tła oraz trójwymiarowy model pudełkowy (3D Box Model) pozycjonowania elementów na stronie WWW.
4. Protokoły HTTP i HTTPS (4 godz.)
Omówienie protokołu HTTP – struktura datagramu, mechanizmy wymiany informacji. Ważniejsze kody błędów. Typy MIME. Mechanizmy autoryzacji basic i digest. Omówienie metod komunikacji POST, GET, HEAD. Mechanizmy sesji oraz obsługa ciastek. Zasada działania protokołu HTTPS. Podstawowe narzędzia wspomagające pracę programisty WWW.
5. Wprowadzenie do języka JavaScript (4 godz.)
Wprowadzenie do języka JavaScript. Podstawowe elementy składni: zmienne, operatory, instrukcje warunkowe i pętle. Włączanie skryptów JavaScript do dokumentu HTML. Powtórne wykorzystanie kodu – funkcje. Dynamiczna modyfikacja elementów dokumentu HTML. Obsługa zdarzeń i wyjątków.
6. Programowanie obiektowe w JavaScript (2 godz.)
Model programowania obiektowego w JavaScript. Realizacja mechanizmów dziedziczenia polimorfizmu i enkapsulacji. Omówienie podstawowych klas wbudowanych. Klasy String, Array, Date, Math oraz RegExp.
7. Wyrażenia regularne (2 godz.)
Omówiono zasady konstruowania wyrażeń regularnych bazujących na składni Perl Regexp. Wykład zawiera odniesienia i przykłady użycia wyrażeń regularnych w popularnych językach związanych z programowaniem WWW (Perl, PHP, JavaScript). Przedstawiono strukturę wyrażeń regularnych, podstawowe klasy znaków, zamienniki klas oraz kwantyfikatory. Przedstawiono problem zachłanności kwantyfikatorów oraz sposoby jego rozwiązywania. Wykład zawiera również opis zmiennych specjalnych stosowanych w wyrażeniach regularnych, grupowanie wzorców oraz zasady konstruowania wyrażeń zawierających dopasowanie warunkowe (wprzód i wstecz). Zaprezentowano również działanie podstawowych modyfikatorów wyrażeń regularnych.
8. Zaawansowane obiekty JavaScript (2 godz.)
Przedstawiono model dokumentów w standardzie DOM (Document Object Model). Wykorzystanie modelu DOM w języku JavaScript, podstawowe składowe dokumentu, dostęp do elementów dokumentu, obsługa zdarzeń. Rozszerzenie AJAX i dynamiczna wymiana danych. Standard wymiany danych JSON. Biblioteka jQuery.
9. Wprowadzenie do języka PHP (4 godz.)
Podstawowe elementy składni języka PHP: Zmienne, łańcuchy znakowe, operatory, instrukcje warunkowe i pętle. Omówienie wbudowanych funkcji języka PHP. Obsługa formularzy w skryptach PHP. Obsługa plików i katalogów. Tworzenie interfejsu do baz danych: MySQL i SQLite. Obsługa sesji. Obsługa błędów.
10. Programowanie obiektowe w php (2 godz.)
Model obiektowy PHP. Realizacja mechanizmów dziedziczenia polimorfizmu i enkapsulacji. Omówienie podstawowych klas wbudowanych.
11. Ewolucja sieci WWW (2 godz.)
WWW jako interfejs dla aplikacji internetowych. Web services. Kierunki dalszego rozwoju sieci WWW,

Ćwiczenia laboratoryjne:

1. Konfiguracja zintegrowanych serwerów WAMP/LAMP. Podstawowy dokument w języku HTML. Organizowanie i formatowanie wyglądu strony WWW – definicja układu (layout). Walidacja zgodności składni dokumentu z wymaganiami standardu (2 godz.)
2. Formatowanie wyglądu strony zgodnie z trójwymiarowym modelem pudełkowym. Modyfikacje formatowania tekstu (2 godz.)
3. Programowanie w języku JavaScript. Włączanie skryptów do dokumentu HTML. Obsługa zdarzeń w przeglądarce. Dynamiczne zmiany wyglądu elementów składowych dokumentu. (2 godz.)
4. Wykorzystanie zaawansowanych własności JavaScript. Praca z wbudowanymi obiektami języka. Użycie rozszerzenia ajax i biblioteki jquery. Standard przesyłania danych json (2 godz.)
5. Praca za wyrażeniami regularnymi. Konstruowanie podstawowych i zaawansowanych wyrażeń regularnych w popularnych językach skryptowych (2 godz.)
6. Tworzenie podstawowych skryptów w języku PHP. Obsługa formularzy przez skrypty PHP. Praca z plikami (2 godz.)
7. Integracja z bazami danych MySQL i SQLite z wykorzystaniem języka PHP (2 godz.)
8. Wykorzystanie modelu obiektowego w skryptach PHP. Obiektowy interfejs do baz danych (2 godz.)
9. Budowa zaawansowanych aplikacji webowych. Dynamiczne tworzenie obiektów graficznych (2 godz.)
10. Tworzenie zaawansowanego ośrodka WWW. Projekt – praca zespołowa w warunkach zbliżonych do pracy w firmie informatycznej podczas zajęć laboratoryjnych. (10 godz.)

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 101 godz
Punkty ECTS za moduł 4 ECTS
Udział w wykładach 28 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Samodzielne studiowanie tematyki zajęć 20 godz
Wykonanie projektu 25 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Warunkiem koniecznym uzyskania pozytywnej oceny końcowej OK jest otrzymanie pozytywnej oceny
z laboratorium.

Wymagania wstępne i dodatkowe:

Podstawowa wiedza z zakresu funkcjonowania sieci Internet.

Zalecana literatura i pomoce naukowe:

1. HTML Specification, http://www.w3.org/TR/html5/
2. CSS Specification, http://www.w3.org/Style/CSS/
3. PHP Documentation, http://php.net/docs.php
4. JavaScript Specification, http://www.ecma-international.org/publications/standards/
5. Bryan Pfaffenberger, Steven M. Schafer, Chuck White, Bill Karow, HTML, XHTML i CSS. Biblia, Helion, 2005

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak