Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Zastosowanie języka Python do badań naukowych
Tok studiów:
2019/2020
Kod:
ZSDA-3-0161-s
Wydział:
Szkoła Doktorska AGH
Poziom studiów:
Studia III stopnia
Specjalność:
-
Kierunek:
Szkoła Doktorska AGH
Semestr:
0
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski i Angielski
Forma studiów:
Stacjonarne
Prowadzący moduł:
prof. dr hab. inż. Hejmanowska Beata (galia@agh.edu.pl)
Dyscypliny:
Moduł multidyscyplinarny
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Moduł pozwala na zapoznanie sie z zasadami programowania w języku Python, używania jego wybranych bibliotek oraz projektowania i praktycznego wykonania interfejsu graficznego. Następnie uczy zastosowania poznanych zasad w badaniach naukowych.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 zasady obiektowego programowania w języku Python SDA3A_W02 Kolokwium
M_W002 możliwość wykorzystania narzędzi programistycznych do wspomagania badań naukowych. SDA3A_W03
Umiejętności: potrafi
M_U001 wykorzystać algorytmy i programy z interfejsem graficznym w języku Python we wspomaganiu badań naukowych SDA3A_U01 Kolokwium
Kompetencje społeczne: jest gotów do
M_K001 kreatywnego podchodzenia do zagadnień programistycznych SDA3A_K01 Aktywność na zajęciach
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
30 0 0 30 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 zasady obiektowego programowania w języku Python - - + - - - - - - - -
M_W002 możliwość wykorzystania narzędzi programistycznych do wspomagania badań naukowych. - - + - - - - - - - -
Umiejętności
M_U001 wykorzystać algorytmy i programy z interfejsem graficznym w języku Python we wspomaganiu badań naukowych - - + - - - - - - - -
Kompetencje społeczne
M_K001 kreatywnego podchodzenia do zagadnień programistycznych - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 74 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 30 godz
Przygotowanie do zajęć 10 godz
Samodzielne studiowanie tematyki zajęć 30 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 2 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Ćwiczenia laboratoryjne (30h):
Laboratoria

1. Wprowadzenie do języka Python
Aktywne wykorzystanie interpretera do przypisywania zmiennych i ewaluacji wyrażeń matematycznych i logicznych. Sprawdzanie typów przypisanych zmiennych. Sposoby rozcinania ciągów. Metody alokacji list, zbiorów i słowników oraz ich odmiany. Wykorzystanie wybranych słów kluczowych.

2. Skrypty i kontrola przepływu programu
Zapoznanie z narzędziami do tworzenia skryptów i automatyzacja procesu ich uruchamiania. Interpretacja komunikatów o błędach, ich znajdowanie i poprawa. Wykorzystanie instrukcji warunkowej if…elif…else. Instrukcje pętli while oraz for, ich implementacja i kontrola. Obsługa wyjątków przy pomocy struktur try…except…else oraz with…as. Warianty definicji funkcji.

3. Klasy, obiekty i moduły
Tworzenie klas oraz implementacja ich metod. Przykłady dziedziczenia klasy bazowej. Inicjalizacja obiektów i odwołanie do ich metod z wykorzystaniem desygnatora. Importowanie modułów własnych oraz standardowych.

4. Projektowanie interfejsu QT
Zapoznanie z narzędziem do projektowania interfejsu, dodawania elementów i modyfikacja ich zawartości. Wykorzystanie narzędzi do automatycznej konwersji pliku XML ze zdefiniowanym interfejsem do kodu Python. Przypisanie połączeń elementów interfejsu do definicji funkcji. Uruchamianie i testowanie interfejsu.

5. Biblioteki i analiza danych
Przykłady najczęściej wykorzystywanych funkcji z biblioteki standardowej. Połączenie funkcjonalności bibliotek operacji przestrzennych w kodzie programu. Operacje na danych tekstowych, wektorowych i rastrowych. Analiza danych przy użyciu bibliotek.

Zastosowanie bibliotek do analizy danych.

Pozostałe informacje
Metody i techniki kształcenia:
  • Ćwiczenia laboratoryjne: Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Ćwiczenia laboratoryjne zaliczane są na podstawie kolokwium. W przypadku braku zaliczenia kolokwium możliwa będzie jego poprawa.

Zasady udziału w zajęciach:
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach:
Sposób obliczania oceny końcowej:

Ocena końcowa jest wystawiana na podstawie kolokwium zaliczeniowego.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Student w przypadku nieobeności uzupełnia braki samodzielnie.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Znajomość modułu podstaw informatyki.
Znajomość obsługi komputera.
Znajomość obsługi edytora tekstowego.

Zalecana literatura i pomoce naukowe:

Literatura:

1. Lutz Mark: “Python. Wprowadzenie”. Helion 2011,
2. Dawson Michael: “Python dla każdego.Podstawy programowania”. Helion 2014
3. Oficjalna dokumentacja języka i kursy online: http://pl.python.org
4. Summerfield Mark: “Rapid GUI Programming with Python and Qt”. Prentice Hall 2008
5. Dokmentacja PyQt: http://pyqt.sourceforge.net/Docs/PyQt4/

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Pyka K., Twardowski M.: “Miejsce wolnego oprogramowania w nauczaniu geoinformatyki”. Archiwum Fotogrametrii, Kartografii i Teledetekcji. 2007.
2. Pyka K., Słota M., Twardowski M. -“Usage of stereo orthoimage in GIS: old concept, modern solution”. XXII ISPRS congress. 2012
3. Twardowski M., Pastucha E., Kolecki J., 2016: Performance of the automatic bundle block
adjustment in the virtualized environment
4. Hejmanowska B., Mikrut S., Kramarczyk P., Twardowski M. [et al], 2018: The comparison of
the web GIS applications relevant for 4D models sharing.

Informacje dodatkowe:

Brak