A preliminary review of undergraduate programming students' perspectives on writing tests, working with others, & using peer testing

Techniques such as Pair Programming, or allowing students to run their programs against a reference test harness, have demonstrated their effectiveness in improving grades or retention rates. This paper proposes to supplement the existing literature by investigating students' perceptions of the benefits of writing tests, working with other students and using Peer Testing. Responses to an online anonymous survey cast new light on the relation between testing and programming and confirm previously postulated limitations of collaborative approaches; i.e. the unbalanced nature of contributions and lack of didactic interactions in student groups. We then examine how Peer Testing is perceived and discuss its relation to both collaboration and test-based pedagogies.

[1]  Abdel Ejnioui,et al.  Role of the C language in current computing curricula part 1: survey analysis , 2007 .

[2]  Andrew K. Lui,et al.  Saving weak programming students: applying constructivism in a first programming course , 2004, SGCS.

[3]  Alessio Gaspar,et al.  Constructivist Apprenticeship through Antagonistic Programming Activities , 2009 .

[4]  Alessio Gaspar,et al.  Restoring "coding with intention" in introductory programming courses , 2007, SIGITE '07.

[5]  David S. Janzen,et al.  A survey of evidence for test-driven development in academia , 2008, SGCS.

[6]  L. S. Vygotskiĭ,et al.  Mind in society : the development of higher psychological processes , 1978 .

[7]  Amber Settle,et al.  Testing first: emphasizing testing in early programming courses , 2005, ITiCSE '05.

[8]  Stephen H. Edwards,et al.  Running students' software tests against each others' code: new life for an old "gimmick" , 2012, SIGCSE '12.

[9]  Tom Wulf,et al.  Constructivist approaches for teaching computer programming , 2005, SIGITE '05.

[10]  Tim Wahls,et al.  The Case for Pair Programming in the Computer Science Classroom , 2011, TOCE.

[11]  L. Vygotsky Mind in Society: The Development of Higher Psychological Processes: Harvard University Press , 1978 .

[12]  Stephen H. Edwards,et al.  Improving student performance by evaluating how well students test their own programs , 2003, JERC.

[13]  Paul J. Deitel,et al.  C how to program , 1994 .

[14]  Stephen H. Edwards Using software testing to move students from trial-and-error to reflection-in-action , 2004 .

[15]  Michael H. Goldwasser A gimmick to integrate software testing throughout the curriculum , 2002, SIGCSE '02.

[16]  Alessio Gaspar,et al.  An experience report on improving constructive alignment in an introduction to programming , 2012 .

[17]  Alessio Gaspar,et al.  Active learning in introductory programming courses through Student-led “ live coding ” and test-driven pair programming , 2007 .