skip to main content
10.1145/1508865.1508921acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Implications of integrating test-driven development into CS1/CS2 curricula

Authors Info & Claims
Published:04 March 2009Publication History

ABSTRACT

Many academic and industry professionals have called for more testing in computer science curricula. Test-driven development (TDD) has been proposed as a solution to improve testing in academia. This paper demonstrates how TDD can be integrated into existing course materials without reducing topic coverage. Two controlled experiments were conducted in a CS1/CS2 course in Winter 2008. Following a test-driven learning approach, unit testing was introduced at the beginning of the course and reinforced through example. Results indicate that while student work loads may increase with the incorporation of TDD, students are able to successfully develop unit tests while learning to program.

References

  1. E. Barriocanal, M. Urban, I. Cuevas, and P. Perez. An Experience in Integrating Automated Unit Testing Practices in an Introductory Programming Course. ACM SIGCSE Bulletin, 34(4):125--128, December 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Desai, D. Janzen, and K. Savage. A survey of evidence for test-driven development in academia. ACM SIGCSE Bulletin, 40(2):97--101, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Edwards. Using Test-Driven Development in the Classroom: Providing Students with Automatic, Concrete Feedback on Performance. In Proc. Int'l Conf. on Education and Information Systems: Technologies and Applications (EISTA), August 2003.Google ScholarGoogle Scholar
  4. S. Edwards. Using Software Testing to Move Students from Trial-and-Error to Reflection-in-Action. ACM SIGCSE Bulletin, 36(1):26--30, March 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Erdogmus, M. Morisio, and M. Torchiano. On the Effectiveness of the Test-First Approach to Programming. IEE Trans. Software Eng., 31(3):226--237, March 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Janzen and H. Saiedian. Test-Driven Development: Concepts, Taxonomy, and Future Direction. IEEE Computer, 38(9):43--50, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Janzen and H. Saiedian. Test-Driven Learning: Intrinsic Integration of Testing into the CS/SE Curriculum. In Proc. 37th Technical Symposium on Computer Science Education (SIGCSE), pages 254--258, ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Janzen and H. Saiedian. Test-Driven Learning in Early Programming Courses. In Proc. 38th Technical Symposium on Computer Science Education (SIGCSE), pages 532--536, ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Jeffries and G. Melnik. TDD: The Art of Fearless Programming. IEEE Software, 24(3):24--30, May-June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Keefe, J. Sheard, and M. Dick. Adopting XP Practices for Teaching Object Oriented Programming. In Proc. 8th Australian Conf. Computing Education, volume 52, pages 91--100, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Müller and W. Tichy. Case Study: Extreme Programming in a University Environment. In Proc. 23th Int'l Conf. on Software Eng. (ICSE), pages 537--544, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. Shepard, M. Lamb, and D. Kelly. More Testing Should be Taught. Commun. ACM, 44(6):103--108, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Yenduri and L. Perkins. Impact of Using Test-Driven Development: A Case Study. Software Engineering Research and Practice, pages 126--129, 2006.Google ScholarGoogle Scholar

Index Terms

  1. Implications of integrating test-driven development into CS1/CS2 curricula

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              SIGCSE '09: Proceedings of the 40th ACM technical symposium on Computer science education
              March 2009
              612 pages
              ISBN:9781605581835
              DOI:10.1145/1508865

              Copyright © 2009 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 4 March 2009

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate1,595of4,542submissions,35%

              Upcoming Conference

              SIGCSE Virtual 2024
              SIGCSE Virtual 2024: ACM Virtual Global Computing Education Conference
              November 30 - December 1, 2024
              Virtual Event , USA

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader