Wednesday, April 7, 2010

My training materials for C++0x, etc., now available

A non-brief explanation follows.

* * * * *

When I write a technical book, my general approach is as follows:
  1. Master the material.
  2. Figure out what "story" I want to tell, i.e., what to cover, what to omit, what order to cover things in, what examples to use, etc.
  3. Write it up.
In practice, Step 2 almost always breaks down into these steps:
  • 2a: Come up with a story that I think will work, i.e., that will effectively convey the technical information.
  • 2b: Develop a training course corresponding to that story.
  • 2c: Deliver the training course to professional developers and see how well the story works. In places where it doesn't work as well as it should, return to step 2a and iterate until everything is satisfactory.
The only difference between writing a book and developing a training course is the existence of step 3: writing the prose corresponding to the story.

My primary activity during the past year has been learning about and teaching other people about C++0x. (It wasn't supposed to be that way, but C++0x turned out to be a much more involved topic than I expected.) I now have a set of C++0x training materials that I think are quite good, but I don't want to write them up in book form, because, among other things, C++0x is still being refined, as is both my understanding of it and compiler vendors' implementations.

Still, I think the information in my C++0x training materials is valuable in its current form, and, to be honest, more comprehensible and up-to-date than what you're likely to find by searching the Internet. Before now, the only way people could get a copy of these materials was to attend one of my training courses (my schedule's at, but such courses don't take place terribly often, and they're not in everybody's budget, so I've decided to offer my C++0x course notes for sale on a standalone basis.

Unlike a book, they lack the connective prose that makes for a smooth reading experience, but in some ways, they're better than a book. They make more extensive use of color, they "cut out the fat" to focus on the technical essentials, and my licensing terms grant buyers unlimited updates for life: as long as I update the materials, buyers are entitled to a revised version for free. Furthermore, because training materials inherently use a large font and are chopped into page-based chunks, reading them on mobile devices like iPhones should be a more satisfying experience than trying to read a conventional technical book.

The C++0x notes are available now, and by the end of the month, I expect to have the notes from my courses on using C++ in embedded systems and on improving software quality available, too.  You'll find detailed information on all of these at Virtually none of the material in these courses is available in my books.

My initial goal with this project was to make the information in my training materials available to individuals who don't attend my training courses, but I know that there are companies who might be interested in the materials, too. For example, technical training companies might want to use them with their own clients, and large companies with internal training departments might want to use them as the basis for internal training.  As a result, I'm now making all my training materials available for commercial licensing. Details on that option are available at

For over 20 years, I've been doing my best to disseminate useful, accurate technical information to professional software developers. I've written several books and dozens of articles, but some of my most valuable information has existed only in the form of training materials that were accessible only to people who could attend a course. That's no longer the case. All my materials may now be commercially licensed, and selected sets of training materials may be purchased for personal use.

I hope you find the availability of the information in my training materials interesting, and I especially encourage you to check out my C++0x notes (including a free ~25-page excerpt) at

If you have comments on my making my training materials available for personal and commercial use, don't hesitate to let me know.



* Scott's training materials now available for commercial or personal use.

No comments: