Most C++ courses tend to concentrate on the syntax of the language. This course assumes that you are already comfortable with the language, and concentrates instead on technique. Through the use of lectures, class exercises and hands-on labs, the student will use their existing C++ experience to gain a deeper insight into object oriented programming techniques. STL is much more than a simple library of containers. It has many advanced techniques that most users of STL simply don’t know about. This course details function objects, STL algorithms and other aspects of this powerful library. Design patterns are one of the newest ways to really exploit the object oriented programming paradigm. They are like case studies of really great design techniques. This course spends a large amount of time detailing various design patterns and their relevance to software architecture, frame works and designs. The Goal Most students, after learning about the advanced techniques taught in this course say “I wish I would have known this for my last project. The material taught in this course will help you make your applications more robust, cleaner and easier to extend.

Prerequisites: Students must have a strong working knowledge of C++. Experience with UML is also an asset, but not required.

Duration: 4 Days

Introduction to UML

What is UML

Classes

Associations/Relationships

Interaction Diagrams

Advanced STL

Review of containers

Function Objects

Adapters

Iterators

Algorithms

Designing by Interfaces

Making the uncommon common

Classes and interfaces are not related one to one

Partitioning functionality into interfaces

Introduction to Patterns

What they are

Gang of four

Patterns in Detail

Document/View (Model/View/Controller)

Singleton

Factory

Flyweight

Command

Validators

Observable/Observer

Publish/Subscribe

Proxy

Adapter

Composition

Visitor

Filter

Decorator

Chain Of Responsibility

Mediator

Memento

State

Strategy

Rule/Action

Pipe

Each one of our high content courses is custom created to ensure that students receive as much real world knowledge as possible. Our expert instructors develop all our course materials in-house. We literally “wrote the book” on programmer training.