SylabUZ
Course name | Object-Oriented Programming |
Course ID | 11.3-WE-AiRP-PO |
Faculty | Faculty of Computer Science, Electrical Engineering and Automatics |
Field of study | Automatic Control and Robotics |
Education profile | academic |
Level of studies | First-cycle studies leading to Engineer's degree |
Beginning semester | winter term 2021/2022 |
Semester | 2 |
ECTS credits to win | 5 |
Course type | obligatory |
Teaching language | polish |
Author of syllabus |
|
The class form | Hours per semester (full-time) | Hours per week (full-time) | Hours per semester (part-time) | Hours per week (part-time) | Form of assignment |
Lecture | 30 | 2 | 18 | 1,2 | Credit with grade |
Laboratory | 30 | 2 | 18 | 1,2 | Credit with grade |
Programowanie z elementami algorytmiki
Wstęp do programowania obiektowego. Pojęcie abstrakcyjnego typu danych. Definicja klas. Enkapsulacja - deklaracja i definicja metod składowych klas. Przekazywanie parametrów do funkcji składowych: przez wartość i przez referencję.
Składowe prywatne i publiczne klasy. Przeciążenie funkcji. Konstruktory: konstruktor domniemany, konstruktor kopiujący.
Lista inicjalizacyjna konstruktora. Konstruktory syntezowane. Destruktory. Przeciążenie operatorów. Funkcje zaprzyjaźnione. Funkcje typu inline. Konwersje zdefiniowane przez użytkownika: funkcja konwertująca, konstruktor konwertujący.
Dziedziczenie. Zasady dziedziczenia. Składowe typu protected. Dziedziczenie wielokrotne i wielobazowe. Problem nazw zmiennych w dziedziczeniu wielobazowym.
Polimorfizm. Funkcje wirtualne. Funkcje czysto wirtualne. Wczesne i późne wiązanie funkcji. Koszty czasowe i pamięciowe związane ze stosowaniem polimorfizmu.
Klasy abstrakcyjne. Definiowanie i przykłady zastosowań klas abstrakcyjnych w programach zorientowanych obiektowo. Destruktory wirtualne. Szablony funkcji. Definicja funkcji szablonowych. Funkcje specjalizowane. Etapy dopasowania do funkcji. Szablony klas. Definicja szablonów klas. Szablony klas, a makrodefinicje. Składniki statyczne w szablonie klas. Dziedziczenie szablonów klas. Przykłady zastosowań szablonów klas. Klasy specjalizowane. Obsługa wyjątków.
Stosowanie wzorców z biblioteki STL – wzorce pojemnikowe, iteratory, pojemniki kojarzące (mapy, zbiory).
wykład: wykład konwencjonalny
laboratorium: ćwiczenia laboratoryjne
Outcome description | Outcome symbols | Methods of verification | The class form |
Wykład – warunkiem zaliczenia jest uzyskanie pozytywnej oceny ze sprawdzianu w formie pisemnej
Laboratorium – warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich sprawdzianów
Składowe oceny końcowej = wykład: 50% + laboratorium: 50%
1. Eckel B.: Thinking in C++, Hellion, Warszawa, 2002.
2. Kerighan B., Ritchie D.: Programowanie w języku C, WNT, Warszawa, 2000.
3. Kisilewicz J.: Język. w środowisku Borland C++. Wydanie IV, Oficyna Wydawnicza
Politechniki Wrocławskiej, Wrocław, 2003.
4. Stroustrup B.: C++ Język programowania, WNT, Warszawa, 2001.
1. Lippman S.B.: Model w C++, WNT, Warszawa, 1996.
2. Shalloway A., Trott J.R.: Projektowanie zorientowane obiektowo. Wzorce obiektowe II,
Helion, Warszawa, 2005.
Modified by dr hab. inż. Wojciech Paszke, prof. UZ (last modification: 19-04-2021 14:30)