ES0650: ADVANCED C++ PROGRAMMING
The Object-oriented (OO) programming paradigm is a leading technology in software development environments. Its increasing popularity in both industry and research institutions is due to the fact that it promotes and facilitates efficient production and reusability of code. OO solutions often result in software that is easily modified, extended and maintained by encapsulating the implementation and use of subsystems within the general computing environment. This course focuses on OO design and implementation issues providing knowledge on how to build OO applications using C++.

For Registration/Information call (586) 336-7860 or
email info@epcom.com

  Return to Course Offerings
 

Who Should Attend

    Software designers, programmers and system managers who have an understanding of the software development process and who need to learn about the object-oriented paradigm and C++. This course will provide hands-on training in design and implementation of OO software. It will also address the problems of productivity, efficiency and reliability of OO applications in C++.

Prerequisites

What you will learn

    This course extends the C++ Fundamentals course by shifting the focus of attention from C++ features as a languages to object oriented (OO) techniques using C++. It will provide a solid understanding of OO designing concepts: inheritance hierarchies and dependency graphs, abstract class design and programming, polymorphism and code reusing. Students will learn to evaluate OO techniques versus procedural oriented techniques, to efficiently develop generic code. Emphasis will also be placed upon understanding the trade-offs between encapsulation, strong typing and code efficiency. Moreover, a discussion of OO concepts in distributed and concurrent environments is provided, as well as OO alternatives to the class oriented approach of C++. Participants will be able to:

  • Understand basic design issues in OOP.
  • Create abstract inheritance hierarchies.
  • Create efficient procedures for retrieval of information in classes.
  • Incorporate error handling procedures for testing and production.
  • Understand basic OOP issues in concurrent and distributed environments

Course Outline

  1. ANSI C and C++
    • Native types and statements
    • Casting
    • Enumerations, structures and unions
    • Pointer types, generic pointers
    • Overloading functions and inlining
    • Reference declarations and call-by reference
    • Uses of "void"
    • Strings as kernel language ADT's
    • I/O: streams and files
  2. Data Abstraction
    • Classes and strong typing
    • Class scope: scope resolution operator and nested classes
    • The "this" pointer
    • Static, constant and volatile member functions
  3. Object Creation
    • Default constructors
    • Copy constructors
    • Initializers
    • Destructors and reference counting
    • Shallow copy and reference semantics
  4. Ad hoc Polymorphism
    • The signature matching algorithm
    • Overloading operators
    • "Friend" functions
    • Reusability by overloading
  5. Parametric Polymorphism
    • Function and class templates
    • Virtual member functions
  6. Retrieving Information
    • Container classes
    • Iteration and visitation techniques
    • "Friend" classes
  7. Inheritance
    • Abstract base classes
    • Derived classes: public and private inheritance
    • Multiple inheritance: conflict/resolution schemes
    • Subtyping and code reuse
  8. Error Handling
    • Assertions
    • Exceptions
    • Handlers and try blocks
  9. Class Libraries
  10. Advanced Topics in OOP
    • Issues in code reusability, typing and encapsulation
    • OO databases in distributed environments: persistence and security
    • OO and concurrency: actors, ACT++
    • Prototype and delegation

Hands-on Workshops

  • Creating abstract classes
  • Creating copy and default constructors
  • Creating inheritance hierarchies
  • Using overloading and polymorphism
  • Reusing generic code
  • Using subtypes
  • Incorporating error handling
  • Creating generic OO Interfaces

Course Duration

    Three (3) days

Course Schedule

Course Materials

  • Comprehensive course workbook/summary
  • Course certificate of completion

For Registration/Information call (586) 336-7860 or email info@epcom.com

  Return to Course Offerings



home - consulting - education - staffing | careers - about us - contact us

v1.0 Copyright 2004, Epcom Corporation