A blank page can be very intimidating, even for a Test-driven developer. Where do we start? Write a test, right? Not always.more...
Attendee preparationsFor the TDD training days (usually the first two days), students only need a computer with a modern web browser, internet access and personal headphones.
For the optional Legacy Code Workshop days, students need a local development environment on their machines. We can discuss the options during the first day of the TDD training. It will be even better if you setup your test environment before the training begins, but at least by the start of the workshop.
Prerequisites for courses taught in CYou will be creating new C functions in the TDD training class. We find that some programmers are rusty on creating new functions. If that is you, please practice creating some new functions. This would include adding a function declarations to header files, and adding definitions to the source files. Here is a reference for C functions. You may also want to brush up on your C scoping rules.
Prerequisites for courses taught in C++If you are new to C++, or a little rusty, please spend some time before class refreshing your C++. Here is a link to a C++ reference. Attendees should be familiar with that page as well as these topics. They are linked toward the bottom of the page.
There is a lot more to C++ than just those topics, but that is enough to get started. Don't worry if you are not an expert. We do exercises in pairs, so you can learn from each other.
Legacy Code Workshop Tooling
Embedded C and C++ Off-Target Development Environment OptionsYou will need one of these off-target build and execution environments:
For windows we highly recomend using a Linux virtual machine for your unit test environment. The Linux command line is very powerful for automating repetitive programming activities.
Starter kits for C and C++James provides two starter kits and instructions for getting a CppUTest environment set up.
In addition to a compilation environment, attendees will need:
Why do I need different development tools for the legacy code workshop?Unless you are a special case, your target build and execution environment is slowing you down. One goal of our TDD training and workshop is to help you get your code off the target for unit testing. We'll discuss many advantages during the course. In this training we'll start to reduce the impact of the target hardware bottleneck from your daily work.
Course HoursWe plan a 7.5 hour day including time for lunch and breaks. It is an intense day at 7.5 hours, though if people want to continue on exercises longer, or have more discussion, we can go over the scheduled time as needed. It is best if your organization prepared for you to work on training activities without interruption during the core hours.
Here is a short interview with James about TDD and embedded software from the deliver:Agile conference last spring.more...
James participated on these social media platforms.more...
Do you have some time to do a simple programming problem in C or C++ for my research?more...
My long-time good friend (Uncle) Bob Martin and I have fun programming together firing tracer bullets for distributed water pressure measurement system.more...
Here are a couple reviews of our TDD for Embedded C training.more...