Do you have some time to do a simple programming problem in C or C++ for my research?more...
Test-Driven Development for C or C++ Training | Remotely Delivered via Web-meeting
This training course helps you build knowledge, understanding and skill in the engineering practices needed to build great C or C++ code. You learn how to build flexible and modular software with very few defects, software that can have a long useful life. We teach you how to prevent defects and how to keep code clean over years of evolving needs.
This course is a good option for individuals trying to sharpen skills, or small teams where an on-site class is not a good fit. It is also a good way for your team to get started and to know us better.
Dates, Times and CostScheduled Courses (2)
|February 27 to March 1, 2018 (Tuesday to Thursday)||10:00 to 03:00 CT (US Central/Chicago time)||Sign up|
|March 27,28,29, 2018 (Tuesday to Thursday)||07:00 to 12:00 CT (US Central/Chicago time)||Sign up|
|Some other time||You tell me a better date and time for you||I'm interested!|
How is this delivered?
This course is delivered over the web, with James Grenning teaching live. The meeting will be hosted by WebEx or a similar service. You do not need an account. Here is the Wingman Software Command Center for remote course delivery
During our three five-hour days together we will go through three cycles of
Present - Demonstrate - Exercise - Debrief
In this course you'll learn why you should care about TDD. Engineers like to solve problems. What problem does TDD help you solve? Actually there are several, we'll start with the most obvious problem: defects in code.
|TDD helps prevent defects! You'll discover that with TDD you can detect your mistakes and fix mistakes moments after you make them. The payback is in the initial release, as you waste less time chasing bugs, and you check something in that actually works! You'll later see other benefits you get from test-driving.|
You'll get first hand experience doing the small verified steps of TDD. You will really know what TDD is and what it is not when you finish this course.
|You'll interact with James as you go.|
|Exercises are done on Wingman Software's customized cyber-dojo.org cloud-based server. You (or your team) is given an identity and an icon.|
James monitors your progress on the cyber-dojo dashboard. He can tell when you get in trouble. The traffic signals tell the story. A green traffic signal means tests are passing, red means they are failing and yellow means you have broken the build.
|Strings of red or yellow traffic signals mean you may have dug yourself into a hole and could use a hand up.|
With a click on the dashboard, James can see your progress and help you make progress on your journey to learn TDD. As an added bonus, you may learn the first law of holes (when you find yourself in a hole, stop digging!).
Our web-delivered and live on-site training follow the same approach, although James can also use the look over the shoulder technique in live courses.
- Three 5 hour Sessions over three consecutive days - Hands-on exercises
- Languages C or C++
- Embedded Software Developers
- Software Developers
- Technical team leaders
- Managers that want to know the technology they manage
- C or embedded C programming experience
Setup and Facilities Requirements
- High speed internet for Web meeting
- Web browser
- No computer setup required
- Exercises hosted on a private cyber-dojo.org server.
- Test Driven Development
- Why Test Driven Development?
- What is Test Driven Development?
- The Microcycle
- Adapting TDD to Embedded Software Development
- Leveraging the Development System
- Risks of Development System Unit Testing
- Embedded TDD Cycle
- Hardware/Platform Independence
- TDD and Collaborating Modules
- Separation of Responsibilities
- Keeping Tests Clean
- Tests as Detailed Documentation
- Test Fakes, Stubs, Doubles, Mocks
- Spying on the Hardware
- Faking the Time
- Link-time Fake
- Runtime Fake
- Test-Driving Next to the Silicon With Mocks
- The Problem Solved by Mock Objects
- TDD One Instruction Away from the Hardware
- Critical Skills
- Code Smells
- Working with Legacy C
- Legacy Code Mindset
- Boy Scout Rule
- Crash to Pass Algorithm
- Learning Tests
- TDD and Bug Fixes; Exercise
- Wrap up Discussion
Announcing James Grenning fall conferences and training offerings in Denmark, Sweden, Norway, Netherlands, and San Francisco.
James Grenning will deliver the keynote talk and a technical talk at Agile on the Beach in lovely Cornwall, UK. July 6-7, 2017
James Grenning will deliver the keynote talk and a two-day public TDD for Embedded C/C++ training course at the Oslo Continuous Delivery and DevOps Conference.
James Grenning will be giving the keynote talk at Agile Saturday in Tallin Estonia, May 6, 2017. A public training course is scheduled for May 8-9, 2017.more...
James is the author of Test-Driven Development for Embedded C.