Object-Oriented Programming (C++)

Timetable

Week
No.
NETB151
Date
NETB151
Sources and
Working Examples

Date
NETB171
NETB171
1.
Pointers, Part I
Defining and using Pointers,  arrays and Pointers.
23.02
accounts.cpp

23.02 Defining and using pointers. Arrays and pointers. C and C++ strings. Dynamic memory allocation
2. Pointers, Part II
C and C++ Strings. Dynamic Memory Allocation. Arrays and vectors of Pointers. A Galton Board Simulation
01.03
galton.cpp

ch07_we1.pdf

01.03 Modifying pointers passed to functions. Arrays and vectors of
pointers. Structures and pointers
3. Streams, Part I
Reading and Writing Text files. Reading Text Input. Writing Text output.
08.03
babynames.txt
babynames.cpp

08.03 Reading and writing text files. Standard I/O redirection. File
streams. Text input and output
4. Streams, Part II
String Streams. Command Line Arguments. Random Access and Binary Files.
15.03
caesar.cpp

ch08_we1.pdf

15.03 String streams. Command line arguments. Random access and binary files. Editing image files
Homework 1 (Pointers, Streams)
5. Classes, Part I
Object-oriented Programming. Specifying the Public Interface of a Class. Data Members. Member functions.
22.03
account.cpp
registertest1.cpp

22.03 Exam of Practice_1
6.
Classes, Part II
Constructors. Problem Solving: Tracing objects. Problem Solving: Discovering Classes. Separate Compilation. Pointers to objects.
(29.03, четвъртък, 8:00 се отучва предварително на 25.03, неделя, 9:40, 205-1)
25.03,
Sunday
(29.03)

cashregister.h
cashregister.cpp
registertest2.cpp

ch09_we1.pdf

29.03 Object-oriented programming. Public interface of a class. Data
members and member functions
7. Middle Test
5.04
(четвъртък)
8:00, 413-I


5.04 Constructors. Separate compilation. Dynamic memory
8.
Inheritance, Part I
Inheritance Hierarchies. Implementing Derived Classes.
9.04
(понеделник)
8:00, 205-I
test.cpp

12.04 Inheritance. Base class and derived class
9. Inheritance, Part II
Overriding Member functions. Virtual functions and Polymorphism.
12.04
(четвъртък)
8:00, 413-I
quiz2.zip
quiz3.zip

ch10_we1.pdf


19.04 Virtual functions and polymorphism
Homework 2 (Classes, Inheritance)
10.
Recursion
(ch11_recursion.pdf)
Triangle numbers. Thinking recursively. Recursive Helper functions. The Efficiency of recursion. Permutations. Mutual recursion
19.04
(четвъртък)
8:00, 413-I
triangle.cpp
palindrome.cpp
fibtest.cpp
fibtrace.cpp
fibloop.cpp
permute.cpp

26.04 Exam of Practice_2
11.
Lists, Stacks, and Queues
(ch13_listsstacksqueues.pdf)
Using Linked Lists. Implementing Linked Lists. The Efficiency of List, Array, and Vector Operations
23.04
(понеделник)
8:00, 205-I
list1.cpp
list2.cpp
fifolifo.cpp


03.05
Recursion
12. Advanced C++ Topics, Part I
Operator Overloading, Automatic Memory Management
26.04
(четвъртък)
8:00, 413-I
overload.cpp
overload1.cpp
department.cpp

10.05
Linked lists. Standard class list. Implementation and efficiency
13
Advanced C++ Topics, Part II
Templates, Nested Classes
3.05
(четвъртък)
8:00, 413-I
pairs.cpp
list.cpp

17.05
Templates. Nested classes
Homework 3 (Operator Overloading, Templates)
14.
Advanced C++ Topics, Part III
Exception Handling
7.05
(понеделник)
8:00, 205-I
exception1.cpp
exception2.cpp
product1.cpp
product2.cpp
strous.cpp

31.05
Exception handling
15. Final Test
14.05
(понеделник)

8:00, 205-I


07.06
Exam of Practice_3