Project Description

Object Oriented Programming with C ++

The Seminar is an Introduction to Object Oriented Programming with C ++. Effective attendance of the seminar requires basic knowledge of Programming with C ++

Duration: 9 Weeks

Teaching methods:

On-line: From your home you are attending the lesson live through an on-line teaching system that gives you full opportunities for participation and intervention just as you would attend a seminar in face-to-face teaching.

For Living: Living classes may be set up according to the local seminar demand.

Asynchronous teaching: Using asynchronous teaching software, you will be provided with tutorial material and support for the programming tasks you will undertake in the course of the seminar.

Skype: Contact skype to provide personalized online help in programming tasks.

  1. Introduction: Object Oriented Programming can be delineated by its fundamental features: encapsulation, inheritance, and polymorphism. This module introduces the reader to the concept of object-oriented programming by presenting the concept of integration. The discussion also includes the presentation of the access specifiers, public and private, and friend functions and friend classes.
  2. Constructors and Destructor: Here are the creators of the class including the copy creator and the destroyer of the class. The discussion includes an explanation of the necessity of the creators and the destroyer, as well as the way they are implemented and used.
  3. The general contour and class invariant: This section presents the general outline of the class, ie what (and why) should include the definition of a class so that it is considered complete. It also presents the conditions that the objects of the class must meet in order to maintain their integrity.
  4. Static methods, static members and enumerated types: The following are used in the keyword classes: const, static and enum.
  5. Operator overloading: It is obvious that built in operators are not programmed to work with the classes developed by the various users. Thus, overloading of operators is of particular importance in the context of object oriented C. In this section, we place particular emphasis on the overloading of operators to work with objects and give examples of overload for the vast majority of available operators.
  6. Class templates: The concept of the standard class is discussed here. Included are the concepts of Template Specialization and non-type template parameters.
  7. Organization of Header File Organization: How we organize a project into files. What is the role of .h and what role of .cpp files. What is the specificity of the standard classes or functions for the organization of source code files.
  8. The string class: Analysis of the alphanumeric series management class.
  9. Inheritance: Parental and derived classes, Access Control, Friendship classes, True inheritance, protected, private.
  10. Polymorphism: Static and late binding, Upcasting, downcasting, Virtual methods, Virtual destructors, Abstract classes ( Abstract classes, Multiple inheritance, Diamond problem, Run time type identification.
  11. Exceptions and Classes: Disadvantages of error handling without exception mechanisms. The advantages of exceptions, Try-catch blocks, exception specifications, STL exceptions. Set new exceptions.
  12. Containers and Iterators: Presentation of standard STLs (Standard Template Library).
  13. Programming Projects: This section discusses a series of significant programming tasks. Each work includes the project description, solution (code) and its analysis.



OCAJP Certification facebook youTube linkedin
Lefteris Moussiades
Associate Professor (Software Systems-Clustering Algorithms)
Computer and Informatics Engineering Department, TEI EMT
p: +30 2510 462346 m: +30 6973051580
a: Agios Loukas - 65404 - Kavala - Greece
w: e:

Register for “Object Oriented Programming with C++”

The hours and days of the lectures will be finalized upon completion of the registrations and consultation with the interested students.