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

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



Тема
(CITB200)
CITB201
(CITB200)
Тема

Тема
1
Указатели
Дефиниране и стойност на указател. Динамична памет. Използване на указатели в С++. Масиви и указатели. Указатели и С-низове.
Chapter 10.
Pointers
Pointers and Memory Allocation, Deallocating Dynamic Memory, Common Uses for Pointers, Arrays and Pointers, Pointers to Character Strings
в (28.02)
с 1.03
ч (2.03)
Писане на класове. Масиви и вектори (преговор).
2

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

(7.03)
8.03
(9.03)

Указатели, указатели в класове
Домашно 1
3
Потоци I
Четене и писане на текстови файлове. Йерархия на потоковите класове. Абстрактни класове.
Chapter 12.
Streams I
Reading and Writing Text Files, The Inheritance Hierarchy of Stream Classes
Big: 19.2 Abstract Classes
(14.03)
15.03
(16.03)
Наследяване
4
Потоци II
Низови потоци. Аргументи от командния ред. Пряк достъп.
Chapter 12.
Streams II
String Streams,  Command Line Arguments, Random Access
(21.03)
22.03
(23.03)
Полиморфизъм, абстрактни класове

5

Първи тест
(28.03)
29.03
(30.03)
Потоци
Домашно 2
6

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

(4.04)
5.04
(6.04)
Разделна компилация, make файлове
7
Сортиране и търсене
Сортиране чрез селекция и а нализ на алгоритъма. Сортиране чрез сливане и анализ на алгоритъма. Линейно и двоично търсене.
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
(11.04)
12.04
(13.04)

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


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

Втори тест

(2.05)
3.05
(4.05)
Реализация на свързани списъци - едносвързан списък
Домашно 3
11. Предефиниране на операции и управление на паметта
Предефиниране на операции. Автоматично управление на паметта.
Chapter 17.
Advanced C++ Topics I
Operator Overloading, Automatic Memory Management 
(9.05)
10.05
(11.05)
Работа с библиотеки - boost
12
Шаблони и вложени класове
Шаблони. Вложени класове.
Chapter 17.
Advanced C++ Topics II
Templates, Nested Classes
(16.05)
17.05
(18.05)
Предефиниране на операции и управление на паметта

--
(23.05)
(25.05)
Шаблони и вложени класове
Домашно 4
13.
Обработка на изключения
Обработка на изключения.
Chapter 17.
Advanced C++ Topics III
Exception Handling
(30.05)
31.05
(1.06)
Второ контролно
14.
Йерархии на наследственост
Получаване на информация по време на изпълнение. Многократна наследственост.
Big: 19. Class Hierarchies
(6.06)
7.06
(8.06)
Шаблони за дизайн
15. Трети тест
14.06
--

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