Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1352135.1352315acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Test-driven learning in early programming courses

Published: 12 March 2008 Publication History

Abstract

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.

References

[1]
E. Allen, R. Cartwright, and B. Stoler. Drjava: a lightweight pedagogic environment for java. In SIGCSE '02: Proceedings of the 33rd SIGCSE technical symposium on Computer science education, pages 137--141, New York, NY, USA, 2002. ACM Press.
[2]
K. Beck. Extreme Programming Explained. Addison-Wesley Longman, Inc., 2000.
[3]
K. Beck. Test Driven Development: By Example. Addison-Wesley, 2003.
[4]
S. Edwards. Rethinking computer science education from a test-first perspective. In Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications: Educators' Symposium, pages 148--155, 2003.
[5]
S. H. Edwards. Using software testing to move students from trial-and-error to reflection-in-action. In SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education, pages 26--30, New York, NY, USA, 2004. ACM Press.
[6]
D. Janzen and H. Saiedian. Test-driven development: concepts, taxonomy and future directions. IEEE Computer, 38(9):43--50, Sept 2005.
[7]
D. Janzen and H. Saiedian. On the influence of test-driven development on software design. In Nineteenth Conference on Software Engineering Education & Training, pages 141--148. IEEE-CS, 2006.
[8]
D. Janzen and H. Saiedian. Test-driven learning: Intrinsic integration of testing into the cs/se curriculum. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, pages 254--258. ACM Press, 2006.
[9]
D. Janzen and H. Saiedian. A leveled examination of test-driven development acceptance. In ICSE '07: Proceedings of the 29th International Conference on Software Engineering, pages 719--722, Washington, DC, USA, 2007. IEEE Computer Society.
[10]
R. Jeffries and G. Melnik. Tdd - the art of fearless programming. IEEE Software, 24(3):24--30, 2007.
[11]
M. Kolling and J. Rosenberg. Guidelines for teaching object orientation with java. In Proceedings of the 6th Annual Conference on Innovation and Technology in Computer Science Education, pages 33--36. ACM Press, 2001.
[12]
J. Spacco, D. Hovemeyer, W. Pugh, J. Hollingsworth, N. Padua-Perez, and F. Emad. Experiences with marmoset: Designing and using an advanced submission and testing system for programming courses. In ITiCSE '06: Proceedings of the 11th annual conference on Innovation and technology in computer science education. ACM Press, 2006.
[13]
C. Wellington, T. Briggs, and C. D. Girard. Experiences using automated tests and test driven development in computer science i. In Agile 2007, pages 106--112, Washington, DC, USA, 2007. IEEE Computer Society.
[14]
L. Williams, M. Maximillien, and M. Vouk. A structured experiment of test-driven development. Information and Software Technology, 46(5):337--342, 2003.

Cited By

View all
  • (2023)Domain TILEs: Test Informed Learning with Examples from the Testing DomainResearch Challenges in Information Science: Information Science and the Connected World10.1007/978-3-031-33080-3_31(501-508)Online publication date: 23-May-2023
  • (2022)Function Names: Quantifying the Relationship Between Identifiers and Their Functionality to Improve ThemProceedings of the Ninth ACM Conference on Learning @ Scale10.1145/3491140.3528269(93-101)Online publication date: 1-Jun-2022
  • (2022)Software Practices For Agile Developers: A Systematic Literature Review2022 1st International Conference on Information System & Information Technology (ICISIT)10.1109/ICISIT54091.2022.9872874(238-243)Online publication date: 27-Jul-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '08: Proceedings of the 39th SIGCSE technical symposium on Computer science education
March 2008
606 pages
ISBN:9781595937995
DOI:10.1145/1352135
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 March 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cs1
  2. pedagogy
  3. test-driven development
  4. test-driven learning

Qualifiers

  • Research-article

Conference

SIGCSE '08

Acceptance Rates

Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE Virtual 2024
1st ACM Virtual Global Computing Education Conference
December 5 - 8, 2024
Virtual Event , NC , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)37
  • Downloads (Last 6 weeks)5
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Domain TILEs: Test Informed Learning with Examples from the Testing DomainResearch Challenges in Information Science: Information Science and the Connected World10.1007/978-3-031-33080-3_31(501-508)Online publication date: 23-May-2023
  • (2022)Function Names: Quantifying the Relationship Between Identifiers and Their Functionality to Improve ThemProceedings of the Ninth ACM Conference on Learning @ Scale10.1145/3491140.3528269(93-101)Online publication date: 1-Jun-2022
  • (2022)Software Practices For Agile Developers: A Systematic Literature Review2022 1st International Conference on Information System & Information Technology (ICISIT)10.1109/ICISIT54091.2022.9872874(238-243)Online publication date: 27-Jul-2022
  • (2022)Student Persistence in the Use of Test Driven Development2022 International Conference on Computational Science and Computational Intelligence (CSCI)10.1109/CSCI58124.2022.00363(2023-2027)Online publication date: Dec-2022
  • (2021)PuzzleMe: Leveraging Peer Assessment for In-Class Programming ExercisesProceedings of the ACM on Human-Computer Interaction10.1145/34795595:CSCW2(1-24)Online publication date: 18-Oct-2021
  • (2021)Gamifying Software Engineering Tools to Motivate Computer Science Students to Start and Finish Programming Assignments EarlierIEEE Transactions on Education10.1109/TE.2021.306994564:4(423-431)Online publication date: 1-Nov-2021
  • (2021)Software Testing Education Experiences Using Collaborative PlatformsSmart Education and e-Learning 202110.1007/978-981-16-2834-4_13(149-159)Online publication date: 6-Jun-2021
  • (2020)Improving students' testing practicesProceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings10.1145/3377812.3381401(218-221)Online publication date: 27-Jun-2020
  • (2020)Teaching Practices of Software Testing in Programming Education2020 IEEE Frontiers in Education Conference (FIE)10.1109/FIE44824.2020.9274256(1-9)Online publication date: 21-Oct-2020
  • (2020)Plagiarism detection based on blinded logical test automation results and detection of textual similarity between source codes2020 IEEE Frontiers in Education Conference (FIE)10.1109/FIE44824.2020.9274098(1-9)Online publication date: 21-Oct-2020
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media