skip to main content
10.1145/3300115.3309516acmconferencesArticle/Chapter ViewAbstractPublication PagescompedConference Proceedingsconference-collections
research-article

Does Creating Programming Assignments with Tests Lead to Improved Performance in Writing Unit Tests?

Published:09 May 2019Publication History

ABSTRACT

We have constructed a tool, CrowdSorcerer, in which students create programming assignments, their model solutions and associated test cases using a simple input-output format. We have used the tool as a part of an introductory programming course with normal course activities such as programming assignments and a final exam. In our work, we focus on whether creating programming assignments and associated tests correlate with students' performance in a testing-related exam question. We study this through an analysis of the quality of student-written tests within the tool, measured using the number of test cases, line coverage and mutation coverage, and students' performance in testing related exam question, measured using exam points. Finally, we study whether previous programming experience correlates with how students act within the tool and within the testing related exam question.

References

  1. Elena Garc'ia Barriocanal, Miguel-Ángel Sicilia Urbán, Ignacio Aedo Cuevas, and Paloma Diaz Pérez. 2002. An experience in integrating automated unit testing practices in an introductory programming course. ACM SIGCSE Bulletin, Vol. 34, 4 (2002), 125--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Susan Bergin and Ronan Reilly. 2005. Programming: Factors that Influence Success. In SIGCSE '05 Proceedings of the 36th SIGCSE technical symposium on Computer science education. ACM, 411--415. http://eprints.maynoothuniversity.ie/8209/ Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Barry W. Boehm. 1984. Software Engineering Economics. IEEE Trans. Softw. Eng., Vol. 10, 1 (Jan. 1984), 4--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. David Carrington. 1996. Teaching Software Testing. In Proceedings of the 2Nd Australasian Conference on Computer Science Education (ACSE '97). ACM, New York, NY, USA, 59--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ruth C Clark, Frank Nguyen, and John Sweller. 2006. Efficiency in learning: Evidence-based guidelines to manage cognitive load .Pfeiffer, John Wiley & Sons.Google ScholarGoogle Scholar
  6. Benjamin S. Clegg, José Miguel Rojas, and Gordon Fraser. 2017. Teaching Software Testing Concepts Using a Mutation Testing Game. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering and Education Track (ICSE-SEET '17). IEEE Press, Piscataway, NJ, USA, 33--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. Cowling. 2012. Stages in teaching software testing. In 2012 34th International Conference on Software Engineering (ICSE). 1185--1194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Paul Denny, Diana Cukierman, and Jonathan Bhaskar. 2015. Measuring the Effect of Inventing Practice Exercises on Learning in an Introductory Programming Course. In Proceedings of the 15th Koli Calling Conference on Computing Education Research (Koli Calling '15). ACM, New York, NY, USA, 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Paul Denny, Andrew Luxton-Reilly, Ewan Tempero, and Jacob Hendrickx. 2011. CodeWrite: Supporting Student-driven Practice of Java. In Proceedings of the 42Nd ACM Technical Symposium on Computer Science Education (SIGCSE '11). ACM, New York, NY, USA, 471--476. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Stephen H. Edwards. 2003. Improving Student Performance by Evaluating How Well Students Test Their Own Programs. J. Educ. Resour. Comput., Vol. 3, 3, Article 1 (Sept. 2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Stephen H. Edwards and Zalia Shams. 2014. Comparing Test Quality Measures for Assessing Student-written Tests. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion 2014). ACM, New York, NY, USA, 354--363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Dianne Hagan and Selby Markham. 2000. Does It Help to Have Some Programming Experience Before Beginning a Computing Degree Program?. In Proceedings of the 5th Annual SIGCSE/SIGCUE ITiCSE conference on Innovation and Technology in Computer Science Education (ITiCSE '00). ACM, New York, NY, USA, 25--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. David Janzen and Hossein Saiedian. 2008. Test-driven Learning in Early Programming Courses. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '08). ACM, New York, NY, USA, 532--536. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Vesa Lappalainen, Jonne Itkonen, Ville Isomöttönen, and Sami Kollanus. 2010. ComTest: a tool to impart TDD and unit testing to introductory level programming. In Proceedings of the fifteenth annual conference on Innovation and technology in computer science education. ACM, 63--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Andrew Luxton-Reilly, Daniel Bertinshaw, Paul Denny, Beryl Plimmer, and Robert Sheehan. 2012a. The Impact of Question Generation Activities on Performance. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 391--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Andrew Luxton-Reilly, Paul Denny, Beryl Plimmer, and Robert Sheehan. 2012b. Activities, Affordances and Attitude: How Student-generated Questions Assist Learning. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE '12). ACM, New York, NY, USA, 4--9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Will Marrero and Amber Settle. 2005. Testing First: Emphasizing Testing in Early Programming Courses. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE '05). ACM, New York, NY, USA, 4--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Glenford J. Myers. 1979. Art of Software Testing .John Wiley & Sons, Inc., New York, NY, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Nea Pirttinen, Vilma Kangas, Irene Nikkarinen, Henrik Nygren, Juho Leinonen, and Arto Hellas. 2018a. Crowdsourcing Programming Assignments with CrowdSorcerer. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2018). ACM, New York, NY, USA, 326--331. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Nea Pirttinen, Vilma Kangas, Henrik Nygren, Juho Leinonen, and Arto Hellas. 2018b. Analysis of Students' Peer Reviews to Crowdsourced Programming Assignments. In Proceedings of the 18th Koli Calling International Conference on Computing Education Research. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Christopher Watson, Frederick W.B. Li, and Jamie L. Godwin. 2014. No Tests Required: Comparing Traditional and Dynamic Predictors of Programming Success. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE '14). ACM, New York, NY, USA, 469--474. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Susan Wiedenbeck, Deborah Labelle, and Vennila N. R. Kain. 2004. Factors Affecting Course Outcomes in Introductory Programming. (05 2004), 97--110.Google ScholarGoogle Scholar
  23. Brenda Cantwell Wilson and Sharon Shrock. 2001. Contributing to Success in an Introductory Computer Science Course: A Study of Twelve Factors. In Proceedings of the Thirty-second SIGCSE Technical Symposium on Computer Science Education (SIGCSE '01). ACM, New York, NY, USA, 184--188. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Does Creating Programming Assignments with Tests Lead to Improved Performance in Writing Unit Tests?

          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
            CompEd '19: Proceedings of the ACM Conference on Global Computing Education
            May 2019
            260 pages
            ISBN:9781450362597
            DOI:10.1145/3300115

            Copyright © 2019 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 the author(s) 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: 9 May 2019

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            CompEd '19 Paper Acceptance Rate33of100submissions,33%Overall Acceptance Rate33of100submissions,33%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader