Difference between revisions of "Embedded C - Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD"
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
− | This is similar to 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> |
Revision as of 16:32, 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 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