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

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


CITB201
Дата


CITB200
Дата
1

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

26.02

1

Класове, масиви и вектори

27.02
28.02
1.03

почивен ден
5.03

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

3
Полиморфизъм, абстрактни класове
(Домашно 1: 15.03-22.03)
13.03
14.03
15.03
3
Потоци II
Низови потоци. Аргументи от командния ред. Пряк достъп.
Chapter 12.
Streams II
String Streams,  Command Line Arguments, Random Access
(Задачи за упражнение)
19.03

4
Работа с файлове 20.03
21.03
22.03
4

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

26.03

5
Пряк достъп. Аргументи от командния ред
27.03
28.03
29.03
5
Първи тест
2.04

6
Разделна компилация, make файлове (Домашно 2: 5.04-19.04)
3.04
4.04
5.04

почивен ден
9.04

7
Първо контролно 10.04
11.04
12.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
16.04

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

9
Стандартна библиотека с шаблони (STL) 24.04
25.04
26.04
8
Реализация на свързани списъци
Реализация на свързани списъци.
Chapter 16.
An Introduction to Data Structures II
Implementing Linked Lists
30.04

--
10
10
(почивен ден)
Реализация на едносвързан списък
Реализация на едносвързан списък
1.05
2.05
3.05

почивен ден
7.05

10

11

11
Реализация на едносвързан списък
(Домашно 3)
Обсъждане на домашни и контролни
(Домашно 3)
Обсъждане на домашни и контролни
(Домашно 3: 10.05-17.05)

8.05

9.05

10.05
9 Предефиниране на операции
Предефиниране на операции.
Chapter 17.
Advanced C++ Topics I
Operator Overloading, Automatic Memory Management 
14.05

11
12
12
Предефиниране на операции
Предефиниране на операции
Предефиниране на операции
15.05
16.05
17.05
10
Втори тест
21.05

12
13
--
Обсъждане на домашни и контролни
Преговор
(почивен ден)
22.05
23.05
24.05
11
Управление на паметта
Автоматично управление на паметта.
Chapter 17.
Advanced C++ Topics I
Automatic Memory Management 
28.05

13
14
13
Управление на паметта
Управление на паметта
Управление на паметта
29.05
30.05
31.05
12
Шаблони и вложени класове
Шаблони. Вложени класове.
Chapter 17.
Advanced C++ Topics II
Templates, Nested Classes
4.06

14

15
14
Шаблони
(Домашно 4)
Второ контролно
Шаблони
(Домашно 4: 4.06-14.06)
5.06

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

15
--
--
Второ контролно
--
--


12.06
--
--

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

--
--
15
--
--
Второ контролно

--
--
14.06
чет.
15 Трети тест
18.06
пон.

--
--


Четвърти тест && Устен изпит
27.06
сряда


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