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
21.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
28.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

7.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
14.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

21.03
clocks1.cpp
clocks2.cpp
clocks3.cpp
6.
Първи тест
28.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
04.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
11.04
caesar.cpp
database.cpp
9. Въведение в структури от данни I
Chapter 16.
An Introduction to Data Structures I
Свързани списъци. STL свързан списък, стек и опашка. Други STL контейнери. Алгоритми.
Linked Lists, Stacks and Queue, Other Standard Containers, Algorithms
18.04
list1.cpp
fifolifo.cpp
set.cpp
map.cpp
10.
Въведение в структури от данни II
Chapter 16.
An Introduction to Data Structures II
Реализация на свързани списъци.
Implementing Linked Lists
25.04 list2.cpp
11.
Втори тест
09.05

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

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


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