Adopting XP practices for teaching object oriented programming

This paper reports on an Action Research project that investigated the effect of introducing a number of Extreme Programming (XP) practices as teaching techniques to introductory programming students. The focus of the study was on using the XP practices to assist students in an introductory programming subject develop object oriented programming skills, problem solving skills and teach them to become more self-sufficient in their learning. The research is concerned with applying several of the XP practices as a means of value-adding to current pedagogical approaches. The results from this first exploratory cycle have been mixed, but there have been enough positive results to feed forward into the next action research cycle.

[1]  Lynda Thomas,et al.  Learning styles and performance in the introductory programming sequence , 2002, SIGCSE '02.

[2]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.

[3]  William C. Wake,et al.  Extreme Programming Explored , 2001 .

[4]  Boby George,et al.  An initial investigation of test driven development in industry , 2003, SAC '03.

[5]  Martin Dick,et al.  Using Extreme Programming in a Capstone Project , 2004, ACE.

[6]  Colin J. Neill,et al.  The extreme programming bandwagon: revolution or just revolting? , 2003 .

[7]  Matthias M. Müller,et al.  Experiment about test-first programming , 2002, IEE Proc. Softw..

[8]  John T. Nosek,et al.  The case for collaborative programming , 1998, CACM.

[9]  Görel Hedin,et al.  Introducing software engineering by means of extreme programming , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[10]  Lynda Thomas,et al.  Code warriors and code-a-phobes: a study in attitude and pair programming , 2003 .

[11]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[12]  Stephen Marshall,et al.  Less Extreme Programming , 2004, ACE.

[13]  Marian Gheorghe,et al.  Teaching XP for Real: some initial observations and plans , 2001 .

[14]  Angela Carbone,et al.  Characteristics of programming exercises that lead to poor learning tendencies: Part II , 2001 .

[15]  Geoffrey E. Mills Action Research: A Guide for the Teacher Researcher , 1999 .

[16]  Kirsty Williamson Research Methods for Students, Academics and Professionals , 2002 .

[17]  T. Vidmar,et al.  Towards empirical evaluation of test-driven development in a university environment , 2003, The IEEE Region 8 EUROCON 2003. Computer as a Tool..

[18]  V. Jovanovic,et al.  Enhancing learning success in the introductory programming course , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[19]  John T. Nosek,et al.  The benefits of collaboration for student programmers , 1993, SIGCSE '93.

[20]  Miroslav Novak,et al.  A Practical Guide to eXtreme Programming , 2002 .

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

[22]  Robert R. Kessler,et al.  The collaborative software process(sm) , 2000 .

[23]  Eric N. Wiebe,et al.  On understanding compatibility of student pair programmers , 2004 .

[24]  Charles E. McDowell,et al.  Guidelines for the use of pair programming in a freshman programming class , 2002, Proceedings 15th Conference on Software Engineering Education and Training (CSEE&T 2002).

[25]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[26]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[27]  Laurie A. Williams,et al.  Adapting extreme programming for a core software engineering course , 2002, Proceedings 15th Conference on Software Engineering Education and Training (CSEE&T 2002).

[28]  F. Burstein,et al.  Chapter 2 – The two major traditions of research , 2002 .

[29]  L. Williams But, isn't that cheating? [collaborative programming] , 1999, FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011.

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

[31]  L. Williams The Collaborative Software Process , 1999 .

[32]  Angela Carbone,et al.  Characteristics of programming exercises that lead to poor learning tendencies: Part II , 2001, ITiCSE '01.