- Nazwa przedmiotu:
- Programowanie obiektowe C++
- Koordynator przedmiotu:
- dr inż. Michał Syfert, dr inż. Paweł Wnuk
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Automatyka Robotyka i Informatyka Przemysłowa
- Grupa przedmiotów:
- Obowiązkowe
- Kod przedmiotu:
- PJC
- Semestr nominalny:
- 6 / rok ak. 2020/2021
- Liczba punktów ECTS:
- 3
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1) Liczba godzin bezpośrednich – 35 godz., w tym:
• wykład – 15 godz.
• projektowanie w laboratorium - 15 godz.
• konsultacje – 5 godz.
2) Praca własna studenta – 55 godz., w tym:
• zapoznanie się z literaturą - 15 godz.
• zapoznanie się z narzędziami – 5 godz.
• realizacja projektu - 30 godz.
• prezentacja i konsultacja projektu - 4 godz.
• przygotowanie raportu - 1 godz.
Razem: 90 godz. (3 ECTS)
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 0,75 punktu ECTS – 19 godz., w tym:
• wykład - 15 godz.
• prezentacja i konsultacja projektu - 4 godz.
Razem: 19 godz. (0.75 ECTS)
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1 punkty ECTS – 49 godz., w tym:
• zapoznanie się z narzędziami - 5 godz.
• realizacja projektu – 40 godz.
• prezentacja i konsultacja projektu – 4 godz.
Razem: 49 godz. (2 ECTS)
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład15h
- Ćwiczenia0h
- Laboratorium0h
- Projekt15h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Podstawowa znajomość technik komputerowych. Znajomość programowania strukturalnego oraz podstaw struktur i algorytmów przetwarzania danych. Mile widziana znajomość podstaw programowania wizualnego.
- Limit liczby studentów:
- brak
- Cel przedmiotu:
- Uzyskanie umiejętności w zakresie obiektowej analizy problemu oraz analizy i projektowania klas i ich hierarchii. Umiejętność projektowania, kodowania i testowania programów obiektowych w języku C++.
- Treści kształcenia:
- Składnia podstawowa języka C++: struktura programu, format zapisu kodu, zmienne i stałe - zakres ważności i typy danych, operatory, instrukcje sterujące, praca z plikami źródłowymi, tablice, struktury, wskaźniki i referencje, funkcje. Wstęp do programowania obiektowego Paradygmaty programowania obiektowego. Obiektowa analiza problemu. Zasady dostępu do składowych klas i obiektów. Ochrona atrybutów i metod, ukrywanie implementacji. Funkcje zaprzyjaźnione.
Hierarchie klas i dziedziczenie. Konstruktory i destruktory. Kopiowanie i klonowanie obiektów. Wielodziedziczenie. Różnicowanie zachowań obiektów w zależności od ich typu. Metody wirtualne. Klasy abstrakcyjne. Koncepcja interfejsów. Funkcje czysto wirtualne. Pamięć, zarządzanie obiektami i czasem ich życia. Obsługa błędów: wyjątki i ich przechwytywanie. Przeciążanie operatorów.
- Metody oceny:
- Ocena ostateczna wyznaczana jest na podstawie oceny składowej, przy założeniu konieczności uzyskania wszystkich ocen składowych pozytywnych.
Wykład: sprawdzian testowy z zakresu części wykładowej. Współczynnik wagowy: 0.4
Projekt: ocena wykonanego projektu. Współczynnik wagowy: 0.6
- Egzamin:
- nie
- Literatura:
- Jerzy Grębosz: „Symfonia C++”, Oficyna Kalimach Kayshav
Dattatri: „Język C++. Efektywne programowanie obiektowe”, Helion 2005
Ian Graham, Alan O′Callaghan, Alan Wills: „Metody obiektowe w teorii i w praktyce”, WNT 2004
Nicolai M. Josuttis: „C++. Programowanie zorientowane obiektowo. Vademecum profesjonalisty”, Helion 2003
Bertrand Meyer: :”Programowanie zorientowane obiektowo” , Helion 2005
Bjarne Stroustrup. „Język C+”, WNT 2004
Stanley B. Lippman, Josee Lajoie: „Podstawy języka C++”, WNT 2003
Adrzej Zalewski: "Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++"
Jesse Liberty : "C++ dla każdego"
Jesse Liberty : "C++. Księga eksperta"
- Witryna www przedmiotu:
- brak
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka PJC_W01
- Zna składnię języka C++.
Weryfikacja: Test z części wykładowej. Pozytywna prezentacja aplikacji.
Powiązane charakterystyki kierunkowe:
K_W05
Powiązane charakterystyki obszarowe:
P6U_W, I.P6S_WG.o
- Charakterystyka PJC_W02
- Zna podstawowe pojęcia i konstrucje programowania obiektowego.
Weryfikacja: Test zaliczeniowy części wykładowej. Pozytywna weryfikacja projektu aplikacji.
Powiązane charakterystyki kierunkowe:
K_W05
Powiązane charakterystyki obszarowe:
P6U_W, I.P6S_WG.o
Profil ogólnoakademicki - umiejętności
- Charakterystyka PJC_U01
- Potrafi zastosować obiektową analizę problemu.
Weryfikacja: Ocena wykonanego projektu aplikacji
Powiązane charakterystyki kierunkowe:
K_U09
Powiązane charakterystyki obszarowe:
I.P6S_UW.o, III.P6S_UW.o
- Charakterystyka PJC_U02
- Potrafi projektować oprogramowanie w stylu obiektowym.
Weryfikacja: Zaliczenie zrealizowanego projektu.
Powiązane charakterystyki kierunkowe:
K_U05, K_U09
Powiązane charakterystyki obszarowe:
I.P6S_UO, I.P6S_UU, I.P6S_UW.o, III.P6S_UW.o
- Charakterystyka PJC_U03
- Potrafi programować w języku C++ przy wykorzystaniu jednego z dostępnych środowisk programistycznych.
Weryfikacja: Ocena wykonanej aplikacji.
Powiązane charakterystyki kierunkowe:
K_U09
Powiązane charakterystyki obszarowe:
I.P6S_UW.o, III.P6S_UW.o
- Charakterystyka PJC_U04
- Potrafi przygotować w zakresie podstawowym dokumentację projektową oprogramowania.
Weryfikacja: Ocena dokumentacji projektowej.
Powiązane charakterystyki kierunkowe:
K_U09
Powiązane charakterystyki obszarowe:
I.P6S_UW.o, III.P6S_UW.o