A TDD approach to introducing students to embedded programming

  • Authors:
  • James Miller;Michael Smith

  • Affiliations:
  • University of Alberta;University of Calgary

  • Venue:
  • Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Learning embedded programming is a highly demanding exercise. The beginner is bombarded with complexity from the start: embedded production based around a myriad of C++ constructs with low-level elements integrated onto ever more complicated processor architectures. The picture is further compounded by tool support having unfamiliar roles and appearances from previous student experiences. This demanding situation often has the student bewildered; seeking for "a crutch" or the simplest way forward regardless of the overall consequences. To control this potentially chaotic picture, the instructor needs to introduce devices to combat this complexity. We argue that test driven development (TDD) should become the instructor's principal weapon in this fight. Reasons for this belief combined with our, and the students', experiences with this novel approach are discussed.