- 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