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

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


Лекции
Дата

1

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

4.03

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

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

4

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

25.03

5
Първи тест
Бланка за попълване на индивидуален тест 1
1.04

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
8.04

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

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

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


(почивен ден)
6.05

10
Втори тест
Бланка за попълване на индивидуален тест 2
13.05

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

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

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

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

15 Трети тест
Бланка за попълване на индивидуален тест 3
17.06


Поправка на един от тестовете: 1, 2  или 3
Четвърти тест && Устен изпит
Бланка за попълване на индивидуален тест 4
24.06