Test-driven development (TDD) is a novel software development strategy requiring automated unit tests be written prior to writing functional code. TDD is emerging as an industry "best practice" that is beneficial in popular agile software processes as well as more traditional plan-driven processes. Despite industry acceptance of TDD, the academic community has been slow to become familiar with and understand TDD. TDD has made its way into some graduate and upper-level software engineering courses. The primary hurdles and logical next steps for expanding TDD in academia are teacher education and resources. This project endeavors to ease and speed adoption of TDD in academia by developing and assessing lab materials and a supporting web-based integrated development environment (WebIDE) for first year programming courses, based on the Test-Driven Learning (TDL) approach. TDL is an approach to teaching computer programming that involves introducing and exploring new concepts by example in a test-first manner with automated tests. By providing TDD-based lab materials layered on a super-simple-to-use interface in a context (web) that is familiar to students and immediately accessible, frustrating hurdles are eliminated so students can achieve early successes, focus on core programming concepts, and master initial language syntax. These labs can improve student design and testing skills as they learn traditional CS1 implementation skills. More than a dozen empirical studies have assessed the efficacy of using TDD in the classroom. Although results are not conclusive, these studies have shown that students and practitioners who apply TDD can be more confident about their programs, achieve significantly higher test coverage, have fewer defects, and write significantly less complex programs. Studies have further shown that instructors can incorporate TDL without sacrificing coverage of existing topics, and students can learn to apply TDD in first year programming courses without investing significantly more time. In other words TDL enables one to teach testing and TDD for free.

Agency
National Science Foundation (NSF)
Institute
Division of Undergraduate Education (DUE)
Type
Standard Grant (Standard)
Application #
0942488
Program Officer
Valerie Barr
Project Start
Project End
Budget Start
2009-09-01
Budget End
2013-08-31
Support Year
Fiscal Year
2009
Total Cost
$153,344
Indirect Cost
Name
California Polytechnic State University Foundation
Department
Type
DUNS #
City
San Luis Obispo
State
CA
Country
United States
Zip Code
93407