Self-Paced Training: TDD for Embedded C/C++

Hello Friends

I am developing a series of self-paced training modules for Test-Driven Development for Embedded C and C++. The training modules will have exercises to cement the learning. I’ll offer them individually or in a couple bundles. Each module will take six or more hours to complete. The modules follow the flow of my on-site and live-via-the-web formats found on wingman-sw.

  • Present a problem — problems motivate change
  • Present a potential solution — the idea that may help
  • Demonstrate part of the solution — remove ambiguity
  • Participant does an exercise — learn by doing
  • Experience debrief — identify and discuss both positive and negative reactions

In self-paced training, my ability to interact with you is limited, so I plan on demonstrating solutions, and describing many of the common common concerns and ways people go off track as they learn this important development skill. I’d take questions over twitter and maybe some other forum.

Here are the modules currently in planning and development

  1. Your First TDD
  2. TDD and Collaborating Objects
  3. Test Doubles and Mocking the Silicon
  4. Test-Driven Developer Meets Legacy Code
  5. Refactoring and SOLID Design
  6. Embedded Design Patterns
  7. The Green Field

If you have attended my TDD course live-via-the-web, you will have seen the core of modules 1-3, with a hint of 4 and 5. If you had me to your company you’ve participated in the core of modules 1-4.

In the self-paced course we’ll have more time to go deeper. So prior attendees could use them for a refresher and maybe answer questions never asked. I’ll offer a discount to prior attendees.

Companies that have had my second course on Refactoring and SOLID (or the looong course) will have seen the core of modules 5-6 as well. Again, the self-aced courses do let us go deeper and you can go at your pace. These modules pick up right after first TDD course.

In the legacy code module (#4) we won’t be able to work in your code, but I’ll wrestle some embedded code (with serious hardware and vendor tool dependencies) into the test environment.

The Green Filed (#6) is about approaching development with lots of risks and how to make progress knocking down one risk at a time, discovering what code is needed, and building a walking skeleton.

If you have any suggestions, please leave a comment.

To be notified as the modules become available, join the Wingman Software mailing list.

For an on-site or live-via-the-web course contact me using the wingman-sw contact page.

Thanks in advance!

2 thoughts on “Self-Paced Training: TDD for Embedded C/C++

  1. James, I have your book and have been trying to get into TDD. Many of the systems I have worked on follow a pattern with bytes coming in from a serial interrupt, going into a message parser, and complete messages going to handlers. I have struggled for a while to implement a solution with TDD that I am happy with compared to the code I am used to. I am fairly sure this is more of a design thinking issue than a TDD one, but I would really like to see an example based on messaging.

  2. Hi John

    Sorry I missed your suggestion. It’s a good one.

    For starters, think of then as separate problems

    • Collecting a buffer
    • Parsing the message
    • Dispatching to a handler
    • Handling the message

Leave a Reply

Your email address will not be published. Required fields are marked *

Be gone spammers * Time limit is exhausted. Please reload the CAPTCHA.