CIT201 Обектно-ориентирано програмиране (C++)

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


Тема
Дата
Sources
1.
Увод в С++
Програмни езици - С и С++. Компилиране на проста програма. Грешки.
Вход и изход; константи; низове; форматиране на изхода.
Chapter 1.
 Introduction (част)
Programming Languages Design and Evolution, Compiling a Simple Program, Errors
Chapter 2. Fundamental Data Types (част)
Input and Output, Constants, Strings, Output Formatting
20.02
ccc3e.zip
hello.cpp
coins4.cpp
initials.cpp
form1.cpp
form2.cpp
2. Обекти, параметри на фукции, динамична памет
Конструиране и използване на обекти. Обекти от реалния живот.
Параметри. Странични ефекти. Процедури.
Указатели и запазване на памет. Освобождаване на динамична памет. Указатели и масиви.
Chapter 3. 
Objects (част)
Constructing Objects, Using Objects, Real-Life Objects
Chapter 5. Functions I (част)
Parameters, Side Effects, Procedures, Reference Parameters
Chapter 10. Pointers [pdf]
Pointers and Memory Allocation, Deallocating Dynamic Memory,  Arrays and Pointers
27.02
time1.cpp
time2.cpp
employee.cpp
printtime.cpp
raisesal.cpp

3.

Класове
Откриване на класове. Интерфейс, скриване (капсулиране). Член-функции. Конструктори по подразбиране и с параметри. Достъп до данните. Сравняване на член-функции и обикновени функции. Използване на указатели в класове.
Chapter 6. Classes

Discovering Classes, Interface, Encapsulation, Member Functions, Default Constructors, Constructors with Parameters, Accessing Data Fields, Comparing Member Functions with Nonmember Functions

6.03
bestval.cpp
product1.cpp
product2.cpp
product.h
product.cpp
prodtest.cpp
employee.cpp
department.cpp
4. Тестване на функции, вектори
Тестове, оценка на тестове.
Използване на вектори за съхраняване на данни. Индекси. Вектори като параметри и върнати стойности. Успоредни вектори.
Chapter 8. Testing and Debugging (част)
Unit Tests, Selecting Test Cases, Test Case Evaluations
Chapter 9. Vectors
Using Vectors to Collect Data Items, Vector Subscripts, Vector Parameters and Return Values, Removing and Inserting Elements, Parallel Vectors
13.03
average.cpp
between.cpp
erase2.cpp
insert.cpp
raisesal.cpp
salvect.cpp
bestval1.cpp
bestval2.cpp
5.

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

20.03
clocks1.cpp
clocks2.cpp
clocks3.cpp
6.
Първи тест
27.03

7. Потоци I
Пренасочване на входа и изхода.
Четене и писане на текстови файлове. Йерархия на потоковите класове. 
Chapter 7.
Advanced Control Flow II (част)
Processing Text Input
Chapter 12.
Streams I
Reading and Writing Text Files, The Inheritance Hierarchy of Stream Classes
03.04
words.cpp
lines.cpp
chars.cpp
readfile.cpp
readwritefiles.cpp
maxval1.cpp
maxval2.cpp
readtime.cpp
8.
Потоци II. Рекурсия
Низови потоци. Аргументи от командния ред. Пряк достъп. Триъгълни числа. Пермутации
Chapter 12.
Streams II
String Streams,  Command Line Arguments, Random Access
Chapter 14. Recursion (част)
Triangle Numbers, Permutations
10.04
caesar.cpp
database.cpp
triangle.cpp
permute.cpp
9. Въведение в структури от данни I
Свързани списъци. STL свързан списък, стек и опашка. Други STL контейнери. Алгоритми.
Chapter 16.
An Introduction to Data Structures I
Linked Lists, Stacks and Queue, Other Standard Containers, Algorithms
17.04
list1.cpp
fifolifo.cpp
set.cpp
map.cpp
10.
Въведение в структури от данни II
Реализация на свързани списъци.
Chapter 16.
An Introduction to Data Structures II
Implementing Linked Lists
24.04 list2.cpp
11.
Втори тест
08.05

12. Предефиниране на операции и управление на паметта
Предефиниране на операции. Автоматично управление на паметта.
Chapter 17.
Advanced C++ Topics I
Operator Overloading, Automatic Memory Management 
15.05
overload.cpp
overload1.cpp
department.cpp
list0.cpp
13
Шаблони и вложени класове
Шаблони, Вложени класове.
Chapter 17.
Advanced C++ Topics II
Templates, Nested Classes
22.05
pairs.cpp
list.cpp
list1.cpp

14.
Обработка на изключения
Обработка на изключения.
Chapter 17.
Advanced C++ Topics III
Exception Handling
29.05
exception1.cpp
exception2.cpp
product1.cpp
product2.cpp
strous.cpp
15. Трети тест
05.06


Семестриален изпит
01.07