Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie w środowisku Matlab
Tok studiów:
2019/2020
Kod:
RAIR-2-402-AM-n
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia II stopnia
Specjalność:
Automatyka i metrologia
Kierunek:
Automatyka i Robotyka
Semestr:
4
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Niestacjonarne
Prowadzący moduł:
dr inż. Maślanka Marcin (marcin.maslanka@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Moduł obejmuje zagadnienia dotyczące tworzenia i rozwijania oprogramowania w środowisku MATLAB, w tym: użycia zaawansowanych typów zmiennych, obsługi odczytu i zapisu danych w różnych formatach, zastosowania programowania obiektowego, debugowania, optymalizacji kodu programu, tworzenia skalowalnych GUI. Po zakończeniu zajęć student powinien posiadać wiedzę i umiejętności pozwalające na tworzenie, testowanie i rozwijanie oprogramowania w środowisku MATLAB na poziomie zaawansowanym.

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 Zna składnię języka MATLAB oraz zasady tworzenia skryptów i funkcji różnych typów w środowisku MATLAB. AIR2A_W06 Projekt,
Kolokwium,
Aktywność na zajęciach
M_W002 Zna podstawowe i zaawansowane typy zmiennych, metody odczytu i zapisu danych oraz operacje na danych różnego typu w środowisku MATLAB. AIR2A_W06 Projekt,
Kolokwium,
Aktywność na zajęciach
M_W003 Zna problematykę programowania obiektowego w środowisku MATLAB. AIR2A_W06 Projekt,
Kolokwium,
Aktywność na zajęciach
M_W004 Zna zasady tworzenia aplikacji z graficznym interfejsem użytkownika w środowisku MATLAB. AIR2A_W06 Projekt,
Kolokwium,
Aktywność na zajęciach
Umiejętności: potrafi
M_U001 Potrafi tworzyć i testować programy w środowisku MATLAB. AIR2A_U07 Projekt,
Aktywność na zajęciach
M_U002 W tworzonych programach w środowisku MATLAB potrafi zastosować różne typy zmiennych, w tym tablice wielowymiarowe, tablice komórkowe, struktury i tablice struktur. AIR2A_U07 Projekt,
Aktywność na zajęciach
M_U003 Potrafi tworzyć programy w środowisku MATLAB obejmujące operacje obsługi odczytu i zapisu danych do plików różnych formatów. AIR2A_U07 Projekt,
Aktywność na zajęciach
M_U004 Potrafi zastosować techniki programowania obiektowego w środowisku MATLAB. AIR2A_U07 Projekt,
Aktywność na zajęciach
M_U005 Potrafi tworzyć i rozwijać graficzny interfejs użytkownika w środowisku MATLAB. AIR2A_U07 Projekt,
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
22 8 0 14 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 Zna składnię języka MATLAB oraz zasady tworzenia skryptów i funkcji różnych typów w środowisku MATLAB. + - - - - - - - - - -
M_W002 Zna podstawowe i zaawansowane typy zmiennych, metody odczytu i zapisu danych oraz operacje na danych różnego typu w środowisku MATLAB. + - - - - - - - - - -
M_W003 Zna problematykę programowania obiektowego w środowisku MATLAB. + - - - - - - - - - -
M_W004 Zna zasady tworzenia aplikacji z graficznym interfejsem użytkownika w środowisku MATLAB. + - - - - - - - - - -
Umiejętności
M_U001 Potrafi tworzyć i testować programy w środowisku MATLAB. - - + - - - - - - - -
M_U002 W tworzonych programach w środowisku MATLAB potrafi zastosować różne typy zmiennych, w tym tablice wielowymiarowe, tablice komórkowe, struktury i tablice struktur. - - + - - - - - - - -
M_U003 Potrafi tworzyć programy w środowisku MATLAB obejmujące operacje obsługi odczytu i zapisu danych do plików różnych formatów. - - + - - - - - - - -
M_U004 Potrafi zastosować techniki programowania obiektowego w środowisku MATLAB. - - + - - - - - - - -
M_U005 Potrafi tworzyć i rozwijać graficzny interfejs użytkownika w środowisku MATLAB. - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 56 godz
Punkty ECTS za moduł 2 ECTS
Udział w zajęciach dydaktycznych/praktyka 22 godz
Przygotowanie do zajęć 12 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 12 godz
Samodzielne studiowanie tematyki zajęć 8 godz
Egzamin lub kolokwium zaliczeniowe 1 godz
Dodatkowe godziny kontaktowe 1 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (8h):
  1. Zasady programowania w środowisku MATLAB

    Skrypty i funkcje. Podstawowe typy zmiennych. Pętle. Wektoryzacja działań. Operacje macierzowe. Podstawy tworzenia GUI. Debugowanie programów. Platforma MATLAB Central (Cody, File Exchange).

  2. Programowanie funkcji oraz odczyt/zapis danych

    Podstawowe oraz zaawansowane aspekty programowania i użycia funkcji, w tym: zmienna liczba argumentów funkcji, funkcje zagnieżdżone, rekurencja, funkcje anonimowe. Odczyt i zapis danych do różnych typów plików.

  3. Zaawansowane typy zmiennych oraz wstęp do programowania obiektowego

    Zaawansowane typy zmiennych z przykładami zastosowań. Wstęp do programowania obiektowego.

  4. Tworzenie zaawansowanego GUI

    Elementy składowe GUI. Metody tworzenia skalowalnych GUI. Przykłady programów. Dobre praktyki programowania.

Ćwiczenia laboratoryjne (14h):
  1. Wprowadzenie do programowania w MATLAB

    Tworzenie skryptów i funkcji. Debugowanie programów. Rozwiązywanie prostych zadań problemowych z zastosowaniem pętli i podstawowych typów zmiennych.

  2. Zaawansowane programowanie funkcji

    Rozwiązywanie zadań problemowych z wykorzystaniem funkcji zagnieżdżonych, rekurencji oraz funkcji anonimowych.

  3. Odczyt i zapis danych

    Rozwijanie umiejętności programowania obsługi odczytu i zapisu danych do plików różnych formatów – funkcje podstawowe i zaawansowane.

  4. Wykorzystnie zaawansowanych typów zmiennych

    Rozwijanie umiejętności operacji na danych tekstowych, tablicach wielowymiarowych, tablicach komórkowych, strukturach i tablicach struktur.
    Na zajęciach zostaną też wydane i omówione tematy projektów końcowych.

  5. Podstawy programowania obiektowego

    Zapoznanie się z zagadnieniami programowania obiektowego w MATLAB. Rozwiązywanie zadań przy zastosowaniu programowania obiektowego.

  6. Tworzenie GUI

    Rozwijanie umiejętności programowania graficznego interfejsu użytkownika. Rozwiązywanie zadań z wykorzystaniem funkcji get, set, findobj i właściwości callback.

  7. Oddanie projektów końcowych

    Oddanie projektów końcowych (programów opracowanych w środowisku MATLAB) oraz sprawozdań w formie krótkiej prezentacji opracowanego programu. Dyskusja prezentowanych projektów moderowana przez prowadzącego. Ocena projektów.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej, sporadycznie używana jest tablica. W trakcie wykładu prezentowane są przykłady programów opracowanych w środowisku MATLAB, omawiany jest kod źródłowy tych programów i ich działanie. Studenci uzyskują dostęp do prezentowanych na wykładzie kodów źródłowych w celu samodzielnej ich modyfikacji i testowania.
  • Ćwiczenia laboratoryjne: Studenci rozwiązują zadania problemowe w środowisku MATLAB zgodnie ze znanym im wcześniej programem laboratoriów. Prowadzący na bieżąco dokonuje stosowanych wyjaśnień i moderuje dyskusję z grupą nad danym problemem.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:
  • Ocena końcowa z zajęć laboratoryjnych jest średnią arytmetyczną oceny z projektu końcowego oraz średniej z wszystkich ocen uzyskanych w trakcie laboratoriów (z odpowiedzi i z kolokwium pisemnego).
  • Tematy projektów końcowych są wydawane przez prowadzącego zajęcia lub proponowane przez studentów w konsultacji z prowadzącym. Projekty końcowe są realizowane indywidualnie przez każdego ze studentów lub w zespołach dwuosobowych.
  • Student uzyskuje ocenę z projektu końcowego na podstawie przedstawionego kodu programu w środowisku MATLAB, opracowanego w ramach projektu końcowego, oraz odpowiedzi ustnej dotyczącej wybranych fragmentów kodu programu i użytych funkcji.
  • Na ostatnich zajęciach laboratoryjnych odbywa się kolokwium w formie pisemnej.
  • Pod koniec semestru, w terminie ustalonym ze studentami, odbywa się zaliczenie poprawkowe (kolokwium w formie pisemnej).
Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z Syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci przystępując do ćwiczeń są zobowiązani do przygotowania się w zakresie wskazanym każdorazowo przez prowadzącego. Przygotowanie do ćwiczeń może wymagać rozwiązania zestawu zadań i/lub zapoznania się ze wskazanymi materiałami dydaktycznymi, także w języku angielskim. Ocena pracy studenta bazuje na wypowiedziach ustnych.
Sposób obliczania oceny końcowej:

Ocenę końcową modułu stanowi ocena końcowa z zajęć laboratoryjnych.

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

Student zobowiązany jest nadrobić materiał omawiany na zajęciach, na których był nieobecny
(także w przypadku gdy nieobecność została usprawiedliwiona). W szczególności zobowiązany jest do
uzupełnienia kodów programów i zadań problemowych rozwiązywanych podczas zajęć laboratoryjnych.

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

Wymagana jest wstępna znajomość środowiska MATLAB w stopniu co najmniej podstawowym. Dodatkowe wymagania dotyczą znajomości języka angielskiego w stopniu podstawowym oraz podstaw automatyki, operacji na macierzach, metod numerycznych i podstaw przetwarzania i analizy sygnałów.

Zalecana literatura i pomoce naukowe:

Zalecane podręczniki:

  • Attaway S., MATLAB: A Practical Introduction to Programming and Problem Solving, 4th Edition, Elsevier, 2016.
  • Brzózka J., Dorobczyński L., Programowanie w Matlab, Wydawnictwo NIKOM, 1998.
  • Pratap R., Korbecki M., MATLAB 7: dla naukowców i inżynierów, Wydawnictwo Naukowe PWN, 2013.
    Materiały dodatkowe:
  • Agostini M., “Master Class: Advanced Programming Techniques in MATLAB”, MathWorks, 2017. Materiał wideo: https://www.mathworks.com/videos/master-class-advanced-programming-techniques-in-matlab-1521196031104.html. Prezentacja: https://it.mathworks.com/content/dam/mathworks/mathworks-dot-com/solutions/aerospace-defense/files/2017/expo-us/master-class-advanced-programming-techniques-in-matlab.pdf.
  • Delgadillo J. “The Complete MATLAB Course: Beginner to Advanced!”, Materiał wideo, YouTube: https://www.youtube.com/watch?v=T_ekAD7U-wU
  • Materiały firmy MathWorks, Platforma Cody – Challenge and Expand Your Knowledge of MATLAB, https://www.mathworks.com/matlabcentral/cody/
    Materiały firmy MathWorks, Platforma File Exchange, https://www.mathworks.com/matlabcentral/fileexchange/
  • Materiały firmy MathWorks, MATLAB Answers, https://www.mathworks.com/matlabcentral/answers/
  • Materiały firmy MathWorks, Blogs – Learn from Experts, https://blogs.mathworks.com/
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:
  • Maślanka M., Implementacja Metody Elementów Skończonych w środowisku MATLAB, Zeszyty Naukowe Wydziału Mechanicznego, Politechnika Koszalińska, ISSN 1640-4572, Tom 35 (2004), 141-146.
  • Maślanka M., Sapiński B., Snamina J., Experimental study of vibration control of a cable with an attached MR damper, Journal of Theoretical and Applied Mechanics 45 (2007), 893-917.
  • Palka P., Maślanka M., Inverse LuGre model for a small-scale MR damper, Proc. 14th Int. Carpathian Control Conf. (2013), 284-287.
  • Weber F., Maślanka M., Precise stiffness and damping emulation with MR dampers and its application to semi-active tuned mass dampers of Wolgograd Bridge, Smart Mater. Struct. 23 (2014) 015019.
  • Maślanka M., Measured performance of a semi-active tuned mass damper with acceleration feedback, Proc. SPIE 10164, Active and Passive Smart Structures and Integrated Systems 2017, 1016423; http://dx.doi.org/10.1117/12.2260567
Informacje dodatkowe:

Brak