Обектно-ориентирано програмиране

Учебна програма, график за лекциите, учебни материали [2021/2022]


Лекции
Дата

1

Наследяване и полиморфизъм
Базови и производни класове. Извикване на конструктор на базов клас и на член-функции на базов клас.   Полиморфизъм
Chapter 11.
Inheritance
Base and Derived Classes, Calling the Base-Class Constructor, Calling Base-Class Member Function,  Polymorphism

2.03

2
Потоци I
Четене и писане на текстови файлове. Йерархия на потоковите класове. Абстрактни класове.
Chapter 12.
Streams I
Reading and Writing Text Files, The Inheritance Hierarchy of Stream Classes
Big: 19.2 Abstract Classes
9.03

3
Потоци II
Низови потоци. Аргументи от командния ред. Пряк достъп.
Chapter 12.
Streams II
String Streams,  Command Line Arguments, Random Access
(Задачи за упражнение)
16.03

4

Рекурсия
Триъгълни числа. Пермутации. Ефективност на рекурсията. Непряка (взаимна) рекурсия.
Chapter 14.
Recursion
Triangle Numbers, Permutations, Thinking Recursively, The Efficiency of Recursion, Mutual Recursion

23.03

5
Първи тест
Бланка за теста
Указания за теста
30.03

6
Сортиране и търсене
Сортиране чрез селекция и а нализ на алгоритъма. Сортиране чрез сливане и анализ на алгоритъма. Линейно и двоично търсене.
Chapter 15.
Sorting and Searching
Selection Sort, Profiling and Analyzing the Performance of the Selection Sort Algorithm, Merge Sort, Analyzing the Merge Sort Algorithm, Searching, Binary Search
6.04

7
Въведение в структури от данни
Свързани списъци. Свързан списък, стек и опашка в Стандартната библиотека шаблони (STL). Други STL контейнери. Алгоритми.
Chapter 16.
An Introduction to Data Structures I
Linked Lists, Stacks and Queue, Other Standard Containers, Algorithms
13.04

8
Реализация на свързани списъци
Реализация на свързани списъци.
Chapter 16.
An Introduction to Data Structures II
Implementing Linked Lists
20.04

9 Предефиниране на операции
Предефиниране на операции.
Chapter 17.
Advanced C++ Topics I
Operator Overloading, Automatic Memory Management
(Задачи за упражнениe  - лекции)
27.04

10
Втори тест
Бланка за теста
Указания за теста
4.05

11
Управление на паметта
Автоматично управление на паметта.
Chapter 17.
Advanced C++ Topics I
Automatic Memory Management
(Задачи за упражнение - лекции)
11.05

12
Шаблони и вложени класове
Шаблони. Вложени класове.
Chapter 17.
Advanced C++ Topics II
Templates, Nested Classes
(Задачи за упражнение - лекции)
18.05

13
Обработка на изключения
Обработка на изключения.
Chapter 17.
Advanced C++ Topics III
Exception Handling
(Задачи за упражнение - лекции)
25.05

14
Йерархии на наследственост
Получаване на информация по време на изпълнение. Многократна наследственост.
Big: 19. Class Hierarchies
1.06

15 Трети тест
Бланка за теста
Указания за теста
8.06


Поправка на един от тестовете: 1, 2  или 3
Четвърти тест && Устен изпит
5.07
8:00