Nazwa przedmiotu:
Programowanie obiektowe w Języku C++
Koordynator przedmiotu:
dr inż. Stanisław Gepner
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Robotyka i Automatyka
Grupa przedmiotów:
Specjalnościowe
Kod przedmiotu:
Semestr nominalny:
7 / rok ak. 2022/2023
Liczba punktów ECTS:
3
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Godziny kontaktowe z nauczycielem (zajęcia) 30 Godziny kontaktowe z nauczycielem (konsultacje) 10 Prace domowe 10 SUMA 50
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1.6 ECTS – 40 h, w tym: Zajęcia 30 h Konsultacje 10 h
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
1.5 ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia0h
  • Laboratorium15h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
1. Elementarna wiedza z zakresu obsługi komputera i programowania w języku C.
Limit liczby studentów:
Cel przedmiotu:
C1. Nauczenie programowania w języku C++. C2. Zapoznanie z metodologią programowania obiektowego.
Treści kształcenia:
Wykłady Podstawy koncepcji programowania obiektowego i proceduralnego. Obiekty w C++ - atrybuty i metody, konstruktory i destruktory. Przeciążanie operatorów. Dziedziczenie, klasy abstrakcyjne, polimorfizm. Wzorce (template’y) dla funkcji i klas. Konkretyzacja wzorców. Obiektowe strumienie wejścia/wyjścia. Biblioteka standardowa STL. Podstawy programowania wielowątkowego. Laboratoria Pojęcie klasy, pola, metody (zwykłe i statyczne) . Zarządzanie zasobami: referencje, dynamiczna alokacja pamięci, konstruktory. kopiujące, semantyka przenoszenia . Wirtualny polimorfizm. Szablony funkcji i klas. Kontenery STL (głównie wektor i lista), iteratory. Algorytmy STL, wyrażenia lambda. Metody przeniesienia kontroli poprzez mechanizm wyjątków.
Metody oceny:
(F – formująca, P – podsumowująca) Fd1-Fd2 – oceny z prac domowych, Fl1-Fl6 – oceny z ćwiczeń laboratoryjnych, Fl – ocena z testu na laboratorium, P – ocena podsumowująca Ocenie podlegają prace domowe, praca na zajęciach laboratoryjnych oraz kolokwium przeprowadzone na laboratoriach. Szczegóły systemu oceniania są opublikowane pod adresem: https://www.meil.pw.edu.pl/za/ZA/Courses/Programowanie-obiektowe-w-jezyku-C,
Egzamin:
nie
Literatura:
1. B. Stroustrup: Język C++, WNT, Warszawa, 2002. 2. Materiały na stronie http://www.cplusplus.com/.
Witryna www przedmiotu:
http://c-cfd.meil.pw.edu.pl/ccfd/index.php?item=6
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka EW1
Student rozumie koncepcję programowania obiektowego
Weryfikacja: prace domowe
Powiązane charakterystyki kierunkowe: AiR1_W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka EW2
Student zna koncepcję obiektu w C++ oraz związane z nimi pojęcia i procedury
Weryfikacja: prace domowe
Powiązane charakterystyki kierunkowe: AiR1_W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka EW3
Student zna zasady przeciążania operatorów
Weryfikacja: prace domowe
Powiązane charakterystyki kierunkowe: AiR1_W07
Powiązane charakterystyki obszarowe: I.P6S_WG.o, P6U_W
Charakterystyka EW4
EW4 – Student rozumie koncepcję dziedziczenia i polimorfizmu
Weryfikacja: prace domowe
Powiązane charakterystyki kierunkowe: AiR1_W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka EW5
Student zna koncepcję wzorców i zasady ich konkretyzacji
Weryfikacja: prace domowe
Powiązane charakterystyki kierunkowe: AiR1_W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka EW6
Student zna zasady stosowania obiektowych strumieni wejścia/wyjścia
Weryfikacja: prace domowe
Powiązane charakterystyki kierunkowe: AiR1_W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka EW7
Student ma podstawową wiedzę nt. programowania wielowątkowego
Weryfikacja: prace domowe
Powiązane charakterystyki kierunkowe: AiR1_W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o

Profil ogólnoakademicki - umiejętności

Charakterystyka EU1
Student potrafi posłużyć się klasami, polami i związanymi z nimi metodami
Weryfikacja: zaliczenie ćwiczenia laboratoryjnego, test
Powiązane charakterystyki kierunkowe: AiR1_U09
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka EU2
Student potrafi stosować referencje, dynamiczną alokację pamięci i konstruktory
Weryfikacja: zaliczenie ćwiczenia laboratoryjnego, test
Powiązane charakterystyki kierunkowe: AiR1_U09
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka EU3
Student potrafi wykorzystać w programie wirtualny polimorfizm
Weryfikacja: zaliczenie ćwiczenia laboratoryjnego, test
Powiązane charakterystyki kierunkowe: AiR1_U09
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka EU4
Student umie wykorzystać szablony funkcji i klas
Weryfikacja: zaliczenie ćwiczenia laboratoryjnego, test
Powiązane charakterystyki kierunkowe: AiR1_U09
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka EU5
Student umie stosować w programie kontenery i algorytmy STL
Weryfikacja: zaliczenie ćwiczenia laboratoryjnego, test
Powiązane charakterystyki kierunkowe: AiR1_U09
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka EU6
Student potrafi wykorzystać przeniesienie kontroli przez mechanizm wątków
Weryfikacja: zaliczenie ćwiczenia laboratoryjnego, test
Powiązane charakterystyki kierunkowe: AiR1_U09
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o