Nazwa przedmiotu:
Programming of Photonics Devices
Koordynator przedmiotu:
dr inż. Sławomir Paśko
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Mechatronics
Grupa przedmiotów:
Obowiązkowe
Kod przedmiotu:
PPD
Semestr nominalny:
6 / rok ak. 2020/2021
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1) Liczba godzin, które wymagają obecności nauczyciela - 45, w tym a) obecność na wykładach - 15 godzin; b) obecność na ćwiczeniach - 15 godzin; c) spotkania konsultacyjne - 15 godzin; 2) Liczba godzin samodzielnej pracy studenta - 55 godzin, w tym: a) przygotowanie do testu teoretycznego - 10 godzin; b) przygotowanie do testu praktycznego - 10 godzin; c) opracowanie programu w ramach projektu - 35 godzin; Suma godzin: 100 godzin = 4ECTS
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1) Liczba godzin, w których wymagana jest obecność nauczyciela - 45 godzin, w tym a) obecność na wykładach - 15 godzin; b) obecność na ćwiczeniach - 15 godzin; c) spotkania konsultacyjne - 15 godzin; Suma godzin: 55 godzin = 2 ECTS
Język prowadzenia zajęć:
angielski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
a) obecność na ćwiczeniach - 15 godzin; b) przygotowanie do testu praktycznego - 10 godzin; c) opracowanie programu w ramach projektu - 35 godzin; Suma godzin: 70 godzin = 2 ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia15h
  • Laboratorium0h
  • Projekt15h
  • Lekcje komputerowe0h
Wymagania wstępne:
Kurs inżynierski z matematyki. Podstawy programowania strukturalnego.
Limit liczby studentów:
60
Cel przedmiotu:
Znajomość podstaw programowania obiektowego na przykładzie C ++. Podstawowa znajomość języka UML.
Treści kształcenia:
Wykład: Powtórzenie podstaw języka C ++, m.in. klas, inicjalizacja obiektów, konstruktory i destruktory, jawne wywołanie, dostęp do treści, przestrzenie nazw, rzutowanie, metody i operatory. Wprowadzenie do nowych elementów C ++, referencji prawostronnych r-value, konstruktorów przenoszenia, uogólnionych wyrażeń stałych, list inicjalizujących, wnioskowania o typach, pętli for bazujących na zapisie z zakresem, a także innych nowych funkcjonalności C++. Biblioteka OpenCV. Kontenery danych, funkcje używane do widzenia komputerowego. Pokazanie i omówienie przykładowych programów. Zajęcia komputerowe: Analiza danych, głównie obrazów, w środowisku MATLAB. Proste projekty oparte na tym środowisku z interfejsem użytkownika. LabView. Projekt: Zrealizowany indywidualnie przez studenta projekt, który ma na celu stworzenie prostego programu, w którym wykorzystuje się przedstawione na wykładzie idee programistyczne. Tworzone mogą być zarówno proste programy ilustrujące zagadnienia związane z nowymi funkcjami C++, a także te bardziej skomplikowane, w których np. do przetwarzania obrazu można wykorzystać bibliotekę OpenCV.
Metody oceny:
Sprawdzian teoretyczny kończący wykład, prace domowe i sprawdzian praktyczny kończący zajęcia komputerowe, poprawnie opracowany i działający program przedstawiony na zakończenie projektu indywidualnego. Ostateczny wynik jest obliczany jako średnia ważona z testu końcowego (30%), zajęć komputerowych (30%) i projektu (40%). Projekt ocenia dokumentację projektową, kod źródłowy programu, a następnie ocenia działanie samego programu, jego niezawodność i poprawność wyników, które program generuje.
Egzamin:
nie
Literatura:
1. P. Deitel, H. Deitel, C++ How to Program, 9th Edition, Prentice Hall, 2013 2. B. Stroustrup, The C++ Programming Language, 4th Edition, Addison- Wesley, 2013 3. B. Stroustrup, Programming: Principles and Practice Using C++, 2nd Edition, Addison-Wesley Professional, 2014 4. S. Lippman, J. Lajoie, B. Moo, C++ Primer (5th Edition), Addison-Wesley Professional; 5th edition, 2012
Witryna www przedmiotu:
brak
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka IPSM1_W01
Znajomość zagadnień z obszaru programowania obiektowego C++
Weryfikacja: Zaliczenie kolokwium w trakcie wykładu
Powiązane charakterystyki kierunkowe: K_W04, K_W05
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka IPSM1_W02
Zna podstawowe techniki projektowania (UML) i dokumentacji (DOXYGEN) programów komputerowych tworzonych w językach wyższego poziomu C++.
Weryfikacja: Zaliczenie kolokwium w trakcie wykładu
Powiązane charakterystyki kierunkowe: K_W04, K_W05
Powiązane charakterystyki obszarowe: I.P6S_WG.o, P6U_W

Profil ogólnoakademicki - umiejętności

Charakterystyka IPSM1_U01
Potrafi zaprojektować i zaimplementować algorytmy w języku obiektowym C++
Weryfikacja: Zaliczenie projektu programistycznego C++
Powiązane charakterystyki kierunkowe: K_U01, K_U04, K_U05, K_U18
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, I.P6S_UK, I.P6S_UO, I.P6S_UU, III.P6S_UW.o
Charakterystyka IPSM1_U02
Potrafi opracować projekt (UML) aplikacji i dokumentację (DOXYGEN) kodów źródłowych
Weryfikacja: Zaliczenie projektu programistycznego C++
Powiązane charakterystyki kierunkowe: K_U02, K_U03, K_U04
Powiązane charakterystyki obszarowe: P6U_U, I.P7S_UW.o, I.P6S_UK, I.P6S_UW.o

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka IPSM1_S01
Potrafi zaprojektować, zaimplementować, udokumentować i zaprezentować swój projekt programistyczny
Weryfikacja: Zaliczenie projektu programistycznego C++
Powiązane charakterystyki kierunkowe: K_K04, K_K01
Powiązane charakterystyki obszarowe: I.P6S_KR, P6U_K, I.P6S_KK, I.P6S_KO