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

RAMOWE TREŚCI KSZTAŁCENIA

Studia poświęcone są programowaniu na dwóch najpopularniejszych platformach sprzętowo-programowych dla urządzeń mobilnych: 

  • Android (Java), 
  • Apple iOS (Swift). 

Zajęcia z programowania na konkretnych platformach będą poprzedzone zajęciami poświęconymi praktycznym aspektom programowania obiektowego imperatywnego oraz funkcyjnego i reaktywnego (Swift+Combine) w wymienionych językach programowania. Ponadto na zajęciach objaśniane będą najważniejsze technologie wykorzystywane w urządzeniach mobilnych

Program studiów obejmuje:

  1. Programowanie (55h wykład + 30h konwersatorium)
  2. Programowanie w systemie Android (30h wykład + 35h konwersatorium)
  3. Programowanie w systemie Apple iOS (30h wykład + 35h konwersatorium)
  4. 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)

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

  • programowanie w języku Swift
  • środowisko Xcode
  • programowanie imperatywne (poniższe zagadnienia omawiane są w stopniu podstawowym):
    • wzorzec MVC w systemie iOS, target-action, delegate, data source
    • podstawowe biblioteki
    • storyboard, 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 (GCD, Operation)
    • łączność sieciowa w aplikacjach - klient http, REST, wykorzystanie JSON
    • podstawy Core Data
    • internacjonalizacja i lokalizacja
    • testowanie aplikacji
  • programowanie reaktywne i funkcyjne:
    • Framework Combine, wydawcy, subskrybenci, operatory
    • zastosowanie programowania reaktywnego do tworzenia aplikacji w systemie iOS
    • wzorzec MVVM, SwiftUI.

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