logo
Karta przedmiotu
logo

Systemy mobilne i satelitarne

Podstawowe informacje o zajęciach

Cykl kształcenia: 2024/2025

Nazwa jednostki prowadzącej studia: Wydział Elektrotechniki i Informatyki

Nazwa kierunku studiów: Informatyka

Obszar kształcenia: nauki techniczne

Profil studiów: ogólnoakademicki

Poziom studiów: pierwszego stopnia

Forma studiów: stacjonarne

Specjalności na kierunku: AA - inżynieria systemów informatycznych, AI - Sztuczna inteligencja, TT - informatyka w przedsiębiorstwie, Z - inżynieria systemów złożonych

Tytuł otrzymywany po ukończeniu studiów: inżynier

Nazwa jednostki prowadzącej zajęcia: Katedra Elektrotechniki i Podstaw Informatyki

Kod zajęć: 392

Status zajęć: obowiązkowy dla specjalności TT - informatyka w przedsiębiorstwie

Układ zajęć w planie studiów: sem: 5 / W25 L30 / 4 ECTS / E

Język wykładowy: polski

Imię i nazwisko koordynatora: dr inż. Antoni Szczepański

Terminy konsultacji koordynatora: Według informacji na stronie https://aszczep.v.prz.edu.pl/konsultacje

Cel kształcenia i wykaz literatury

Główny cel kształcenia: Nauczenie studentów podstaw programowania aplikacji mobilnych dla urządzeń przenośnych typu smartfon z systemem Google Android, w środowisku Android Studio. Ponadto studenci zdobędą podstawową wiedzę na temat satelitarnych systemów łączności, przydatną podczas programowania aplikacji korzystających z odbiornika GPS.

Ogólne informacje o zajęciach: Upowszechnienie łączności bezprzewodowej i coraz wyższe wartości przepływności bitowej, oferowane przez dostawców usług telekomunikacyjnych, powodują dynamiczny wzrost rynku osobistych urządzeń przenośnych typu smartfon, posiadających stały dostęp do sieci Internet. Z punktu widzenia informatyki w przedsiębiorstwie, firmy zyskują w ten sposób nowe możliwości dotarcia do klienta, mogą wprowadzać oferty dla odbiorcy o ściśle określonym profilu, poszerza się i uatrakcyjnia rynek reklamowy. Zaciera się różnica między klientem siedzącym przed komputerem osobistym PC a osobą korzystającą z osobistego, mobilnego komputera kieszonkowego. Z tego względu dla inżyniera informatyka konieczne staje się zdobycie wiedzy i umiejętności w zakresie programowania mobilnych aplikacji internetowych, bazodanowych, wykorzystujących systemy nawigacji satelitarnej, działających jako klient w relacji klient-serwer itp.

Materiały dydaktyczne: Dostępne na serwerze pei.prz.edu.pl po zalogowaniu, w folderze P:\AS\SystemyMobilneiSatelitarne

Wykaz literatury, wymaganej do zaliczenia zajęć
Literatura wykorzystywana podczas zajęć wykładowych
1 Google Corporation https://developer.android.com/guide . 2022
2 Google Corporation https://codelabs.developers.google.com/ . 2022
3 Tutorials Point https://www.tutorialspoint.com/android/index.htm . 2022
4 Zieliński Ryszard J. Satelitarne sieci teleinformatyczne Wydawnictwa Naukowo-Techniczne. 2011
5 Jacek Januszewski Systemy satelitarne GPS, Galileo i inne Wydawnictwo Naukowe PWN. 2010
Literatura wykorzystywana podczas zajęć ćwiczeniowych/laboratoryjnych/innych
1 Marcin Płonkowski Android Studio. Tworzenie aplikacji mobilnych (ebook) Helion. 2017
2 Belen Cruz Zapata Android Studio. Podstawy. Helion. 2015
3 Josh Skeen, David Greenhalgh Programowanie w języku Kotlin. The Big Nerd Ranch Guide Helion,. 2019
Literatura do samodzielnego studiowania
1 Krzysztof Wesołowski Systemy radiokomunikacji ruchomej Wydanie 3, Wydawnictwa Komunikacji i Łączności. 2006
2 Google books.google.pl fragmenty e-booków do przeglądnięcia, dostępne po wpisaniu np. Android development.

Wymagania wstępne w kategorii wiedzy/umiejętności/kompetencji społecznych

Wymagania formalne: Rejestracja na 5. semestr studiów. Student powinien posiadać podstawową wiedzę na temat programowania obiektowego.

Wymagania wstępne w kategorii Wiedzy: Student powinien znać metodologię tworzenia aplikacji określaną mianem RAD (Rapid application development) oraz rozumieć pojęcia stosowane do nazywania składników interfejsu graficznego aplikacji.

Wymagania wstępne w kategorii Umiejętności: Umiejętność analizowania kodu źródłowego w języku Java oraz Kotlin. Umiejętność czytania ze zrozumieniem anglojęzycznych tekstów technicznych z dziedziny informatyki.

Wymagania wstępne w kategorii Kompetencji społecznych: Systematyczność, odpowiedzialność i terminowość w zakresie realizacji powierzonego zadania (projektu).

Efekty kształcenia dla zajęć

MEK Student, który zaliczył zajęcia Formy zajęć/metody dydaktyczne prowadzące do osiągnięcia danego efektu kształcenia Metody weryfikacji każdego z wymienionych efektów kształcenia Związki z KEK Związki z PRK
01 Zna podstawy tworzenia aplikacji mobilnych na smartfony z systemem operacyjnym Android w środowisku Android Studio. Zna stany i cykl życia aktywności i wie jak oprogramować przejścia między nimi. Potrafi zaprojektować layout aktywności. Umie wysłać użytkownika do aktywności w innej aplikacji i pozwolić innej aplikacji uruchomić aktywność w aktywnej aplikacji. wykład, laboratorium, projekt indywidualny, studium przypadku obserwacja wykonawstwa, prezentacja dokonań (portfolio), sprawozdanie z projektu K_W05++
K_K01+
K_K02+
P6S_KK
P6S_KO
P6S_UU
P6S_WG
02 Zna metody przechowywania danych w lokalnym i zewnętrznym magazynach. Potrafi zapisywać dane aplikacji w postaci par klucz-wartość. Potrafi przechowywać dane w plikach, zapisywać je, odczytywać i współdzielić z innymi aplikacjami, tzn. wysyłać do innych aplikacji i odbierać od nich. wykład, laboratorium, projekt indywidualny, studium przypadku obserwacja wykonawstwa, prezentacja dokonań (portfolio), sprawozdanie z projektu K_W04+
K_W05++
P6S_WG
03 Potrafi stworzyć aplikację mobilną przechowującą dane w lokalnej relacyjnej bazie, opartej na technologii SQL. Zna właściwości takiej bazy i wie jak na niej operować za pomocą języka zapytań. Potrafi utworzyć bazę danych z poziomu kodu aplikacji. Potrafi zdefiniować encje i relacje między nimi. wykład, laboratorium, projekt indywidualny, studium przypadku obserwacja wykonawstwa, prezentacja dokonań (portfolio), sprawozdanie z projektu K_U14++
K_K02+
P6S_KK
P6S_KO
P6S_UU
P6S_UW
04 Potrafi połączyć się z siecią internet, zarządzać połączeniem i je optymalnie wykorzystać. Umie oprogramować przesyłanie danych przez sieć w taki sposób, aby nie drenować baterii. wykład, laboratorium, projekt indywidualny, studium przypadku obserwacja wykonawstwa, prezentacja dokonań (portfolio), sprawozdanie z projektu K_K01+
P6S_KK
P6S_UU
05 Potrafi wykorzystać w aplikacji mobilnej usługi lokalizacyjne oparte na GPS. Umie zaprogramować aplikację dla smartfona odczytującą jego współrzędne geograficzne oraz prędkość i kierunek ruchu. Potrafi wykorzystać mapy Google do wizualizacji trasy przemieszczania się użytkownika urządzenia z systemem Android. wykład, laboratorium, projekt indywidualny, studium przypadku obserwacja wykonawstwa, prezentacja dokonań (portfolio), sprawozdanie z projektu K_U20+
K_K01+
P6S_KK
P6S_UU
P6S_UW

Uwaga: W zależności od sytuacji epidemicznej, jeżeli nie będzie możliwości weryfikacji osiągniętych efektów uczenia się określonych w programie studiów w sposób stacjonarny w szczególności zaliczenia i egzaminy kończące określone zajęcia będą mogły się odbywać przy użyciu środków komunikacji elektronicznej (w sposób zdalny).

Treści kształcenia dla zajęć

Sem. TK Treści kształcenia Realizowane na MEK
5 TK01 Podstawy tworzenia aplikacji na system Android. Utworzenie pierwszej, prostej aplikacji z jedną pustą aktywnością. Analiza plików-składników projektu (plik kotlin, plik xml layoutu, plik manifestu, plik budowania gradle). Uruchamianie aplikacji na rzeczywistym urządzeniu i na emulatorze AVD. Zbudowanie prostego interfejsu w postaci pola tekstowego i przycisku. Praca z wizualnym edytorem layoutu. Dodanie reakcji na przycisk. Zbudowanie intencji. Utworzenie drugiej aktywności. Dodanie pola tekstowego i wypisanie wiadomości. Dodanie obsługi przycisku wstecz. Ogólne informacje o strukturze aplikacji androidowych. Typowe składniki aplikacji (aktywności, usługi, odbiorcy komunikatów, dostawcy treści). Aktywowanie składników aplikacji za pomocą intencji. Deklarowanie komponentów w pliku manifestu. Deklarowanie wymagań aplikacji. Zasoby aplikacji i ich rodzaje. Obsługa zmian konfiguracyjnych. Zachowywanie obiektu mimo zmian konfiguracji. Językowa lokalizacja aplikacji. Szczegółowa analiza zawartości pliku manifestu (nazwa pakietu i ID aplikacji, komponenty aplikacji, filtry intencji, ikony i etykiety, zezwolenia, urządzenia kompatybilne, użyta wersja SDK). W1, W2, L1, L2 MEK01
5 TK02 Koncepcja aktywności. Deklarowanie aktywności. Zarządzanie cyklem życia aktywności. Metody zwrotne w cyklu. Stan aktywności i jej wyrzucanie z pamięci. Zapamiętywanie i przywracanie przejściowych stanów interfejsu użytkownika. Nawigacja między aktywnościami. Obsługa zmiany stanu aktywności (zmiana konfiguracji, wejście w tryb multiokienkowy, pojawienie się nowej aktywności lub dialogu, przyciśnięcie przycisku wstecz, zabicie procesu aktywności przez system operacyjny). Testowanie aktywności za pomocą klasy ActivityScenario. Taski i stos wsteczny aktywności. Definiowanie trybów uruchamiania tasków. Procesy systemowe i życie aplikacji. Procesy na pierwszym planie, widoczne procesy, procesy serwisowe, keszowane procesy. Przesyłanie paczek danych między aktywnościami i procesami. W3, W4, L3, L4 MEK01
5 TK03 Fragmenty jako części interfejsu użytkownika. Filozofia, tworzenie fragmentów. Dodawanie UI do fragmentu i dodawanie fragmentu do aktywności. Zarządzanie fragmentami. Wykonywanie przejść między fragmentami. Komunikacja fragmentu z aktywnością. Dodawanie itemów do App Baru. Cykl życia fragmentu i jego obsługa. Koordynowania cyklu życia fragmentu z cyklem życia aktywności. Tworzenie fragmentu i dodawanie go do pliku XML aktywności. Testowanie fragmentu poprzez wprowadzanie go w różne stany. Tworzenie elastycznego UI. Dodawanie fragmentu do aktywności w trakcie jej działania. Zastępowanie jednego fragmentu innym. Przekazywanie danych między fragmentami. Komunikacja z innymi fragmentami. Definiowanie i implementacja odpowiedniego interfejsu. Dostarczenie wiadomości do fragmentu. Nawigowanie między fragmentami za pomocą animacji. Ustawianie animacji i przejść między nimi. Odwlekanie tranzycji. W5, L5 MEK01
5 TK04 Intencje i filtry intencji. Rodzaje intencji. Budowanie intencji (nazwa komponentu, akcja, dane, kategoria, dodatki, flagi). Intencje explicit oraz implicit. Używanie spodziewanej intencji. Rozwiązywanie intencji (test akcji, test kategorii, test danych). Dopasowywanie intencji. W6, L6 MEK01
5 TK05 Pliki aplikacji i dane. Przegląd magazynów na pliki i dane. Kategorie lokacji magazynu. Zezwolenia i dostęp do zewnętrznego magazynu. Dostęp do specyficznych plików aplikacji. Wewnętrzny i zewnętrzny magazyny. Dostęp do plików trwałych i keszowanych. Zapisywanie pliku za pomocą strumienia. Podgląd listy plików. Tworzenie i usuwanie cache-plików. Weryfikacja, czy zewnętrzny magazyn jest dostępny. Wybór fizycznej lokacji magazynu. Dostęp do plików trwałych i ulotnych. Media content. Odpytywanie ilości wolnej przestrzeni dyskowej. Prośba aplikacji do użytkownika o usunięcie plików na urządzeniu. Zapisywanie danych do współdzielonych magazynów (media content, dokumenty i inne pliki, zbiory danych). Zarządzanie wszystkimi plikami na zewnętrznym storage'u. Żądanie dostępu do wszystkich plików. Operacje, które są dopuszczalne. Zapisywanie danych w formacie klucz-wartość. Tworzenie pliku typu shared preferences. Zapisywanie i odczytywanie z tego pliku. Zapisywanie danych w lokalnej bazie danych. Definiowanie danych za pomocą encji. Definiowanie relacji między obiektami. Tworzenie widoków w bazie danych. Dostęp do danych za pomocą obiektów DAO. Wcześniejsze przygotowywanie bazy danych - prekalkulacja. Migracja bazy danych. Testowanie i debugowanie bazy. Zachowywanie danych za pomocą SQLite. Przykłady stosowania zapisywania danych. Najlepsze praktyki w zakresie przechowywania danych. W7, W8, W9, L7, L8, L9 MEK02 MEK03
5 TK06 Obsługa połączeń sieciowych. Wykonywanie operacji sieciowych. Bezpieczne łączenie się z siecią. Wybieranie klienta HTTP, obsługa DNS, przeniesienie operacji sieciowych do odrębnego wątku. Użycie HttpsUrlConnection do ściągania danych przez sieć. Konwersja strumienia wejściowego na łańcuch znakowy. Zarządzanie użyciem sieci: sprawdzanie połączenia w urządzeniu, implementacja aktywności z preferowaniem WiFi, odpowiadanie na zmiany preferencji, wykrywanie zmian w połączeniu. Odczytywanie stanu sieci. Uzyskiwanie stanu chwilowego. Odczytywanie możliwości transportowych i parametrów połączenia sieci. Nasłuchiwanie zdarzeń sieciowych. Optymalizacja (minimalizacja, oszczędzanie) użycia danych przez sieć. Parsowanie i analiza danych w formacie XML, pobranych z sieci. Transferowanie danych bez drenowania baterii. Optymalizacja procesu pobierania dla efektywnego dostępu do sieci. Unikanie redundantnych pobrań. Modyfikowanie wzorca pobierania w zależności od typu połączenia. Redukcja drenowania baterii na podstawie zebrania i analizy ruchu sieciowego. Transfer danych za pomocą Sync Adapterów. Tworzenie Stub Autentykatora, Stub Content Prividera. Utworzenie i uruchomienie. Skanowanie w celu wykrycia punktów dostępowych Wifi. Obsługa WiFi Direct (P2P), WiFi Aware, lokalizacja urządzenia za pomocą WiFI RTT. Wykrywanie wystawionych usług w sieci lokalnej i przyłączanie się do nich. Tworzenie połączenia P2P za pomocą WiFi. W10, W11, W12, L10, L11, L12 MEK04
5 TK07 Tworzenie aplikacji zorientowanych na położenie (lokalizację). Obsługa żądań pozwolenia na lokalizację. Rodzaje dostępu do położenia (foreground i background). Żądanie położenia w trakcie działania aplikacji. Pobieranie ostatniej znanej lokalizacji. Zmiana i konfigurowanie ustawień lokalizacyjnych. Żądanie aktualizacji położenia. Dostęp do lokalizacji w tle. Tworzenie i zarządzanie cyfrowym ogrodzeniem (geofencing). Wykrywanie rozpoczęcia lub zakończenia aktywności użytkownika takiej jak: bieganie, jazda rowerem czy samochodem. Wpływ usług lokalizacyjnych na zużycie energii baterii (dokładność odczytu, częstotliwość, czas opóźnienia). Migracja do lokalizacyjnych i kontekstowych API. Dodawanie Map Google do aplikacji i zarządzanie nimi. W13, W14, L13, L14 MEK05
5 TK08 Wprowadzenie do systemów łączności satelitarnej. Historia powstawania, architektura i zasada działania satelitarnych systemów nawigacyjnych (GPS, GLONASS, GALILEO, BEIDOU). Segment naziemny i satelitarny. System satelitów. Rodzaje odbiorników satelitarnych. Standardy zapisu informacji o pozycji. Sentencje NMEA. Zastosowania systemów satelitarnych. W15, L15 MEK05

Nakład pracy studenta

Forma zajęć Praca przed zajęciami Udział w zajęciach Praca po zajęciach
Wykład (sem. 5) Przygotowanie do kolokwium: 5.00 godz./sem.
Godziny kontaktowe: 25.00 godz./sem.
Studiowanie zalecanej literatury: 15.00 godz./sem.
Laboratorium (sem. 5) Przygotowanie do laboratorium: 5.00 godz./sem.
Godziny kontaktowe: 30.00 godz./sem.
Dokończenia/wykonanie sprawozdania: 15.00 godz./sem.
Inne: 15.00 godz./sem.
Konsultacje (sem. 5) Przygotowanie do konsultacji: 1.00 godz./sem.
Udział w konsultacjach: 1.00 godz./sem.
Egzamin (sem. 5) Przygotowanie do egzaminu: 5.00 godz./sem.
Egzamin pisemny: 2.00 godz./sem.
Egzamin ustny: 1.00 godz./sem.

Sposób wystawiania ocen składowych zajęć i oceny końcowej

Forma zajęć Sposób wystawiania oceny podsumowującej
Wykład Ocena z wykładu jest wystawiana na podstawie zaliczenia pisemnego oraz liczby obecności i stanowi łącznie 50% oceny końcowej.
Laboratorium Ocena z każdego laboratorium zależy od stopnia zaawansowania wykonania ćwiczenia w momencie zakończenia zajęć. Ocena zależy także od aktywności studenta na zajęciach oraz od wykonania dodatkowych zadań domowych sformułowanych przez prowadzącego (aplikacja). Ocena średnia z wszystkich laboratoriów stanowi 50% oceny końcowej.
Ocena końcowa 50% oceny końcowej z wykładu + 50% oceny końcowej z laboratorium, zgodnie ze stosowaną skalą ocen

Przykładowe zadania

Wymagane podczas egzaminu/zaliczenia
(-)

Realizowane podczas zajęć ćwiczeniowych/laboratoryjnych/projektowych
(-)

Inne
(-)

Czy podczas egzaminu/zaliczenia student ma możliwość korzystania z materiałów pomocniczych : tak

Dostępne materiały : Student może podczas zaliczenia korzystać z notatek sporządzonych na wykładzie, podczas wykonywania ćwiczenia na komputerze na zajęciach laboratoryjnych lub w domu. Mogą to być wydruki plików.

Treści zajęć powiazane są z prowadzonymi badaniami naukowymi: nie