On-site Training Course Site Preparations
Definitions
- Training - Planned course content delivery and discussion.
- Exercises - Planned activities in example problems prepared by Wingman Software.
- Workshop - Group activities where the attendees work in groups on #{company_name} software.
Atttednee Prerequisites and Preparations
The course is designed for software developers. Programmers or managers with programming experience. See the details.
Attendees complete a short survey, and prepare their laptops for the Legacy Code Workshop.
Course Hours
We 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.Classroom Setup
Comfortable room with plenty of space for students and instructor. Table seating is preferred over auditorium to facilitate small group discussions.Facilities Needed
- HDMI connection to large monitors or projector and screen
- White board (or flip chart) and markers
- Post-it notes
- Pens
- Guest internet access for instructor with 20 Mbps bandwidth
Seating
- Side-by-side seating is needed for pair exercises.
- There is no need to plan the pairings in advance.
- Table seating is preferred over auditorium/classroom seating. This helps facilitate small group discussions.
- Round tables, that seat six people, work really well.
Computer Needs
- Exercises are done in pairs.
- Attendees need a laptop.
- During the workshop days, provide one or two external monitors for each table.
- Internet access for students
- Modern web browser (post Internet Explorer 6)
- Open network access to:
- wingman-sw.com and sub-domains
Legacy Code Workshop Tooling
A couple weeks before an on-site course, we'll meet to discuss your off-target test environment.Embedded C and C++ Off-Target Development Environment Options
You will need one of these off-target build and execution environments:- Linux: gcc or clang
- Mac: gcc or clang
- Windows: Linux virtual machine running in Docker
Non-Embedded C/C++Workshops
- Likely that no special build tools are needed
- Install the test harness of your choice and get a simple example test running
Starter kits for C and C++
James provides starter kits and instructions for getting a CppUTest environment set up.- CppUTest gcc starter kit -- you may need to tweak the warn ing flags.
- CppUTest Visual Studio starter kit -- you may have to tweak the project files.
You will also want to clone legacy-build script, for use in the workshop.
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.Latest News
Conference Video - Deep Stack – Tracer Bullets from ADC to Browser
A blank page can be very intimidating, even for a Test-driven developer. Where do we start? Write a test, right? Not always.
more...Podcast on Agile Amped
Here is a short interview with James about TDD and embedded software from the deliver:Agile conference last spring.
more...Programming Research -- Please Participate
Do you have some time to do a simple programming problem in C or C++ for my research?
more...Clean Coders IoT Case Study
My long-time good friend (Uncle) Bob Martin and I have fun programming together firing tracer bullets for distributed water pressure measurement system.
more...Books
James is the author of Test-Driven Development for Embedded C.
Have you read Test-Driven Development for Embedded C? Please write a review at
Amazon
or
Good Reads
.