Programowanie aplikacji internetowych (ćwiczenia) - 2019/2020

Opis zajęć
Informacje ogólne
Prowadzący:dr Rafał Stęgierski
Organizator:Wydział Matematyki, Informatyki i Architektury Krajobrazu - Instytut Matematyki i Informatyki
Liczba godzin tydzień/semestr: 2/30
Język wykładowy:Język polski
Cele przedmiotu
C1 - Opanowanie podstaw języka PHP
C2 - Opanowanie umiejętności tworzenia aplikacji konsolowych
C3 - Opanowanie umiejętności posługiwania się wybranymi wzorcami projektowymi projektowymi
C4 - Opanowanie umiejętności tworzenia prostych aplikacji webowych
Wymagania wstępne
1. Podstawy algorytmiki i programowania
2. Projektowanie stron WWW
3. Programowanie obiektowe
Efekty kształcenia dla przedmiotu
WIEDZA

W1 Zna protokoły komunikacji stosowane w sieci WWW.
K_W04
K_W06

W2 Zna składnię języka PHP.
K_W04
K_W06

W3 Potrafi omówić podstawy programowania obiektowego w PHP.
K_W04
K_W06

W4 Potrafi opisać podstawowe wzorce projektowe.
K_W04
K_W06



UMIEJĘTNOŚCI

U1 Umie zainstalować i skonfigurować niezbędne oprogramowanie.
K_U02
K_U04

U2 Umie analizować zapytania i odpowiedzi wykonywane w dowolnej aplikacji internetowej
K_U02
K_U04

U3 Potrafi pisać kod obiektory PHP przetwarzający stringi, tablice, tablice napisów oraz kod HTML
K_U02
K_U04

U4 Potrafi tworzyć proste aplikacje internetowe w wybranym frameworku.
K_U02
K_U04



KOMPETENCJE SPOŁECZNE (POSTAWY)

K1 Postrafi formułować opinie na temat zagadnień z zakresu podstaw programowania.
K_K01

K2 Potrafi w podstawowym zakresie pracować zespołowo nad kodem prostych aplikacji www.
K_K01

K2 Potrafi samodzielnie wyszukiwać i ustalać wagę nowych trendów dotyczących rozwoju aplikacji www.
K_K01
Metody dydaktyczne
ćwiczenia praktyczne w pracowni komputerowej
ćwiczenia indywidualne
praca grupowa nad projektem
pokaz połączony z prezentacją
dyskusja
Treści programowe przedmiotu
1. Sieć WWW
a. Protokół http
b. Zapytania GET oraz POST
c. Przetwarzanie po stronie klienta
d. Przetwarzanie po stronie serwera
e. REST
f. Transfer synchroniczny i asynchroniczny (AJAX)
2. Składnia języka PHP
a. Instrukcje wyjściowe i napisy
b. Stałe, zmienne, wyrażenia i operatory
c. Instrukcje sterujące
d. Funkcje w PHP
e. Standardy kodowania
3. Programowanie obiektowe
a. Klasy i obiekty
b. Konstruktory, destruktory i klonowanie
c. Składowe
d. Dziedziczenie
e. Specyfikatory widoczności składowych
f. Składowe statyczne
g. Stałe
h. Klasy abstrakcyjne
i. Interfejsy
j. Wyjątki
k. Klasy i metody finalne
l. Metody magiczne
m. Wywołania zwrotne, funkcje anonimowe i domknięcia
n. Przestrzenie nazewnicze
4. Wzorce projektowe
a. Podstawowe informacje o wzorcach projektowych
b. Wybrane wzorce projektowe:
i. Singleton
ii. Factory Method
iii. Decorator
iv. Facade
v. Interpreter
vi. Strategy
vii. Observer
5. Oprogramowanie ORM
6. Oprogramowanie framework
Kryteria oceny i sposoby weryfikacji zakładanych efektów kształcenia
Kolokwia w trakcie semestru: 25% oceny końcowej
Prace domowe: 25% oceny końcowej
Praca w trakcie zajęć: 25% oceny końcowej
Kolokwium końcowe (z całego materiału): 25% oceny końcowej

Łącznie w semestrze jest do zdobycia 100 punktów.

25 punktów - kolokwia w trakcie semestru
25 punktów - prace domowe
25 punktów - praca w trakcie zajęć
25 punktów - kolokwium końcowe (z całego materiału)


Ocena końcowa:

bardzo dobry (5.0): 90 – 100%,
dobry plus (4.5): 80 – 89%,
dobry (4.0): 70 – 79%,
dostateczny plus (3.5): 60 – 69%,
dostateczny (3.0): 50 – 59%,
niedostateczny (2.0): poniżej 50%,


Na ocenę 3 student potrafi:
W - potrafi scharakteryzować różnice pomiędzy interpretacją i kompilacją kodu
W - omówić składnię języka PHP
W - opisać mechanizm uruchamiania aplikacji internetowej (model klient/server)
U - uruchomić przykładowe aplikacje internetowe wykonane w różnych frameworkach/językach
U - implementować proste aplikacje oparte o przetwarzanie napisów, tablic i plików
K - potrafi formułować opinie na temat podstawowych konstrukcji języka PHP
K - potrafi indywidualnie zaplanować pracę nad aplikacją


Na ocenę 4 student potrafi:
W - kontrastywnie omawiać składnie języka PHP w odniesieniu do dowolnego innego języka (np. C++)
W - wymienić i krótko scharakteryzować poznane wzorce projektowe
U - implementować obiektowe biblioteki rozwiązujące bardziej zaawansowane zadania
U - wykorzystywać własne biblioteki do implementacji aplikacji
K - pracować indywidualnie i grupowo zaplanować pracę nad aplikacją


Na ocenę 5 student potrafi:
W - podać przykłady użycia omówionych wzorców projektowych
U - stosować w praktyce wzorce projektowe do implementacji własnych bibliotek
U - publikować własne biblioteki jako projekty Open Source
U - wykorzystywać biblioteki OpenSource
Literatura podstawowa i uzupełniająca
LITERATURA PODSTAWOWA:

[1] Włodzimierz Gajda: \"PHP. Praktyczne projekty\", Helion, Gliwice 2009
[2] Matt Zandstra: \"PHP. Obiekty, wzorce, narzędzia\". Wydanie IV, Helion, Gliwice 2011

LITERATURA UZUPEŁNIAJĄCA:

[1] Włodzimierz Gajda: \"Git. Rozproszony system kontroli wersji\", Helion, Gliwice, 2013
[2] Włodzimierz Gajda: \"Symfony 2 od podstaw\", Helion, Gliwice, 2012
Kierunek studiów: Informatyka (stacjonarne I stopnia)
Lokalizacja w planach rocznych:
Etap:Rok II - Semestr 4
Punkty ECTS: 0
Forma zaliczenia: Zal. na ocenę