Studia Podyplomowe Programowanie Urządzeń Mobilnych, Program Studiów (od roku akademickiego 2017/2018)

RAMOWE TREŚCI KSZTAŁCENIA

Zasadnicza część studiów obejmuje programowanie na kilku najpopularniejszych platformach sprzętowo-programowych dla urządzeń mobilnych, takich jak: 

  • Android (Java), 
  • Apple iOS (Objective-C). 

Zajęcia z programowania na konkretnych platformach będą poprzedzone zajęciami poświęconymi praktycznym aspektom programowania obiektowego w wymienionych językach programowania. Ponadto na zajęciach objaśniane będą najważniejsze technologie wykorzystywane w urządzeniach mobilnych (sieci komórkowe GSM, UMTS, GPRS, EDGE, HSPA, LTE, technologia Bluetooth, sieci WiFi, GPS).

Program studiów obejmuje:

  1. Programowanie (45h wykład + 30h konwersatorium)
  2. Technologie bezprzewodowe (10h wykład)
  3. Programowanie w systemie Android (30h wykład + 35h konwersatorium)
  4. Programowanie w systemie Apple iOS (30h wykład + 35h konwersatorium)
  5. Projekt indywidualny (5h wykład + 10h konwersatorium)

Opis przedmiotów

Programowanie

  • wstęp do programowania
  • algorytmy i struktury danych
  • programowanie obiektowe
  • wzorce projektowe
  • wprowadzenie do programowania urządzeń mobilnych
  • uniwersalne platformy i metody tworzenia aplikacji na urządzenia mobilne działające pod różnymi systemami operacyjnymi (np. Xamarin, Cordova)

Technologie bezprzewodowe

  • technologie sieci komórkowych
  • przesyłanie danych w sieciach komórkowych
  • bluetooth, profile
  • GPS
  • sieci WiFi,
  • szyfrowanie, funkcje skrótu, podpisy cyfrowe, bezpieczne protokoły
  • mobilne sieci IP

Programowanie w systemie Android

Podstawy programowania z wykorzystaniem Android SDK:

  • architektura systemu
  • podstawowe narzędzia deweloperskie dla Android SDK
  • architektura aplikacji Android SDK
  • model obsługi zdarzeń
  • zasoby aplikacji i lokalizacja
  • tworzenie graficznego interfejsu użytkownika
  • wielowątkowość w aplikacjach Android SDK
 

Zastosowania Android SDK:

  • łączność sieciowa w aplikacjach - klient http, REST, wykorzystanie JSON
  • korzystanie z sensorów
  • aplikacje obsługujące telefonię
  • wykorzystanie baz danych w aplikacjach Android SDK
  • korzystanie z interfejsu Google Maps
  • multimedia – wykorzystanie filmów, obrazów i dźwięku
  • testowanie aplikacji Android SDK
  • bezpieczeństwo aplikacji w systemie Android

Programowanie w systemie Apple iOS

  • podstawy programowania w języku Objective-C
  • programowanie w języku Swift
  • środowisko Xcode
  • wzorzec MVC w systemie iOS
  • target-action, delegate, data source
  • podstawowe biblioteki
  • storyboard, IBOutlets
  • podstawowe kontrolery widoków
  • przejścia między scenami (segues), przekazywanie danych
  • tworzenie własnych widoków
  • rozpoznawanie i obsługa gestów
  • autolayout i adaptive layout (traits collection)
  • obsługa czujników (geolokalizacja, żyroskop, akcelerometr)
  • kamera i aparat fotograficzny
  • wielowątkowość z wykorzystaniem kolejek
  • łączność sieciowa w aplikacjach
  • podstawy Core Data
  • internacjonalizacja i lokalizacja
  • testowanie aplikacji

Projekt indywidualny

  • przygotowanie dokumentu projektu technicznego
  • zarządzanie wersjami na przykładzie SVN
  • zarządzanie projektem na przykładzie Redmine
  • przygotowanie projektu na urządzenia mobilne