Nazwa przedmiotu:
Wstęp do programowania aplikacji mobilnych
Koordynator przedmiotu:
dr inż. robert Bembenik
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia I stopnia
Program:
Elektronika i Telekomunikacja
Grupa przedmiotów:
przedmioty specjalności
Kod przedmiotu:
PAMZ
Semestr nominalny:
7 / rok ak. 2020/2021
Liczba punktów ECTS:
6
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
45 godzin - studiowanie wykładu 35 godzin - przygotowanie do egzaminu 15 godzin - konsultacje projektowe 8 - konsultacje 45 godzin realizacji projektu w sumie 148 godzin
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
3
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia15h
  • 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://inz.okno.pw.edu.pl/ http://studia.elka.pw.edu.pl/pub/12L/WPAM.A/
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka AM_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 egzamin
Powiązane charakterystyki kierunkowe: K_W19, K_W04, K_W05, K_W06
Powiązane charakterystyki obszarowe: I.P6S_WG, I.P6S_WK, III.P6S_WG.o

Profil ogólnoakademicki - umiejętności

Charakterystyka AM_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_U14, K_U15
Powiązane charakterystyki obszarowe: III.P6S_UW.4.o

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka AM_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 egzamin
Powiązane charakterystyki kierunkowe: K_K06
Powiązane charakterystyki obszarowe: I.P6S_KO