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

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


Лекции
Дата

1

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

18.02

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


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


(грипна ваканция)
10.03

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

17.03
(дистанционно)

4

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


24.03
(дистанционно)

5
Първи тест
Бланка за попълване на индивидуален тест
31.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

7.04
(дистанционно)

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

14.04
(дистанционно)

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

21.04
(дистанционно)

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

28.04
(дистанционно)

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

5.05
(дистанционно)

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

12.05
(дистанционно)

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

19.05
(дистанционно)

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

26.05
(дистанционно)

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

2.06
(дистанционно)

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

16.06
(дистанционно)


Четвърти тест && Устен изпит