Programowanie 1900-3-PRG-KT-W
Programowanie jest to cykl 90 godzin zajęć, które mają za zadanie nauczyć uczestników zajęć wykorzystania nabytej wcześniej umiejętności programowania do przetwarzania danych przestrzennych.
Wykłady mają na celu przybliżyć podstawy teoretyczne związane z wymogami opracowywania rozwiązań programistycznych oraz zastosowanymi algorytmami i technikami.
Ćwiczenia są prowadzone w środowisku języka R oraz Python, który w sposób jasny pozwala na zapoznanie się z regułami tworzenia programów. W środowisku tym funkcjonuje wiele gotowych narzędzi do rozwiązywania konkretnych problemów. Dzięki prostocie i dużych możliwościach języka Python oraz R są one coraz chętniej stosowanych przez środowiska akademickie i profesjonalne.
Najpopularniejsze programy komercyjne (ArcGIS) oraz open-sourcowe (QuantumGIS) do przetwarzania danych przestrzennych umożliwiają pełną integrację z funkcjami, programami i skryptami napisanymi w języku R i Python.
W ramach przedmiotu będą realizowane następujące tematy:
• Python w ArcGis
o Praca na dużych zestawach danych
o Automatyzacja analiz
o Tworzenie własnych narzędzi
o Przetwarzanie danych rastrowych i wektorowych w ArcGis
• Python w teledetekcji
o Przetwarzanie obrazów
o Filtrowanie obrazów
o Praca z danymi hiperspektralnymi
o Automatyzacja przetwarzania obrazów
o Przetwarzanie danych w łańcuchu przetwarzania
o Praca z plikami .xml
• Narzędzia systemowe
o Wykorzystanie Pythona jako narzędzia ułatwiającego pracę z systemem operacyjnym
• Klasy, obiekty
o Implementacja klas
o Praca z kodem obiektowy
• Optymalizacja kodu i obsługa błędów
o Obsługa błędów
o Testowanie kodu
o Optymalizacja algorytmów
W zależności od początkowego zaawansowania grupy i postępów w pracy poszczególne tematy mogą ulec rozszerzeniu lub skróceniu.
Znajomość technik programowania umożliwia tworzenie własnych implementacji nowo publikowanych algorytmów, między innymi z zakresu przetwarzania obrazów, co może znacząco ułatwiać proces obróbki, klasyfikacji, czy interpretacji danych teledetekcyjnych.
Celem przedmiotu jest rozwinięcie dotychczasowych umiejętności studentów oraz zapoznanie ich w praktyce z tematyką zautomatyzowanego przetwarzania danych. Zajęcia kładą nacisk opracowywaniu nowych oraz wykorzystaniu już istniejących algorytmów w przetwarzaniu danych.
WYMIAR ZAJĘĆ
Liczba godzin, które student powinien przeznaczyć na osiągnięcie zdefiniowanych dla przedmiotu efektów uczenia się:
wykład: godziny zorganizowane 30 godzin, praca samodzielna studenta co najmniej 15 godzin,
ćwiczenia: godziny zorganizowane 60 godzin, godziny indywidualnych konsultacji (wg potrzeb studenta, do 20 godzin) praca samodzielna studenta (wykonanie ćwiczeń) 20 godzin.
Razem - około 100 godzin
METODY NAUCZANIA
Metody podające: wykład, prezentacja
Metody praktyczne: ćwiczenia przedmiotowe, warsztaty komputerowe, dyskusja, prezentacja
Rodzaj przedmiotu
Tryb prowadzenia
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
WIEDZA:
- Zna podstawowe zagadnienia z zakresu teorii informacji geograficznej,
- Rozumie podstawy działania infrastruktury informacji przestrzennej oraz zastosowania narzędzi geoinformatycznych,
UMIEJĘTNOŚCI:
- Potrafi wykorzystać wiedzę teoretyczną do opisu i rozwiązania problemu badawczego,
- Posługuje się szczegółową terminologią geograficzną w języku polskim oraz w języku obcym na poziomie B2+,
KOMPETENCJE SPOŁECZNE:
- Umie działać w sposób przedsiębiorczy w przygotowywaniu i realizacji projektów gospodarczych.
Studenci po zakończeniu przedmiotu:
- znają kluczowe zasady tworzenia programów i algorytmów
- potrafią napisać własne skrypty w języku Python
- wiedzą jak wykorzystać możliwości oprogramowania ArcGIS z poziomu skryptów Python
- potrafią przygotować własne implementacji algorytmów z zakresu telegeoinformatyki
- potrafią zaproponować rozwiązania programistyczne pomocne w realizacji projektów / pracy magisterskiej
- wiedzą w jaki sposób rozwijać oraz weryfikować poprawność pracy tworzonych przez siebie programów
- potrafią wykorzystywać uzyskaną wiedzę do rozwiązywania napotkanych problemów
Kryteria oceniania
Krótkie sprawdziany oceniające stopień przyswojenia aktualnie omawianych zagadnień, realizacja ćwiczeń na ocenę. Średnia z powyższych ocen (przy założeniu, że wszystkie cząstkowe oceny są pozytywne) posłuży do obliczenia średniej, która będzie końcową oceną zaliczenia przedmiotu. Na ocenę końcową składa się : 50% - prace domowe/praca na zajęciach,
50% - sprawdziany. Prace domowe niezależnie od obecności/nieobecności muszą być wykonane.
Dopuszczalne są dwie nieusprawiedliwione nieobecności na zajęciach.
Niezaliczone sprawdziany można poprawiać w terminie dwóch tygodniu od momentu powrotu z nieobecności lub niezaliczenia kartkówki.
Literatura
„Zanurkuj w Pythonie” – 2012, Wikibooks users
Dowolne podręczniki z zakresu programowania w Pythonie np:
Python dla każdego. Podstawy programowania - Michael Dawson
Python : wprowadzenie - Mark Lutz, David Ascher
Poznaj Python w 24 godziny - Ivan Van Laningham
Dokumentacja ArcPy i ArcGIS
Gągolewski M., 2014 Programowanie w języku R : analiza danych, obliczenia, symulacje.
Język R. Kompletny zestaw narzędzi dla analityków danych - Hadley Wickham, Garrett Grolemund
Dokumentacja programu R: https://cran.r-project.org/manuals.html
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: