- Nazwa przedmiotu:
- Programowanie obiektowe
- Koordynator przedmiotu:
- dr inż Ewa Pawelec
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Matematyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- M1PRO
- Semestr nominalny:
- 2 / rok ak. 2018/2019
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. obecność na wykładach – 30 h
2. obecność na laboratoriach – 30 h
3. przygotowanie do zajęć lab. – 30 h
4. zapoznanie się z literaturą – 20 h
Razem: 30+30+30+20 = 110 h, czyli  – 4 p. ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1. obecność na wykładach – 30 h
2. obecność na laboratoriach – 30 h
Razem: 30+30 = 60 h, czyli  – 2 p. ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1. obecność na laboratoriach – 30 h
2. przygotowanie do zajęć lab. –30 h
Razem: 30+30 = 60 h, czyli  – 2 p. ECTS
- Formy zajęć i ich wymiar w semestrze:
- 
            
                - Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
 
- Wymagania wstępne:
- Algorytmy i podstawy programowania
- Limit liczby studentów:
- Bez limitu
- Cel przedmiotu:
- Celem przedmiotu jest wyrobienie umiejętności posługiwania się podstawowymi pojęciami i konstrukcjami obiektowego języka programowania oraz ugruntowanie umiejętności tworzenia prostych aplikacji  z wykorzystaniem profesjonalnego środowiska uruchomieniowego.
- Treści kształcenia:
- 1.  Klasa jako rozszerzenie pojęcia struktury. 
     Definiowanie prostych    klas. 
     Podstawowe założenia paradygmatu obiektowego.
2.  Pola i metody niestatyczne. Wskaźnik this.
     Konstruktory, destruktor i operator przypisania. 
3.  Przeciążanie funkcji i operatorów. 
     Operatory new, delete.  Funkcje zaprzyjaźnione.
4.  Klasa z dynamicznie alokowaną tablicą. 
     Pola i metody statyczne. Dostępność składowych klasy.
5.  Klasa z polem obiektowym. Dziedziczenie. 
     Polimorfizm i metody wirtualne.
6.  Metody czysto wirtualne i abstrakcyjne typy danych (ATD).
7.  Obsługa błędów. Obsługa wyjątków. 
     Wyjątki jako mechanizm sterujący.
8.  Konwersje, operatory konwersji i konwertery 
     (konsekwencje obliczeniowe).
9.  Definiowanie i wykorzystanie szablonów funkcji i klas.
10.  Elementy biblioteki standardowej, strumienie i pliki.
11.  STL i narzędzia numeryczne.
- Metody oceny:
- Zaliczenie przedmiotu wymaga uzyskania zaliczenia zajęć laboratoryjnych. Obecność na zajęciach jest obowiązkowa.
Zajęcia laboratoryjne obejmują wykonanie 13 zadań o różnym stopniu trudności, punktowanych w skali od 1 do 6 (maksymalnie). Ocena z laboratorium (ocena pracy semestralnej) jest ustalana przez prowadzących zajęcia na podstawie sumy ważonej ocen z wszystkich zadań. Nie przewiduje się możliwości poprawiania ocen z poszczególnych zadań.
 
- Egzamin:
- nie
- Literatura:
- 1.	B. Stroustrup – Język C++, WNT, 2002
2.	S.B. Lippman – Podstawy języka C++, WNT, 1997
3.	J.Grębosz – Symfonia C++ standard, Edition 2005
 
- Witryna www przedmiotu:
- brak
- Uwagi:
Efekty uczenia się
    Profil ogólnoakademicki - wiedza
                    - Charakterystyka PO_W01
- zna podstawowe pojęcia związane z paradygmatem programowania obiektowego
 Weryfikacja: Test
 Powiązane charakterystyki kierunkowe:
 Powiązane charakterystyki obszarowe:
- Charakterystyka PO_W02
- zna składnię i zasadnicze konstrukcje wybranego języka programowania obiektowego (C++)
 Weryfikacja: Test
 Powiązane charakterystyki kierunkowe:
 Powiązane charakterystyki obszarowe:
Profil ogólnoakademicki - umiejętności
                    - Charakterystyka PO_U01
- potrafi samodzielnie definiować typy danych opisujące obiekty przydatne w realizacji prostych aplikacji
 Weryfikacja: zadania lab.
 Powiązane charakterystyki kierunkowe:
 Powiązane charakterystyki obszarowe:
- Charakterystyka PO_U02
- ma umiejętność posługiwania się plikami (strumieniami) i wykorzystywania elementów biblioteki standardowej
 Weryfikacja: zadania lab.
 Powiązane charakterystyki kierunkowe:
 Powiązane charakterystyki obszarowe:
- Charakterystyka PO_U03
- potrafi pracować w profesjonalnym środowisku uruchomieniowym (MS Visual Studio)
 Weryfikacja: zadania lab.
 Powiązane charakterystyki kierunkowe:
 Powiązane charakterystyki obszarowe:
Profil ogólnoakademicki - kompetencje społeczne
                    - Charakterystyka PO_KS01
- Potrafi współdziałać i pracować w grupie przyjmując w niej różne role
 Weryfikacja: zadania lab.
 Powiązane charakterystyki kierunkowe: 
                        M1_K02
 Powiązane charakterystyki obszarowe: