Programowanie aplikacji internetowych (konwersatorium) - 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 - Zapoznanie się z podstawami języka PHP
C2 - Zapoznanie się z technikami programowania aplikacji webowych
C3 - Zapoznanie się z technikami programowania aplikacji konsolowych
C4 - Zapoznanie się z podstawowymi wzorcami projektowymi
C5 - Zapoznanie się ze strukturą i cyklem wykonania 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
wykład konwersatoryjny
prezentacja
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
Zaliczenie na podstawie kolokwium końcowego.

Kolokwium końcowe: 100 punktów

Dodatkowo: student może zdobyć 25 punktów (ekstra) za realizację projektu indywidualnego.
(Projekt nie jest obligatoryjny)

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ładnię 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: 5
Forma zaliczenia: Zal. na ocenę