| |
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
- 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
- Data Abstraction
- Classes and strong typing
- Class scope: scope resolution operator and nested classes
- The "this" pointer
- Static, constant and volatile member functions
- Object Creation
- Default constructors
- Copy constructors
- Initializers
- Destructors and reference counting
- Shallow copy and reference semantics
- Ad hoc Polymorphism
- The signature matching algorithm
- Overloading operators
- "Friend" functions
- Reusability by overloading
- Parametric Polymorphism
- Function and class templates
- Virtual member functions
- Retrieving Information
- Container classes
- Iteration and visitation techniques
- "Friend" classes
- Inheritance
- Abstract base classes
- Derived classes: public and private inheritance
- Multiple inheritance: conflict/resolution schemes
- Subtyping and code reuse
- Error Handling
- Assertions
- Exceptions
- Handlers and try blocks
- Class Libraries
- 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
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
|
|
|