- 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