Nazwa przedmiotu:
Programowanie aplikacji geoinformacyjnych 1
Koordynator przedmiotu:
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Geoinformatyka
Grupa przedmiotów:
Obowiązkowe
Kod przedmiotu:
1060-GI000-ISP-4002
Semestr nominalny:
4 / rok ak. 2021/2022
Liczba punktów ECTS:
5
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Udział w zajęciach, wykłady: 30 godzin, Udział w zajęciach, ćwiczenia: 30 godzin, Zapoznanie z literaturą: 10 godzin, Sprawozdania, raporty z zajęć, prace domowe: 20 godzin, Praca w zespole nad tworzeniem aplikacji: 20 godzin Przygotowanie do egzaminu: 20 godzin, Udział w konsultacjach: 10 godzin w sumie: 140 godzin, co odpowiada 5 pkt. ECTS
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
Udział w zajęciach, wykłady: 30 godzin, Udział w zajęciach, ćwiczenia: 30 godzin, Udział w konsultacjach: 10 godzin w sumie: 70 godzin, co odpowiada 2,8 pkt. ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
Udział w zajęciach, ćwiczenia: 30 godzin, Sprawozdania, raporty z zajęć, prace domowe: 20 godzin, Praca w zespole nad tworzeniem aplikacji: 20 godzin Udział w konsultacjach: 10 godzin w sumie: 80 godzin, co odpowiada 3,2 pkt. ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt30h
  • Lekcje komputerowe0h
Wymagania wstępne:
Znajomość podstaw informatyki i techniki komputerowej. Umiejętność programowania strukturalnego i obiektowego. Znajomość podstawowych algorytmów i struktur danych wykorzystywanych w programowaniu. Znajomość zagadnień związanych z projektowaniem systemów informatycznych. Umiejętność projektowania i wykorzystywania relacyjnych baz danych. Umiejętność korzystania z oprogramowania GIS, znajomość podstawowych formatów danych przestrzennych.
Limit liczby studentów:
-
Cel przedmiotu:
Celem przedmiotu jest przedstawienie technik tworzenia aplikacji (w szczególności programowania) służących do przetwarzania danych przestrzennych i prezentacji danych przestrzennych. Celem przedmiotu jest nauka wybranego języka programowania (np. Python) lub poznanie zasad programowania w znanym języku w sposób dostosowany do wybranej platformy GIS. Celem przedmiotu jest poznanie efektywnych metod wykorzystania API do wybranych zasobów danych przestrzennych i aplikacji geoinformacyjnych (w szczególności API Google)
Treści kształcenia:
Wykład: 1. Informacje wstępne o środowisku języka Java: język, program źródłowy, kompilator, maszyna wirtualna, biblioteki API, konfiguracja JDK, dokumentacja, Java Tutorial, pakiety, zarządzanie pakietami i plikami źródłowymi. Program konsolowy. Aplikacje. 2. Przegląd języka: podstawowe elementy programu, system typów języka Java, typy wbudowane, stałe, zmienne, operatory i wyrażenia, instrukcje strukturalne i sterujące – porównanie z C++. Blok, zakres interpretacji nazw. Obsługa sytuacji wyjątkowych, instrukcja try-catch-finally. 3. Programowanie obiektowe: klasy i obiekty, definiowanie klas, tworzenie obiektów, cykl życia obiektu. Definiowanie metod, przeciążenie, sygnatury, metody statyczne, abstrakcyjne, synchronizowane. Praca z tablicami. Dziedziczenie i polimorfizm. Interfejsy. System kontroli dostępu. 4. Podstawy wzorców programistycznych i projektowych. 5. Przegląd klas i pakietów podstawowych: pakiet java.lang, klasa Object, klasy kopertowe, numeryczne, klasy String, System, Runtime, Runnable, Thread, klasa Throwable i pochodne. 6. Przegląd klas i pakietów podstawowych: pakiet java.io i pochodne, system WE/WY, strumienie, kanały. 7. Przegląd klas i pakietów podstawowych: pakiet java.util i pochodne, kolekcje. Programowanie funkcyjne. 8. Programowanie graficzne i zdarzeniowe: komponenty wizualne, ich rozkłady, aplikacja interaktywna, model MVC, interfejs graficzny. Pakiet javax.swing, relacja AWT—Swing. Model delegacyjny obsługi zdarzeń, klasa zdarzeniowa. Operacje graficzne. Proste przetwarzanie obrazów, animacja. 9. Programowanie wielowątkowe: sytuacje wymagające współbieżności, reagowanie na zdarzenia i wątki. Tworzenie wątków, wątek główny. Stany wątków, priorytety wątków. Anomalie w programach wielowątkowych, wyścig, impas, synchronizowanie wątków; instrukcje synchronizujące, metody synchronizowane, monitory. Narzędzia z pakietu java.util.concurrent. 10. Programowanie sieciowe: gniazdo TCP, pakiet UDP, protokół komunikacyjny, model klient-serwer. 11. Inne pakiety JDK: przegląd pakietów standardowych z punktu widzenia zastosowań: programowanie rozproszone, współpraca z relacyjnymi bazami danych, programowanie komponentowe. Projekt: Tworzenie aplikacji geoinformatycznych do automatyzacji procesów w oprogramowaniu GIS (generalizacja, eksport/import, analizy przestrzenne). Tworzenie webowych aplikacji geoinformatycznych do prezentacji i analiz danych przestrzennych. Aplikacje budowane z użyciem określonych bibliotek programistycznych (np. Google Map API) wykorzystują serwisy mapowe Google oraz serwisy mapowe OGC (np. WMS, WFS).
Metody oceny:
1. Egzamin pisemny 2. Trzy projekty (aplikacje) realizowane przez studentów w kilkuosobowych grupach
Egzamin:
tak
Literatura:
_
Witryna www przedmiotu:
_
Uwagi:

Efekty uczenia się

Profil praktyczny - wiedza

Charakterystyka GI.ISP-4002_W1
Zna metody wykorzystania języków programowania do tworzenia aplikacji w środowisku wybranych platform GIS
Weryfikacja: egzamin
Powiązane charakterystyki kierunkowe: K_W03, K_W04, K_W09
Powiązane charakterystyki obszarowe: I.P6S_WG
Charakterystyka GI.ISP-4002_W2
Zna wybrane API, biblioteki i inne popularne interfejsy programistyczne dostępu do zasobów danych przestrzennych oraz funkcji geoinformacyjnych
Weryfikacja: egzamin
Powiązane charakterystyki kierunkowe: K_W04, K_W08, K_W09
Powiązane charakterystyki obszarowe: I.P6S_WG
Charakterystyka GI.ISP-4002_W3
Zna architekturę wiodących pakietów oprogramowania do przetwarzania danych przestrzennych i wie w jaki sposób ją wykorzystać do automatyzacji realizowanych zadań.
Weryfikacja: egzamin
Powiązane charakterystyki kierunkowe: K_W08, K_W09
Powiązane charakterystyki obszarowe: I.P6S_WG

Profil praktyczny - umiejętności

Charakterystyka GI.ISP-4002_U1
Potrafi zaprojektować i wykonać aplikację będącą rozszerzeniem wybranego oprogramowania GIS, której celem jest automatyzacja serii zadań związanych z przetwarzaniem danych przestrzennych.
Weryfikacja: projekt aplikacji wykonywany przez grupę studentów
Powiązane charakterystyki kierunkowe: K_U13, K_U14, K_U18, K_U02, K_U10, K_U12
Powiązane charakterystyki obszarowe: I.P6S_UW, I.P6S_UO
Charakterystyka GI.ISP-4002_U2
Potrafi zaprojektować i zaimplementować z użyciem wybranych bibliotek aplikację o architekturze klient-serwer, której celem jest wizualizacja danych przestrzennych
Weryfikacja: projekt aplikacji wykonywany przez grupę studentów
Powiązane charakterystyki kierunkowe: K_U02, K_U03, K_U13, K_U14, K_U16
Powiązane charakterystyki obszarowe: I.P6S_UO, I.P6S_UW

Profil praktyczny - kompetencje społeczne

Charakterystyka GI.ISP-4002_K1
Potrafi pracować w grupie poszukującej rozwiązania problemu.
Weryfikacja: projekt wykonywany przez grupę studentów
Powiązane charakterystyki kierunkowe: K_K04, K_K05
Powiązane charakterystyki obszarowe: I.P6S_KO, I.P6S_KR