4,580 Posts served
11,094 Conversations started
- Academic

- Android

- Art, Music, & Animation

- Embedded Computing

- Events

- Game Development

- Graphics & Media

- Intel SW Partner Program

- Intel® AppUp Developer Program

- Manageability & Security

- Mobility

- Open Source

- Parallel Programming

- Performance and Optimization

- Power Efficiency

- Server

- Site News & Announcements

- Software Tools

- Ultrabook

- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
Goldilocks and the Three Training Classes
By Shannon Cepeda (Intel) (19 posts) on July 6, 2009 at 9:12 am
We have been working hard these past 3 months designing a new training class for C++ developers who want to learn parallelism. We’ve spent a lot of time contemplating what professional developers really need from their training. Some training classes assume too much, providing materials and samples on advanced topics without covering the basics. Some classes provide too little “meat” and instead feel more like a sales pitch – showing developers tools and products to help them without technical explanations. The first type of class is too deep and the second kind is too light. If Goldilocks were a developer, we wanted her to think of our class as “just right”.
To accomplish this, we balanced conflicting forces to design the content level, class length, and sample complexity; all while resisting “marketing creep”. “Marketing creep” is my name for the tendency to try to market everything possible as part of a training class. Have no fear, developers – the only times we talk about our products in this training are when we use a product to directly demonstrate a concept we are teaching.
As for the balance of forces, we decided to teach a comprehensive methodology, but use straight-forward examples that correspond to common use cases. In order to teach the fundamentals within a 1-day timeframe, we nixed labs in favor of instructor-led demos and thought exercises. For those who want more hands-on experience, we’ll have a few systems pre-loaded with our tools and samples available for an hour after the class ends. And we created a sample application we feel pretty proud of: the problem domain is easily understood, but the algorithm required to achieve scalability is quite complex. As we iterate through versions of this application in the class, we feel confident that we won’t lose the audience explaining the code, yet we can still showcase the power of parallelism.
We will test out our new class with a pilot in Santa Clara on July 17. There are still slots open for external developers, so if you are a Windows C++ developer who has been on the fence about parallelism, sign up to attend! Everyone else, look for us to launch a roadshow of this training later in the year.
What do you look for in a developer training class?
Categories: Parallel Programming
Tags: C++, developer training, parallelism, training
For more complete information about compiler optimizations, see our Optimization Notice.

