Informacje o przedmiocie

Pobierz kartę w formacie PDF
Nazwa przedmiotu MOBILNE SYSTEMY OPERACYJNE
Kod przedmiotu E:37060W0 Liczba punktów ECTS
4
Godziny kontaktu: 30
Godziny wymagające bezpośredniego kontaktu z nauczycielem akademickim
Praca własna: 70
Godziny pracy własnej studenta
Kierunek studiów, Jednostka prowadząca Informatyka,
Katedra Systemów Geoinformatycznych
Semestr 6
Rok studiów 3
Sposób realizacji na uczelni
Forma zaliczenia egzamin
Obszar kształcenia Profil kształcenia ogólnoakademicki
Poziom studiów I stopnia - inżynierskie stacjonarne Typ przedmiotu Nieobowiązkowy
Imię i nazwisko wykładowców dr inż. Krzysztof Bruniecki (Osoba odpowiedzialna za przedmiot)
Prowadzący:
dr inż. Krzysztof Bruniecki
dr inż. Marek Kulawiak
mgr inż. Łukasz Markiewicz
Formy zajęć i metody nauczania
Forma zajęć Wykład Ćwiczenia Laboratorium Projekt Seminarium
Liczba godzin zajęć 15 0 15 0 0
Suma godzin dydaktycznych w semestrze, objętych planem studiów 30
W tym nauczanie na odległość 0
Cel przedmiotu

Omówione są elementy składowe oprogramowania systemowego działającego na urządzeniach mobilnych (smartfon/tablet). Przedmiot jest skoncentrowany głównie wokół systemu Android. System Android jest systemem z otwartym kodem źródłowym, co pozwala na szczegółowe omówienie i zademonstrowanie przykładów rozwiązań, które zastosowano w budowie tego systemu. Omówione są wszystkie kluczowe warstwy systemu operacyjnego Android - począwszy od Bootloaderów poprzez jądro systemu (Linux) a skończywszy na aplikacjach tworzonych przez użytkowników (Java).

Odniesienie do efektów kierunkowych Efekty kształcenia z przedmiotu Sposób weryfikacji efektu
K_W07 Student zna konstrukcję techniczną typowego mobilnego systemu operacyjnego i narzędzia służące do jego rozwoju i utrzymania. Student zna architekturę i warstwy mobilnego systemu operacyjnego. - Ocena wiedzy faktograficznej
K_U02 Student potrafi programować w języku Java z użyciem zestawu standardowych bibliotek platformy Android. - Ocena realizacji zadania
K_U01 Student zna i potrafi wykorzystać platformy programistyczne służące do rozwoju aplikacji dla systemu Android. - Ocena umiejętności korzystania z metod i narzędzi
Treści przedmiotu, zajęć
  1. Historia i porównanie mobilnych systemów operacyjnych
  2. Platformy sprzętowe (CPU) dla systemów mobilnych
  3. Architektura przykładowego otwartego systemu mobilnego
  4. Tworzenie własnej dystrybucji systemu operacyjnego Android
  5. Sekwencja uruchamiania systemu - od bootloadera do "Google Maps"
  6. Budowa i architektura jądra systemu
  7. Specyfika jądra systemu mobilnego - zarządzenie zasilaniem
  8. Modyfikacja i kompilacja jądra systemu
  9. Elementy środowiska userspace w systemie mobilnym
  10. Mechanizmy współdzielenia pamięci w systemie mobilnym
  11. Programowanie natywne w systemie Android
  12. Maszyny wirtualne w systemach mobilnych (na przykładzie maszyny wirtualnej Dalvika)
  13. Podstawy programowania sterowników
  14. Frameworki rozwoju aplikacji dla systemów mobilnych
  15. Zaawansowane programowanie sterowników (na przykładzie USB OTG)
  16. Poza-systemowy firmware w urządzeniach mobilnych
Zalecana lista lektur Literatura podstawowa:

Materiały wykładowe i laboratoryjne.



Literatura uzupełniająca:

Karim Yaghmour. 2013. Embedded Android: Porting, Extending, and Customizing (1st ed.). O'Reilly Media, Inc.

Ian F. Darwin. 2012. Android Cookbook. O'Reilly Media, Inc.

Metody i kryteria oceniania Kryteria oceniania składowe Próg zaliczeniowy Procent składowej oceny końcowej
Laboratorium 50 50
Egzamin 50 50
Przykładowe zagadnienia / pytania / realizowane zadania

Architektura systemu Android

Budowanie systemu Android

Programowanie aplikacji z graficznym interfejsem użytkownika

Programowanie głównych komponentów aplikacji w systemie Android

Jaka jest rola pliku AndroidManifest.xml?

Jakie są cechy maszyny wirtualnej Dalvika?

Język wykładowy polski
Praktyki zawodowe w ramach przedmiotu
  • gk – Godziny wymagające bezpośredniego kontaktu z nauczycielem akademickim
  • pw – Godziny pracy własnej studenta