Embedded C++ - Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD

Revision as of 15:38, 4 June 2011 by Clarman (talk | contribs)

Overview

This is similar to the Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD course.

First, Please read that course description for general overview.

However, as a variation, it is for C++ developers who are doing embedded systems. As described below, there are some C++ specific special topics.


Additional to the Regular Material, Special C++ and Embedded Topics

  • implementing abstract data types (ADTs) in C -- "objects in C"
  • single-instance and multi-instance ADTs
  • agile modeling with ADTs, and mapping agile models to code
  • weak versus strong ADTs
  • unit TDD for C
  • acceptance TDD for C
  • test doubles for C with link- , preprocessor- , meta-programming- (function pointers), and configuration seams
  • test-doubles for lower-level components: device drivers, etc.
  • create device drivers and other low-level components with TDD in C
  • clean code and refactoring in C
  • dual targeting and TDD
  • mock objects in C