Nikolay Kirov
Teaching [bg]
Courses in 2009/2010 academic year

NETB181 Object Oriented Programming Project

Защити на проекти: 3 юли, събота, 10:00, ИМИ, 164
 Timetable for presentations
Task for NETB181 Object-Oriented Programming Project:
Prepare a presentation in 5-10 minutes with 5-15 slides in pdf or html format. The presentation must include: definitions, assertions, source codes of short positive and negative examples, etc.

The topics are sections from Deitel&Deitel book:
H.M. Deitel, P.J. Deitel, C++ How to Program, International 4th ed. , Prentice Hall, 2003 (slides),
Call Number:   Ч 681.325.3 / D 33
H.M. Deitel, P.J. Deitel, C++ How to Program, Sixth edition, Deitel & Associates, Inc. 2008.

List of students

List of projects:

Chapter 7: Classes Part II

Pr01:
7.2 const (Constant) Objects and  const Member Functions

Pr02:
7.4 friend Functions and friend Classes
7.5 Using the this Pointer

Pr03:
7.7 static Class Members
7.10 Proxy Classes

Chapter 8: Operator Overloading

Pr04:
8.2 Fundamentals of Operator Overloading
8.3 Restrictions on Operator Overloading

Pr05:
8.4 Operator Functions as Class Members vs. as friend Functions
8.5 Overloading Stream-Insertion and Stream-Extraction Operators

Pr06:
8.6 Overloading Unary Operators
8.7 Overloading Binary Operators

Chapter 9: Inheritance

Pr07:
9.2 Base Classes and Derived Classes
9.3 protected Members
9.4 Relationship between Base Classes and Derived Classes

Pr08:
9.8 public, protected and private Inheritance

Chapter 10: Virtual Functions and Polymorphism

Pr09:
10.8 Virtual Destructors

Chapter 11: Templates

Pr10:
11.2 Function Templates
11.3 Overloading Function Templates

Pr11:
11.5 Class Templates and Nontype Parameters
11.6 Templates and Inheritance

Pr12:
11.7 Templates and Friends
11.8 Templates and static Members

Chapter 12: C++ Stream Input/Output

Pr13:
12.2 Streams
12.3 Stream Output

Pr14:
12.4 Stream Input
12.5 Unformatted I/O with read, gcount and write

Pr15:
12.6 Introduction to Stream Manipulators
12.7 Stream Format States and Stream Manipulators

Pr16:
12.8 Stream Error States
12.9 Tying an Output Stream to an Input Stream

Chapter 13: Exception Handling

Pr17:
13.6 Exception Specifications
13.7 Processing Unexpected Exceptions

Pr:18:
13.8 Stack Unwinding
13.9 Constructors, Destructors and Exception Handling
13.10 Exceptions and Inheritance

Pr19:
13.11 Processing new Failures
13.12 Class auto_ptr and Dynamic Memory Allocation

Pr20:
13.13 Standard Library Exception Hierarchy

Chapter 21: Standard Template Library

Sequence Containers

Pr21:
21.2.1 vector Sequence Container

Pr22:
21.2.2 list Sequence Container

Pr23:
21.2.3 deque Sequence Container

Associative Containers

Pr24:
21.3.1 multiset Associative Container

Pr25:
21.3.2 set Associative Container

Pr26:
21.3.3 multimap Associative Container

Pr27:
21.3.4 map Associative Container

Container Adapters

Pr28:
21.4.1 stack  Adapter

Pr29:
21.4.2 queue Adapter

Pr30:
21.4.3 priority_queue Adapter

Algorithms

Pr31:
21.5.1 fill, fill_n, generate and generate_n
21.5.2 equal, mismatch and lexicographical_compare

Pr32:
21.5.3 remove, remove_if, remove_copy and remove_copy_if
21.5.4 replace, replace_if, replace_copy and replace_copy_if
 
Pr33:
21.5.5 Mathematical  Algorithms

Pr34:
21.5.6 Basic Searching and  Sorting Algorithms

Pr35:
21.5.7 swap, iter_swap and swap_ranges
21.5.8 copy_backward, merge, unique and reverse
21.5.9 inplace_merge, unique_copy and reverse_copy

Pr36:
21.5.10 Set Operations
21.5.11 lower_bound, upper_bound and equal_range

Pr37:
21.5.12 Heapsort

Pr38:
21.6 Class  bitset

Pr39:
21.7 Function   Objects

Chapter 22: Other Topics

Pr40:
22.2 const_cast Operator
22.3 reinterpret_cast Operator

Pr41:
22.4 namespaces

Pr42:
22.5 Operator Keywords
22.6 explicit Constructors

Pr43:
22.7 mutable Class Members
22.8 Pointers to Class Members (.* and ->*)

Pr44:
22.9 Multiple Inheritance
22.10 Multiple Inheritance and virtual Base Classes