Difference between revisions of "Embedded C - Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD"

 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
This is essentially the same as the [[Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD]] course. Please read that course description for general overview.
+
This is similar to the [[Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD]] course.  
 +
 
 +
First, Please read that [[Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD | course description]] for general overview.
 
<br>
 
<br>
 
<br>
 
<br>
However, as a variation, it is for C developers, usually who are doing embedded systems. As described below, there are some C-specific special topics: ADTs, test doubles for C, and so forth.
+
However, as a variation, it is for C developers who are doing embedded systems. As described below, there are some C-specific special topics: ADTs, test doubles for C, and so forth.
  
  
== Additional to the Regular Material, Special C and Embedded Topics ==
+
== Additional to the Regular Material: Special C and Embedded Topics ==
 
* implementing abstract data types (ADTs) in C -- "objects in C"
 
* implementing abstract data types (ADTs) in C -- "objects in C"
 
* single-instance and multi-instance ADTs
 
* single-instance and multi-instance ADTs
* agile modeling with ADTs, and mapping agile models to code
+
* agile modeling with ADTs, and mapping agile models to C
 
* weak versus strong ADTs
 
* weak versus strong ADTs
 
* unit TDD for C
 
* unit TDD for C
Line 15: Line 17:
 
* test doubles for C with link- , preprocessor- , meta-programming-  (function pointers), and configuration seams
 
* test doubles for C with link- , preprocessor- , meta-programming-  (function pointers), and configuration seams
 
* test-doubles for lower-level components: device drivers, etc.  
 
* 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
 
* clean code and refactoring in C
 
* dual targeting and TDD
 
* dual targeting and TDD
 
* mock objects in C
 
* mock objects in C
 +
* combining C, assembler, and inline assembler

Latest revision as of 16:58, 4 June 2011

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: ADTs, test doubles for C, and so forth.


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 C
  • 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
  • combining C, assembler, and inline assembler