Module also offered within study programmes:
General information:
Name:
Python for scientific research
Course of study:
2019/2020
Code:
ZSDA-3-0161-s
Faculty of:
Szkoła Doktorska AGH
Study level:
Third-cycle studies
Specialty:
-
Field of study:
Szkoła Doktorska AGH
Semester:
0
Profile of education:
Academic (A)
Lecture language:
Polski i Angielski
Form and type of study:
Full-time studies
Responsible teacher:
prof. dr hab. inż. Hejmanowska Beata (galia@agh.edu.pl)
Dyscypliny:
Moduł multidyscyplinarny
Module summary

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.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 kreatywnego podchodzenia do zagadnień programistycznych SDA3A_K01 Activity during classes
Skills: he can
M_U001 wykorzystać algorytmy i programy z interfejsem graficznym w języku Python we wspomaganiu badań naukowych SDA3A_U01 Test
Knowledge: he knows and understands
M_W001 zasady obiektowego programowania w języku Python SDA3A_W02 Test
M_W002 możliwość wykorzystania narzędzi programistycznych do wspomagania badań naukowych. SDA3A_W03
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
30 0 0 30 0 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
M_K001 kreatywnego podchodzenia do zagadnień programistycznych - - + - - - - - - - -
Skills
M_U001 wykorzystać algorytmy i programy z interfejsem graficznym w języku Python we wspomaganiu badań naukowych - - + - - - - - - - -
Knowledge
M_W001 zasady obiektowego programowania w języku Python - - + - - - - - - - -
M_W002 możliwość wykorzystania narzędzi programistycznych do wspomagania badań naukowych. - - + - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 74 h
Module ECTS credits 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 30 h
Preparation for classes 10 h
Realization of independently performed tasks 30 h
Examination or Final test 2 h
Contact hours 2 h
Module content
Laboratory classes (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.

Additional information
Teaching methods and techniques:
  • Laboratory classes: Ć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.

Participation rules in classes:
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes:
Method of calculating the final grade:

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.

Prerequisites and additional requirements:

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

Recommended literature and teaching resources:

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/

Scientific publications of module course instructors related to the topic of the module:

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.

Additional information:

None