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 i Robotyka
Grupa przedmiotów:
Obowiązkowe
Kod przedmiotu:
PJC
Semestr nominalny:
6 / rok ak. 2017/2018
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

Efekt PJC_W01
Zna składnię języka C++.
Weryfikacja: Test z części wykładowej. Pozytywna prezentacja aplikacji.
Powiązane efekty kierunkowe: K_W05
Powiązane efekty obszarowe: T1A_W02, T1A_W04
Efekt PJC_W02
Zna podstawowe pojęcia i konstrucje programowania obiektowego.
Weryfikacja: Test zaliczeniowy części wykładowej. Pozytywna weryfikacja projektu aplikacji.
Powiązane efekty kierunkowe: K_W05
Powiązane efekty obszarowe: T1A_W02, T1A_W04

Profil ogólnoakademicki - umiejętności

Efekt PJC_U02
Potrafi projektować oprogramowanie w stylu obiektowym.
Weryfikacja: Zaliczenie zrealizowanego projektu.
Powiązane efekty kierunkowe: K_U05, K_U09
Powiązane efekty obszarowe: T1A_U05, T1A_U09
Efekt PJC_U01
Potrafi zastosować obiektową analizę problemu.
Weryfikacja: Ocena wykonanego projektu aplikacji
Powiązane efekty kierunkowe: K_U09
Powiązane efekty obszarowe: T1A_U09
Efekt PJC_U03
Potrafi programować w języku C++ przy wykorzystaniu jednego z dostępnych środowisk programistycznych.
Weryfikacja: Ocena wykonanej aplikacji.
Powiązane efekty kierunkowe: K_U09
Powiązane efekty obszarowe: T1A_U09
Efekt PJC_U04
Potrafi przygotować w zakresie podstawowym dokumentację projektową oprogramowania.
Weryfikacja: Ocena dokumentacji projektowej.
Powiązane efekty kierunkowe: K_U09
Powiązane efekty obszarowe: T1A_U09