- Nazwa przedmiotu:
- Programowanie aplikacji interakcyjnych
- Koordynator przedmiotu:
- Waldemar GRABSKI
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne
- Kod przedmiotu:
- PAIN
- Semestr nominalny:
- 6 / rok ak. 2018/2019
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 129h (30h wykład, 15h przygotowanie do wykładu przeglądanie materiałów internetowych oraz podręczników, 15h ćwiczenia laboratoryjne, 45h przygotowanie do ćwiczeń laboratoryjnych, 24h przygotowanie do kolokwiów)
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 2 ECTS (30h wykład, 15h ćwiczenia laboratoryjne)
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 2 ECTS (15h laboratoria, 45h przygotowanie do ćwiczeń laboratoryjnych)
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium15h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Programowanie obiektowe
- Limit liczby studentów:
- 48
- Cel przedmiotu:
- Zapoznanie studentów z metodami tworzenia aplikacji z graficznym interfejsem użytkownika
- Treści kształcenia:
- XWindows
- architektura systemu (klient serwer)
- zdarzenia i żądania - programowanie zdarzeniowe
- hierarchia okien i zarządzanie oknami
- pojęcie obiektu ekranowego, biblioteka narzędziowa (toolkit)
Windows API
- elementy aplikacji dla systemu Windows
- przetwarzanie zdarzeń, kolejki komunikatów
- hierarchia okien i zarządzanie oknami, relacje: rodzic-dziecko, własności, widoczności
- podsystem GDI, rysowanie w oknie, odświeżanie zawartości okna
- obsługa klawiatury i myszy –zdarzenia dla urządzeń wejściowych
- zegary
- sposób przetwarzania komunikatów, wiadomości: kolejkowane i niekolejkowane, wiadomości rozgłoszeniowe, rejestrowanie wiadomości
- kontrolki wbudowane w system
- zasoby aplikacji
- modalne i niemodalne okna dialogowe
- biblioteki dynamiczne
Qt
- realizacji koncepcji biblioteki narzędziowej (toolkitu) pozwalającej tworzyć przenośne aplikacje
- zarządzania pamięcią, koncepcji rodzic-dziecko, systemu "meta-obiektów" (właściwości, sygnały, sloty)
- powoływania obiektów ekranowych, zarządzania ich położeniem w oknie aplikacji, modyfikacji wyglądu
- mechanizmu obsługi zdarzeń: obiekty zdarzeń, kolejka zdarzeń, filtry zdarzeń, dostarczanie i propagacja zdarzeń, sposoby obsługi zdarzeń
- omówienie narzędzi Qt Designer i Qt Creator wspomagających proces tworzenia aplikacji
- architektura systemu rysowania
- Graphics View: zorientowanego obiektowo podsystemu wysokiego poziomu do obsługi dwuwymiarowych elementów graficznych
- Item Views - architektura "model-widok"
- przedstawienie infrastruktury do realizacji animacji
- Qt Quick – tworzenie interfejsów graficznych przy użyciu deklaratywnego języka QML
WindowsForms
- cechy środowiska .Net
- architektura środowiska .Net
- model programowy (Formularze, kontrolki, zdarzenia)
- cykl życia okna
- narzędzie do graficznego projektowania wyglądy aplikacji (Designer)
- rodzaje kontrolek, ich podstawowe atrybuty i zdarzenia
- rozmieszczanie kontrolek w oknie (kontenery)
- obsługa zdarzeń, anulowanie zdarzeń
- weryfikacja poprawności wprowadzanych danych
- aplikacje typu MDI
- menu, paski narzędzi, paski statusu – tworzenie, obsługa zdarzeń oraz ich łączenie
- tworzenie własnych kontrolek
- integracja kontrolek z VisualStudio – dedykowany edytor dla właściwości kontrolki
- rysowanie w oknie, przekształcenia układu współrzędnych – klasa Graphics
- kontrolki i wielowątkowość
WPF
- architektura biblioteki WPF
- język XAML, powiązanie z kodem na zapleczu (code behind)
- strategie przetwarzania zdarzeń (routed events), zdarzenia wejściowe
- łączenie danych (dependency properties)
- grafika 2D
WinRT
- architektura Windows RT
- uprawnienia aplikacji, ograniczenia w dostępie do zasobów
- kontrakty
- tworzenie i uaktualnianie kafelków
- powiadomienia
- cykl życia aplikacji
- zadania wykonywane w tle
- Metody oceny:
- 2 kolokwia opo 25 i 35 pkt. - ogółem 60pkt. (minimum 24pkt.)
5 projektów laboratoryjnych - ogółem 40 pkt. (wymagane zaliczenie 4 z 5 projektów)
51-60pkt. - ocena 3
61-70pkt. - ocena 3,5
71-80pkt. - ocena 4
81-90pkt. - ocena 4,5
91-100pkt. - ocena 5
- Egzamin:
- nie
- Literatura:
- Scheisler R., Gettys J., X-Window System, Digital Press 1992
Assente P., Swick R., X-Window System Toolkit, Digital Press 1991
Charles Petzold Programming Windows 95
2555A: Developing Microsoft .NET Applications for Windows
J. Blanchette, M. Summerfield, C++ GUI Programming with Qt 4
Qt Reference Documentation
Johan Thelin, Foundations of Qt Development, APress 2007
Andrea Boschin, Introduction to Windows 8 Metro Part 1, SilverlightShow 2012
Andrea Boschin, Introduction to Windows 8 Metro Part 2, SilverlightShow 2012
Gill Cleeren, Windows 8 and the Future of XAML, SilverlightShow 2012
http://www.microsoft.com/msdn
http://www.trolltech.com
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INIIT-ISP-PAIN
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka PAIN_W01
- Potrafi opisać architekturę, wskazać różnice oraz wady i zalety różnych środowisk (systemy operacyjne, środowiska, biblioteki) do tworzenia aplikacji z graficznym interfejsem użytkownika.
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W10, K_W14
Powiązane charakterystyki obszarowe:
I.P6S_WG, III.P6S_WG.o
- Charakterystyka PAIN_W02
- Potrafi opisać sposób działania aplikacji z graficznym interfejsem użytkownika a w szczególności pojęcia programowania zdarzeniowego oraz wzorzec projektowy model-widok-kontroler.
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe:
K_W12
Powiązane charakterystyki obszarowe:
I.P6S_WG
- Charakterystyka PAIN_W03
- Wie jak powinna wyglądać struktura aplikacji oraz jej interfejs użytkownika uwzględniając pozatechniczne aspekty projektowania (ergonomia).
Weryfikacja: kolokwium, ćwiczenia laboratoryjne
Powiązane charakterystyki kierunkowe:
K_W04, K_W09
Powiązane charakterystyki obszarowe:
I.P6S_WK, I.P6S_WG
Profil ogólnoakademicki - umiejętności
- Charakterystyka PAIN_U01
- Umie stworzyć aplikację wykorzystującą wzorzec projektowy model-widok-kontroler.
Weryfikacja: ćwiczenia laboratoryjne
Powiązane charakterystyki kierunkowe:
K_U13
Powiązane charakterystyki obszarowe:
I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka PAIN_U02
- Umie zaprojektować i zaimplementować aplikację z graficznym interfejsem użytkownika wykorzystując różne środowiska (systemy operacyjne, środowiska, biblioteki).
Weryfikacja: ćwiczenia laboratoryjne
Powiązane charakterystyki kierunkowe:
K_U13, K_U20
Powiązane charakterystyki obszarowe:
I.P6S_UW, III.P6S_UW.4.o, III.P6S_UW.3.o
- Charakterystyka PAIN_U03
- Umie wykorzystać narzędzia wspomagające do wizualnego tworzenie graficznego interfejsu użytkownika aplikacji.
Weryfikacja: ćwiczenia laboratoryjne
Powiązane charakterystyki kierunkowe:
K_U21
Powiązane charakterystyki obszarowe:
I.P6S_UW, III.P6S_UW.4.o