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

Учебна програма, график за лекциите и упражненията, учебни материали


Лекции
Дата


Упражнения
Дата
1

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

19.02

1

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

2
Указатели и класове. Наследяване и полиморфизъм
Групи 1 и 2
Първо домашно (28.02-7.03)
28.02
3
Потоци II
Низови потоци. Аргументи от командния ред. Пряк достъп.
Chapter 12.
Streams II
String Streams,  Command Line Arguments, Random Access
(Задачи за упражнение)
5.03

3
Работа с файлове
Групи 1 и 2
7.03
4

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

12.03
4
Пряк достъп. Аргументи от командния ред
Групи 1 и 2
14.03
5
Първи тест
19.03
5
Разделна компилация, make файлове
Групи 1 и 2

Второ домашно (21.03-28.03)
21.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
26.03
6
Рекурсия и приложения
Групи 1 и 2
28.03
7
Въведение в структури от данни
Свързани списъци. Свързан списък, стек и опашка в Стандартната библиотека шаблони (STL). Други STL контейнери. Алгоритми.
Chapter 16.
An Introduction to Data Structures I
Linked Lists, Stacks and Queue, Other Standard Containers, Algorithms
2.04

7
Стандартна библиотека с шаблони (STL)
Групи 1 и 2
4.04
8
Реализация на свързани списъци
Реализация на свързани списъци.
Chapter 16.
An Introduction to Data Structures II
Implementing Linked Lists
9.04
8

Първо контролно
Групи 1 и 2
11.04
9 Предефиниране на операции
Предефиниране на операции.
Chapter 17.
Advanced C++ Topics I
Operator Overloading, Automatic Memory Management 
16.04
9
Реализация на едносвързан списък
Групи 1 и 2
 
18.04
10
Втори тест
23.04
10
Предефиниране на операции
Групи 1 и 2 (отучване на 20.04, 702-2)
Трето домашно
(20.04-2.05)
25.04
(20.04)
11
Управление на паметта
Автоматично управление на паметта.
Chapter 17.
Advanced C++ Topics I
Automatic Memory Management
30.04
11
Преговор
Групи 1 и 2 (на 25.04, на 2.05 няма да има занятие)
2.05
(25.04)
12
Шаблони и вложени класове
Шаблони. Вложени класове.
Chapter 17.
Advanced C++ Topics II
Templates, Nested Classes
7.05

12

Управление на паметта
Групи 1 и 2

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

Шаблони и вложени класове
Групи 1 и 2
Четвърто домашно
(15.05-30.05)
16.05
14
Йерархии на наследственост
Получаване на информация по време на изпълнение. Многократна наследственост.
Big: 19. Class Hierarchies
21.05
14

Обработка на изключения
Групи 1 и 2

23.05
15 Трети тест
28.05
15
Второ контролно 30.05

Четвърти тест && Устен изпит
13.06, четвъртък, 8:00, 207-1
13.06


Изпит (трето контролно)
Примерни задачи за изпит
14.06