Extreme programming explained: embrace change
Extreme programming explained: embrace change
Guidelines for teaching object orientation with Java
Proceedings of the 6th annual conference on Innovation and technology in computer science education
DrJava: a lightweight pedagogic environment for Java
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Test Driven Development: By Example
Test Driven Development: By Example
Rethinking computer science education from a test-first perspective
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using software testing to move students from trial-and-error to reflection-in-action
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Test-driven learning: intrinsic integration of testing into the CS/SE curriculum
Proceedings of the 37th SIGCSE technical symposium on Computer science education
On the Influence of Test-Driven Development on Software Design
CSEET '06 Proceedings of the 19th Conference on Software Engineering Education & Training
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
A Leveled Examination of Test-Driven Development Acceptance
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Experiences Using Automated 4ests and 4est Driven Development in Computer 9cience I
AGILE '07 Proceedings of the AGILE 2007
A survey of evidence for test-driven development in academia
ACM SIGCSE Bulletin
Test-driven design for introductory OO programming
Proceedings of the 40th ACM technical symposium on Computer science education
Test-driven data structures: revitalizing CS2
Proceedings of the 40th ACM technical symposium on Computer science education
Implications of integrating test-driven development into CS1/CS2 curricula
Proceedings of the 40th ACM technical symposium on Computer science education
Analysis of research into the teaching and learning of programming
ICER '09 Proceedings of the fifth international workshop on Computing education research workshop
Unit test support for Java via reflection and annotations
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
From phenomenography study to planning teaching
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
CodeWrite: supporting student-driven practice of java
Proceedings of the 42nd ACM technical symposium on Computer science education
Impact of test-driven development on productivity, code and tests: A controlled experiment
Information and Software Technology
On teaching arrays with test-driven learning in WebIDE
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
A fast measure for identifying at-risk students in computer science
Proceedings of the ninth annual international conference on International computing education research
A unit testing approach to building novice programmers' skills and confidence
ACE '11 Proceedings of the Thirteenth Australasian Computing Education Conference - Volume 114
An evaluation of interactive test-driven labs with WebIDE in CS0
Proceedings of the 2013 International Conference on Software Engineering
POPT: a problem-oriented programming and testing approach for novice students
Proceedings of the 2013 International Conference on Software Engineering
Considering rigor and relevance when evaluating test driven development: A systematic review
Information and Software Technology
Hi-index | 0.00 |
Coercing new programmers to adopt disciplined development practices such as thorough unit testing is a challenging endeavor. Test-driven development (TDD) has been proposed as a solution to improve both software design and testing. Test-driven learning (TDL) has been proposed as a pedagogical approach for teaching TDD without imposing significant additional instruction time. This research evaluates the effects of students using a test-first (TDD) versus test-last approach in early programming courses, and considers the use of TDL on a limited basis in CS1 and CS2. Software testing, programmer productivity, programmer performance, and programmer opinions are compared between test-first and test-last programming groups. Results from this research indicate that a test-first approach can increase student testing and programmer performance, but that early programmers are very reluctant to adopt a test-first approach, even after having positive experiences using TDD. Further, this research demonstrates that TDL can be applied in CS1/2, but suggests that a more pervasive implementation of TDL may be necessary to motivate and establish disciplined testing practice among early programmers.