.profile Consulting Inc. presents:


The C++ Programming Language

Course Description

Introductory through advanced C++ language features are presented in a series of independently schedulable modules. Modules 1 through 5 form a basic introduction to object-oriented technology and C++ programming, sufficient for acquiring critical concepts, but not for production programming. Modules 6 through 10 provide production programming skills, sufficient for writing effective software in C++. The remaining modules cover specialized topics.

The complete course, authored by one of the world's foremost authorities on C++ and object-oriented technology, presents a comprehensive technical study of the C++ programming language to a depth that enables production programming. Attendees will gain a thorough understanding of how object-oriented programming is accomplished in C++.

Course Structure

Our C++ course modules may be independently scheduled. Choose the set of modules you need. Each module is 3 to 3-1/2 hours of lecture. The lecture modules may be supplemented by a 3 1/2 hour instructor lead programming lab using your hardware, or you may choose to have students do exercises on their own between modules. If you are local (Colorado front range), the modules can be scheduled flexibly for your convenience.

Audience Background

Intermediate level experience programming in C is assumed. Programmers should be comfortable with structures, pointers, arrays, dynamic memory allocation, string handling, and the C preprocessor. Familiarity with object-oriented programming is not a prerequisite.

Outline
  • 1. Object-Oriented Programming
    • The Object Model
    • Member Functions
    • Access Control
  • 2. Object Management
    • Constructors
    • Destructors
    • Dynamic objects (new, delete)
  • 3. C++ as a Better C
    • Stream I/O
    • Const
    • Inline Functions
    • Default Arguments
    • Function Overloading
  • 4. Specialization
    • Public Inheritance
    • Pointer Conversion
    • Heterogeneous Collections
  • 5. Polymorphism
    • Virtual Member Functions
    • Dynamic Binding
    • Abstract Base Class
  • 6. Production Programming Mechanisms
    • Static Members
    • Protected and Friend
    • Arrays of Objects
    • Linkage Issues
  • 7. Production Programming Techniques
    • Dynamic Object Ownership
    • Header Files
    • Design Patterns
  • 8. Operator Overloading
    • Unary & Binary Operators
    • Operator Functions
    • Reference Type
  • 9. Value Semantics
    • Object State
    • Assignment
    • Initialization
  • 10. Gotchas I
    • The meaning of a C++ program is not always what the programmer intended or expects...
    • See C++ Gotchas course description page.
  • 11. Templates
    • Type Parameterization
    • Collection/Container Classes
    • Implementation Issues
  • 12. Standard Template Library
    • Iterators
    • Collections
    • Algorithms
  • 13. Multiple Inheritance
    • Protocol Inheritance
    • Multiple and Dynamic Classification
    • Virtual Base Classes
  • 14. Exceptions
    • Exception Handling Policies
    • Exception Mechanism
    • Case Studies
  • 15. Gotchas II
    • The gotchas associated with Templates, STL, MI, and Exceptions.
    • See C++ Gotchas course description page.
Author

Thomas A. Cargill, Ph.D.

Pricing and Availability

This course is available on-site at your location. Please call .profile Consulting Inc. at (303) 499-5940 or email us at cjm@profcon.com for pricing, instructor availability and scheduling.
This course is offered publicly through the University of Colorado Division of Continuing Education.

Back to .profile Consulting Inc. Home Page

Last Updated: February 2008.
Questions? Contact cjm@profcon.com
This page printed from www.profcon.com