- Nazwa przedmiotu:
- Wstęp do programowania aplikacji mobilnych
- Koordynator przedmiotu:
- Piotr Gawrysiak - wykład, projekt - Jakub Lipiński, Jarosław Potiuk
- 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. 2015/2016
- 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:
- http://studia.elka.pw.edu.pl/pub/12L/WPAM.A/
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt Wpisz opis
- 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 efekty kierunkowe:
K_W04, K_W05, K_W07, K_W08, K_W10
Powiązane efekty obszarowe:
T2A_W02, T2A_W04, T2A_W05, T2A_W07, T2A_W03, T2A_W04, T2A_W05, T2A_W07
Profil ogólnoakademicki - umiejętności
- Efekt Wpisz opis
- 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 efekty kierunkowe:
K_U01, K_U05, K_U08, K_U09, K_U10, K_U11, K_U12, K_U13, K_U14
Powiązane efekty obszarowe:
T2A_U01, T2A_U07, T2A_U09, T2A_U12, T2A_U11, T2A_U15, T2A_U16, T2A_U17, T2A_U18, T2A_U19
Profil ogólnoakademicki - kompetencje społeczne
- Efekt Wpisz opis
- 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 efekty kierunkowe:
K_K01
Powiązane efekty obszarowe:
T2A_K06