Advanced C++

Rapid, Effective Training in Production-Quality C++, Targeted to Your Organization's Needs

Description

There really is no standard curriculum for advanced C++, because C++ is a large language with many associated patterns, idioms, and programming techniques.  Different parts of the language and different idioms and techniques apply depending on the technical area of development.  Typically we'll an advanced core of "Common Knowldge" with which all professional C++ programmers should be familiar, and add additional modules suitable to your area of C++ application.  Some of these modules are
Threaded throughout each course module is material on "Common Knowledge" that every professional C++ programmer should know, and "C++ Gotchas" that every professional C++ programmer should avoid.
C++ Common KnowledgeIf you are a senior C++ technical lead or a C++ project manager, you've encountered this problem over and over again:  You have a talented staff, but you're faced with hard deadlines and a seemingly insurmountable learning curve.  You may be fortunate enough to have a core of C++ experts, but the majority of your technical staff consists of  a) Domain experts who are expert C programmers, but who have only basic knowledge of (and perhaps some animosity towards) C++, b) Talented new hires direct from university who have an academic appreciation for the C++ language, but little production C++ experience, c) Expert Java programmers who have little C++ experience, and who have a tendency to program in C++ the way one would program in Java, or d) C++ programmers with several years of experience maintaining existing C++ applications, but who have not been challenged to learn anything beyond the basics required for maintenance. This is a situation I've faced many times in my consulting and training work.  I want to be immediately productive, but many of the people with whom I'm working or who I'm training require preliminary education in various C++ language features, patterns, and coding techniques before we can get down to business.

C++ Got chasThe "Common Knowledge" material is the product of identifying, facing, and filling these knowledge gaps over a period of many years of consulting and training for dozens of clients and thousands of students.  These items include essential intermediate and advanced level C++ language features, coding techniques, and design patterns that are commonly missing from C++ programmer's toolkits.  By the end of the course, every member of your C++ programming team will share the common knowledge required to write professional, production-quality, expert-level C++ code.

But that's only half the story.  Interleaved with material on how to use C++ properly are guidelines on how to avoid and correct  the most common and destructive C++ design and programming errors, the dreaded "C++ Gotchas."  Students will discover how to escape both common and complex traps associated with C++ and produce reusable, maintainable code.

Audience

This course is designed to serve the needs of software engineers with good, basic knowledge of C++, who want rapidly to obtain the essentials required to become fully productive C++ professionals.

Format

  3-5 days, lecture or lecture/lab

Texts

Copies of the course materials, with extensive explanatory notes.
Copies of both of Steve's bestselling books, C++ Gotchas and C++ Common Knowledge.