Module also offered within study programmes:
General information:
Name:
Computational Software
Course of study:
2018/2019
Code:
JIS-1-016-s
Faculty of:
Physics and Applied Computer Science
Study level:
First-cycle studies
Specialty:
-
Field of study:
Applied Computer Science
Semester:
0
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Responsible teacher:
dr hab. inż. Stęgowski Zdzisław (stegowski@fis.agh.edu.pl)
Academic teachers:
dr hab. inż. Stęgowski Zdzisław (stegowski@fis.agh.edu.pl)
dr inż. Gorczyca Zbigniew (Zbigniew.Gorczyca@agh.edu.pl)
dr inż. Bartyzel Jakub (Jakub.Bartyzel@fis.agh.edu.pl)
Module summary

Głównym celem przedmiotu jest zdobycie wiedzy i umiejętności pozwalających na dalsze samodzielne stosowanie oprogramowania MATLAB w szerokim zakresie obliczeń, analiz i symulacji numerycznych.

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
M_K005 Student potrafi wykorzystać zdobytą wiedzę i dostępne formy pomocy do wykonania określonego projektu z zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych IS1A_K01 Execution of a project
M_K006 Student umie ocenić skalę trudności podjętego się zadania, ustalić harmonogram prac oraz potrafi współpracować w zespole. IS1A_K03, IS1A_K01 Execution of a project
Skills
M_U006 Student potrafi stworzyć własny skrypt oraz wykorzystać dostępne biblioteki do wykonania różnego typu obliczeń inżynierskich i symulacji komputerowych. IS1A_U03, IS1A_U06, IS1A_U05, IS1A_U01, IS1A_U04 Execution of laboratory classes
M_U007 Student potrafi wykorzystać szerokie możliwości Matlaba w zakresie graficznej prezentacji wyników obliczeń oraz danych pomiarowych. IS1A_U06, IS1A_U01, IS1A_U04 Execution of laboratory classes
M_U008 Student potrafi stworzyć stosunkowo zaawansowany graficzny interfejs użytkownika. IS1A_U06, IS1A_U05, IS1A_U01, IS1A_U04 Execution of a project,
Execution of laboratory classes
Knowledge
M_W004 Student uzyskuje wiedzę pozwalającą na konstruowanie algorytmów służących do rozwiązywania zagadnień z szerokiego zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych, poprzez zastosowanie pakietu MATLAB. IS1A_W01, IS1A_W03, IS1A_W04 Activity during classes,
Participation in a discussion,
Execution of a project,
Execution of laboratory classes
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
Others
E-learning
Social competence
M_K005 Student potrafi wykorzystać zdobytą wiedzę i dostępne formy pomocy do wykonania określonego projektu z zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych + - + + - - - - - - -
M_K006 Student umie ocenić skalę trudności podjętego się zadania, ustalić harmonogram prac oraz potrafi współpracować w zespole. - - - + - - - - - - -
Skills
M_U006 Student potrafi stworzyć własny skrypt oraz wykorzystać dostępne biblioteki do wykonania różnego typu obliczeń inżynierskich i symulacji komputerowych. + - + - - - - - - - -
M_U007 Student potrafi wykorzystać szerokie możliwości Matlaba w zakresie graficznej prezentacji wyników obliczeń oraz danych pomiarowych. + - + - - - - - - - -
M_U008 Student potrafi stworzyć stosunkowo zaawansowany graficzny interfejs użytkownika. + - + + - - - - - - -
Knowledge
M_W004 Student uzyskuje wiedzę pozwalającą na konstruowanie algorytmów służących do rozwiązywania zagadnień z szerokiego zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych, poprzez zastosowanie pakietu MATLAB. + - + + - - - - - - -
Module content
Lectures:
  1. Wprowadzenie do oprogramowania MATLAB (2 godz.)

    Omówienie podstawowych elementów i opcji okna aplikacji MATLAB oraz dostępnych form pomocy. Obliczanie wartości wyrażeń arytmetycznych z poziomu okna Command Window. Przedstawienie typów klas zmiennych:
    logiczne, znakowe, numeryczne, struktury, tablice komórek.

  2. Operacje matematyczne na wektorach i macierzach (2 godz.)

    Generowanie wektorów (ciągów), macierzy i tablic. Operacje na i pomiędzy wektorami, macierzami i tablicami. Numeryczna algebra liniowa. Tworzenie, uruchamianie i poprawianie skryptów. Tworzenie własnych funkcji, bibliotek oraz ustawianie ścieżek dostępu.

  3. Grafika dwuwymiarowa (2 godz.)

    Omówienie podstawowych procedur do prezentacji funkcji jednej zmiennej takich jak: plot, stairs, stem, bar, area, errorbar. Obsługa i ustawianie zmiennych obiektu okna figury oraz wykresu. Ustawianie tych zmiennych z poziomu skryptu. Tworzenie wykresów wielu funkcji (jednej zmiennej) w jednym lub wielu oknach figury. Graficzna prezentacja on-line wykonywanych obliczeń.

  4. Grafika trójwymiarowa (2 godz.)

    Formy danych do prezentacji funkcji wielu zmiennych (wektory, macierze, tablice trójwymiarowe). Omówienie podstawowych procedur do prezentacji funkcji dwóch zmiennej takich jak: plot3, contour, mesh,surf. Prezentacja skalarnych funkcji trzech zmiennych poprzez funkcje slice i isosurface. Prezentacja wektorowych funkcji wielu zmiennych poprzez funkcje streamslice, streamline i streamtube. Wybór mapy kolorów oraz projektowanie własnej mapy kolorów.

  5. Matlab-toolbox do obliczeń statystycznych (2 godz.)

    Przypomnienie podstawowych zagadnień z zakresu statystyki matematycznej takich jak: rozkłady prawdopodobieństwa zmiennych losowych dyskretnych, funkcje gęstości prawdopodobieństwa, dystrybuanta, funkcja odwrotna do dystrybuanty. Zastosowanie zawartych w Matlab-Statistics Toolbox funkcji do wyznaczania prawdopodobieństwa w zadanym przedziale zmiennych losowych, wyznaczania przedziałów ufności oraz testowania hipotez statystycznych. Wykorzystanie generatorów losowych, dla różnych rozkładów, do symulacji procesów stochastycznych.

  6. Matlab-toolbox do numerycznej obróbki i analizy zdjęć (2 godz.)

    Zapis obrazu (zdjęcia) w postaci tablicy RGB. Proste operacje numeryczne na tablicy obrazu. Podstawowe transformacje obrazu za pomocą funkcji zawartych w Matlab- Image Processing Toolbo. Cyfrowa filtracja obrazu. Regionalizacja obrazu. Analiza statystyczna obrazu.

  7. Tworzenie graficznego interfejsu użytkownika – GUI (3 godz.)

    Tworzenie okna figury GUI i omówienie podstawowych zmiennych do niego przypisanych. Omówienie podstawowych obiektów (kontrolek) takich jak: Edittext, Statictext, Pushbutton, Radiobutton, Slider, Axes. Omówienie funkcji do: obsługi zdarzeń, odczytu i zmiany parametrów oraz uchwytów do identyfikacji obiektów. Przedstawienie i dokładne omówienie tworzenia prostego kalkulatora. Przedstawienie i ogólne omówienie graficznych interfejsów do symulacji numerycznych oraz numerycznej analizy obrazów.

Laboratory classes:
  1. obsługa okna aplikacji MATLAB

    Efekty kształcenia:

    • student potrafi obsługiwać okno aplikacji MATLABa w podstawowym zakresie,
    • student potrafi korzystać z dostępnych rodzajów pomocy w MATLABie.

  2. klasy zmiennych oraz konstrukcja wyrażeń arytmetycznych

    Efekty kształcenia:

    • student rozróżnia typy zmiennych i umie je tworzyć,
    • student potrafi konstruować dowolne wyrażenia matematyczne i wykonywać obliczenia.

  3. operacje matematyczne na wektorach i macierzach

    Efekty kształcenia:

    • student potrafi stworzyć tablicę wielowymiarową, a w szczególności wektor (ciąg) oraz macierz,
    • student potrafi wykonywać działania matematyczne na wektorach i macierzach zgodnie z zasadami algebry,
    • student potrafi zdefiniować wybrany obszar w tablicy i wykonać na nim określoną operację,
    • student potrafi numerycznie rozwiązać układ równań algebraicznych.

  4. tworzenie pliku linii skryptów oraz funkcji własnych

    Efekty kształcenia:

    • student potrafi stworzyć plik linii skryptów, uruchomić go oraz zidentyfikować i poprawić błędy,
    • student potrafi stworzyć własną funkcję, założyć własną bibliotekę oraz ustawiać ścieżkę dostępu do niej.

  5. grafika dwuwymiarowa

    Efekty kształcenia:

    • student potrafi wykonać wykres funkcji jednej zmiennej za pomocą funkcji plot, stairs, stem, bar, area, errorbar,
    • student potrafi ustawić zmienne obiektu okna figury oraz wykresu z poziomu skryptu,
    • student potrafi prezentować graficznie wyniki obliczeń w trakcie ich wykonywania .

  6. czytanie i zapisywanie danych w formacie ASCII (tekstowym)

    Efekty kształcenia:

    • student potrafi wczytać dowolne dane z plików zapisanych w formacie tekstowym,
    • student zna i potrafi użyć podstawowe formaty do zapisu zmiennych liczbowych i ciągów znakowych,
    • student potrafi w sposób w pełni kontrolowany zapisywać dane w plikach tekstowych .

  7. grafika trójwymiarowa

    Efekty kształcenia:

    • student potrafi wykonać wykres funkcji dwóch zmiennych za pomocą funkcji plot3, contour, mesh,surf.
    • student potrafi zmieniać mapę kolorów oraz zaprojektować własną mapę kolorów,
    • student potrafi wykonać wykres skalarnych funkcji trzech zmiennych poprzez funkcje slice i isosurface.

  8. obliczenia symboliczne

    Efekty kształcenia:

    • student potrafi tworzyć obiekty symboliczne i rozumie ich istotę,
    • student potrafi wykonywać następujące operacje na obiektach symbolicznych: liczyć pochodne, całki, sumy, rozwiązywać równania algebraiczne, rozwiązywać równania różniczkowe zwyczajne.

  9. dopasowywanie funkcji do danych pomiarowych

    Efekty kształcenia:

    • student potrafi dopasować jedno i dwuwymiarową funkcję liniową i nieliniową do danych pomiarowych,
    • student potrafi dokonać ilościowej analizy jakości dopasowania.

  10. numeryczne rozwiązywanie równań różniczkowych zwyczajnych

    Efekty kształcenia:

    • student potrafi napisać skrypt do numerycznego rozwiązania prostego równania różniczkowego (np. równanie różniczkowe opisujące ruch harmoniczny tłumiony),
    • student potrafi użyć funkcji bibliotecznych do rozwiązywania równania różniczkowego zwyczajnego drugiego stopnia oraz układu równań pierwszego stopnia.

  11. numeryczna obróbka i analiza obrazów

    Efekty kształcenia:

    • student potrafi wykonać proste operacje numeryczne na tablicy RGB obrazu,
    • student potrafi wykonać różne transformacje obrazu za pomocą funkcji zawartych w Matlab- Image Processing Toolbo,
    • student potrafi dokonać różnych analiz numerycznych ( w tym statystycznych) obrazu.

  12. tworzenie graficznego interfejsu użytkownika – GUI

    Efekty kształcenia:

    • student potrafi stworzyć prosty interfejs graficzny (np. kalkulator matematyczny, prezentacja zmiany kształtu funkcji poprzez zmianę jej parametrów.),
    • student potrafi zastosować odpowiedni obiekt GUI do realizacji określonego zadania.

Project classes:
PROJEKT ZESPOŁOWY

Studenci w zespołach dwuosobowych realizują projekty. Każdy z projektów obejmuje stworzenie graficznego interfejsu użytkownika do określonego zadania. Tematy projektów muszą zawierać stosunkowo zaawanasowane zagadnienia z zakresu symulacji numerycznych lub analizy danych, sygnałów lub obrazów. Tematy projektów uzgadniane są ze studentami tak, aby były zgodne z ich merytorycznym przygotowaniem i uwzględniały ich indywidualne zainteresowania.

Efekty kształcenia:

  • student potrafi ocenić skale trudności (złożoności) realizowanego projektu,
  • student potrafi efektywnie wykorzystać uzyskane umiejętności do wykonania projektu,
  • student potrafi samodzielnie wykorzystać dostępne formy pomocy, w MATLABie, do realizacji projektu,
    - student potrafi ustalić harmonogram prac i ustalić podział pracy w zespole,
  • student potrafi współpracować w zespole realizując swoją część zadania,

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 154 h
Module ECTS credits 6 ECTS
Participation in lectures 15 h
Participation in laboratory classes 30 h
Participation in project classes 15 h
Preparation for classes 44 h
Completion of a project 35 h
Realization of independently performed tasks 15 h
Additional information
Method of calculating the final grade:

W ramach laboratorium komputerowego studenci wykonują w semestrze około czterech zadanych ćwiczeń, które są oceniane. W trakcie zajęć laboratoryjnych oceniana jest aktywność studentów i wiedza uzyskana na wykładach. Ocena z projektu jest wynikiem złożoności wybranego tematu, jakości wykonanego graficznego interfejsu oraz oceny kreatywności i umiejętności pracy w zespole.

Ocena końcowa z modułu obliczana jest, jako średnia ważona z: średniej oceny z ćwiczeń wykonywanych na laboratorium (35%), oceny aktywności na laboratorium i wiedzy uzyskanej na wykładach (15%) oraz oceny z projektu (50%).

Prerequisites and additional requirements:

• dobre przygotowanie z modułów matematyki i fizyki realizowanych na studiach inżynierskich,
• dobre przygotowanie z modułu postaw informatyki realizowanego na studiach inżynierskich.

Recommended literature and teaching resources:
  • Jerzy Brzózka, Lech Dorobczyński, „MATLAB : środowisko obliczeń naukowo-technicznych”, wyd. MIKOM, 2005.
  • Marek Czajka, „Ćwiczenia Matlab”, wyd. Helion, 2005.
  • Rudra Pratap, „MATLAB 7 dla naukowców i inżynierów”, wyd. PWN, 2009.
    MATLAB Documentation – http://www.mathworks.com/help
Scientific publications of module course instructors related to the topic of the module:

Lista publikacji z stosowaniem oprogramowania MATLAB do obliczeń, analiz i symulacji numerycznych.

A synchrotron radiation micro-X-ray absorption near edge structure study of sulfur speciation in human brain tumors – a methodological approach / Magdalena SZCZERBOWSKA-BORUCHOWSKA, Zdzisław STĘGOWSKI, Marek LANKOSZ, Małgorzata Szpak, Dariusz Adamek // Journal of Analytical Atomic Spectrometry ; ISSN 0267-9477. — 2012 vol. 27 iss. 2, s. 239–247.

Badania znacznikowe i modelowanie komputerowe wybranych układów przepływowych : rozprawa habilitacyjna — Tracer investigations and computer modelling for selected flow systems / Zdzisław STĘGOWSKI. — Kraków : Wydział Fizyki i Informatyki Stosowanej AGH, 2010. — 143 s

Determination of flow patterns in industrial gold leaching tank by radiotracer residence time distribution measurement / Zdzisław STĘGOWSKI, Christian P. K. Dagadu, Leszek FURMAN, Edward H. K. Akaho, Kweku A. Danso, Ishmael I. Mumuni, Patience S. Adu, Charles Amoah // Nukleonika : the International Journal of Nuclear Research / Institute of Nuclear Chemistry and Technology, Polish Nuclear Society, National Atomic Energy Agency ; ISSN 0029-5922. — 2010 vol. 55 no. 3, s. 339–344.

Dispersion determination in a turbulent pipe flow using radiotracer data and CFD analysis / Sugiharto, Zdzisław STĘGOWSKI, Leszek FURMAN, Zaki Su’ud, Rizal Kurniadi, Abdul Waris, Zainal Abidin // Computers & Fluids ; ISSN 0045-7930. — 2013 vol. 79, s. 77-81.

Emission of styrene from polystyrene foam and of cyclopentane from polyurethane foam – measurements and modelling — Emisja styrenu z pianki styropianowej i cyklopentanu z pianki poliuretanowej – pomiary i modelowanie / Maciej Choczyński, Barbara Krajewska, Zdzisław STĘGOWSKI, Jarosław NĘCKI // Polimery ; ISSN 0032-2725. — 2011 t. 56 nr 6, s. 461–470.

Preliminary PM2.5 and PM10 fractions source apportionment complemented by statistical accuracy determination / Lucyna SAMEK, Zdzisław STĘGOWSKI, Leszek FURMAN // Nukleonika : the International Journal of Nuclear Research / Institute of Nuclear Chemistry and Technology, Polish Nuclear Society, National Atomic Energy Agency ; ISSN 0029-5922. — 2016 vol. 61 no. 1, s. 75–83.

Simultaneous measurement of {Cr, Mn} and {Fe} diffusion in chromium-manganese steels / Joanna DUDAŁA, Jolanta GILEWICZ-WOLTER, Zdzisław STĘGOWSKI // Nukleonika : The International Journal of Nuclear Research / Institute of Nuclear Chemistry and Technology, Polish Nuclear Society, National Atomic Energy Agency ; ISSN 0029-5922. — 2005 vol. 50 s. 67–71.

Additional information:

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

ćwiczenia laboratoryjne: usprawiedliwiona nieobecność na zajęciach wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału i jego zaliczenia w formie i terminie wyznaczonym przez prowadzącego zajęcia obecność na wykładzie: zgodnie z Regulaminem Studiów AGH

Zasady zaliczania zajęć:

ćwiczenia laboratoryjne: podstawowym terminem uzyskania zaliczenia jest koniec zajęć w danym semestrze. Student może dwukrotnie przystąpić do poprawkowego zaliczania. Student który bez usprawiedliwienia opuścił więcej niż dwa zajęcia i jego cząstkowe wyniki w nauce były negatywne może zostać pozbawiony, przez prowadzącego zajęcia, możliwości poprawkowego zaliczania zajęć. Od takiej decyzji prowadzącego zajęcia student może się odwołać do prowadzącego przedmiot (moduł) lub Dziekana.

Dlaczego warto poznać pakiet obliczeniowy MATLAB?

- jest powszechnie nauczany na uczelniach całego Świata,
- posiada przyjazne dla użytkownika, interakcyjne środowisko,
- programowanie odbywa się w języku wysokiego poziomu,
- pozwala poznawać metody matematyczne w praktyce,
- staje się najczęściej używanym narzędziem do wykonywanie: obliczeń naukowych i inżynierskich, modelowania i symulacji, analizy danych (w tym: sygnałów i obrazów), graficznej wizualizacji danych i wyników obliczeń,