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