Nazwa przedmiotu:
Wstęp do programowania aplikacji mobilnych
Koordynator przedmiotu:
Piotr Gawrysiak
Status przedmiotu:
Fakultatywny dowolnego wyboru
Poziom kształcenia:
Studia II stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne - zaawansowane
Kod przedmiotu:
WPAM
Semestr nominalny:
4 / rok ak. 2018/2019
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
30 godzin wykładu 20 godzin przygotowania do sprawdzianów 15 godzin spotkań projektowych 45 godzin realizacji projektu w sumie 110 godzin
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
30 godzin wykładu 15 godzin spotkań projektowych w sumie 45 godzin co daje ok. 2 ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
15 godzin spotkań projektowych 45 godzin realizacji projektu w sumie 60 godzin, co daje ok. 2,5 ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt15h
  • Lekcje komputerowe0h
Wymagania wstępne:
Znajomość języka programowania Java i ew. C++, znajomość podstawowych struktur danych, znajomość podstaw architektury systemów operacyjnych
Limit liczby studentów:
70
Cel przedmiotu:
treść wykładu obejmuje zagadnienia związane z problematyką tworzenia aplikacji dla urządzeń mobilnych, takich jak współczesne telefony komórkowe klasy smartphone oraz urządzenia typu PDA. Celem wykładu jest przedstawienie charakterystyki współczesnych systemów operacyjnych przeznaczonych dla urządzeń mobilnych (w tym Apple iPhone OS, Google Android, Nokia Symbian) oraz omówienie specyfiki tworzenia aplikacji mających działać w środowisku o ograniczonych zasobach sprzętowych (ograniczenia pamięci, łączności z siecią itd.), którym zaś jednocześnie stawiane są wysokie wymagania dotyczące interfejsu użytkownika, wynikające ze specyfiki użytkowania ww. urządzeń. Przedstawione zostaną także wybrane kwestie dotyczące tworzenia modeli biznesowych oraz marketingu usług i aplikacji mobilnych.
Treści kształcenia:
Rozwój rynku urządzeń mobilnych Przedstawione zostaną trendy rozwoju komputerów mobilnych, poczynając od programowalnych kalkulatorów elektronicznych i wczesnych eksperymentów Alana Kaya, poprzez rozwój zastosowań urządzeń typu PDA (Apple Newton, Psion). Omówiony zostanie także rozwój technik „mobilnej” transmisji danych, od wczesnych rozwiązań takich jak iMode, po współczesny rynek telefonów komórkowych. Technologie mobilne Omówione zostaną najważniejsze technologie związane ze współczesnym rynkiem urządzeń mobilnych, w tym w szczególności: procesory dedykowane urządzeniom mobilnym, technologie transmisji danych i głosu (GSM/CDMA/GPRS/UMTS itd., WiFi, Bluetooth), technologie lokalizacyjne (GPS, aGPS) oraz pozostałe (m.in. technologie ekranów dotykowych). Systemy operacyjne Zaprezentowane zostaną typowe podejścia wykorzystywane do projektowania architektury sprzętowej i oprogramowania systemów mobilnych na przykładach najpopularniejszych urządzeń dostępnych obecnie na rynku (Symbian, Apple iPhone, Google Android) oraz interesujących rozwiązań historycznych (PenPoint, PalmOS). Specyfika aplikacji mobilnych Przedstawione zostaną uwarunkowania jakim podlegają aplikacje działające na urządzeniach mobilnych (w stosunku do aplikacji przeznaczonych dla komputerów osobistych, czy też przetwarzających duże zbiory danych), związane z m.in. niewielkimi rozmiarami ekranu urządzeń mobilnych, ich stosunkowo skromną wydajnością, powolnym i zawodnym dostępem do sieci transmisji danych czy też mobilnością samego urządzenia, wpływającą na model wykorzystywania aplikacji przez użytkownika końcowego. Omówione zostaną także wzorce projektowe związane z powyższymi ograniczeniami. Proces tworzenia i testowania aplikacji mobilnych Na przykładzie najpopularniejszych środowisk (ang. framework) tworzenia aplikacji dla urządzeń mobilnych (Java 2 Micro Edition, Apple iPhone, Google Android) zostanie przedstawiony proces budowania aplikacji, a następnie przeprowadzenia testów poprawności jej działania z wykorzystaniem emulatorów oraz docelowego sprzętu. Interfejsy użytkownika Część wykładu dedykowana będzie „miękkim” zagadnieniom związanym z projektowaniem interfejsów użytkownika (ang. user interface, UI), czy też szerzej projektowaniem „doświadczenia użytkownika” (ang. user experience, UX) aplikacji mobilnych. Omówione zostaną podstawowe zagadnienia związane z problematyką użyteczności (prawo Fittsa, flexibility-usability tradeoff itd.) oraz przedstawione zostaną przykłady aplikacji demonstrujących najlepsze praktyki projektowania interfejsów. Dystrybucja aplikacji mobilnych Przedstawione zostaną technologie i metodyki dystrybucji i aktualizacji aplikacji mobilnych, takie jak „sklepy aplikacji” (ang. app store), WAP Push i aktualizacja OTA. Modele biznesowe Omówione zostaną elementy modeli biznesowych stosowanych przez twórców aplikacji komercyjnych, w tym w szczególności modele płatności, modele współpracy z operatorami telefonii komórkowych, rozwiązania reklam mobilnych oraz metody mierzenia i analizy struktury demograficznej grup docelowych użytkowników.
Metody oceny:
Projekt oraz w indywidualnych wypadkach kolokwium
Egzamin:
nie
Literatura:
1. Dave Mark, “Beginning iPhone 3 Development”, Apress, 2009 2. Donald Norman, “The Design of Everyday Things”, Basic Books, 2002 3. Jeff Raskin , “The Humane Interface”, Addison Wesley, 2000 4. Jenifer Tidwell, “Designing Interfaces”, O’Reilly, 2005 5. Reto Meier, “Professional Android Application Development”, Wrox, 2008 6. Tommi Mikkonen, “Programming Mobile Devices: An Introduction for Practitioners”, Wiley, 2007 7. William Lidwell et al. “Universal Principles of Design”, Rockport Publishers, 2003
Witryna www przedmiotu:
https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INxxx-MSP-WPAM
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka WPAM_W01
Student zna cechy popularnych na rynku mobilnych systemów operacyjnych i rozumie uwarunkowania związane z tworzeniem aplikacji przeznaczonych dla systemów mobilnych pracujących pod ich kontrolą
Weryfikacja: Realizacja projektu i kolokwium
Powiązane charakterystyki kierunkowe: K_W04, K_W05, K_W07, K_W08, K_W10
Powiązane charakterystyki obszarowe: I.P7S_WG, III.P7S_WG.o

Profil ogólnoakademicki - umiejętności

Charakterystyka WPAM_U01
Student potrafi zaprojektować i wykonać aplikację mobilną, działającą na współczesnych urządzeniach przenośnych typu smartphone w tym w szczególności aplikację wieloplatformową wykorzystującą model klient-serwer
Weryfikacja: Projekt
Powiązane charakterystyki kierunkowe: K_U10, K_U11, K_U12, K_U13, K_U14, K_U01, K_U05, K_U08, K_U09
Powiązane charakterystyki obszarowe: III.P7S_UW.3.o, I.P7S_UW, I.P7S_UO, III.P7S_UW.4.o, I.P7S_UK, III.P7S_UW.1.o

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka WPAM_K01
Student potrafi sformułować propozycję modelu biznesowego dla rozwiązania zawierającego mobilną aplikację dla urządzeń typu smartphone, w tym określić model dystrybucji, grupę docelową odbiorców oraz model finansowania dalszego rozwoju aplikacji i serwisu.
Weryfikacja: Realizacja projektu i kolokwium
Powiązane charakterystyki kierunkowe: K_K01
Powiązane charakterystyki obszarowe: I.P7S_KO