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. 2013/2014
Liczba punktów ECTS:
3
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Wykład: 15h Zapoznanie się z literaturą: 15h Zapoznanie się z narzędziami: 5h Realizacja projektu: 40h Prezentacja i konsultacja projektu: 4h Przygotowanie raportu: 1h Razem: 80h = 3 ECTS
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
Wykład: 15h Prezentacja i konsultacja projektu: 4h Razem: 19h = 0.75 ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
Zapoznanie się z narzędziami: 5h Realizacja projektu: 40h Prezentacja i konsultacja projektu: 4h Razem: 49h = 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