A framework for teaching software development methods

This article presents a study that aims at constructing a teaching framework for software development methods in higher education. The research field is a capstone project-based course, offered by the Technion's Department of Computer Science, in which Extreme Programming is introduced. The research paradigm is an Action Research that involves cycles of data collection, examination, evaluation, and application of results. The research uses several research tools for data gathering, as well as several research methods for data interpretation. The article describes in detail the research background, the research method, and the gradual emergence process of a framework for teaching software development methods. As part of the comprehensive teaching framework, a set of measures is developed to assess, monitor, and improve the teaching and the actual process of software development projects.

[1]  Orit Hazzan,et al.  Teaching a software development methodology: the case of extreme programming , 2003, Proceedings 16th Conference on Software Engineering Education and Training, 2003. (CSEE&T 2003)..

[2]  H. B. English Resolving social conflicts. , 1949 .

[3]  Jere Confrey,et al.  A Theory of Intellectual Development , 1995 .

[4]  Orit Hazzan,et al.  Roles in Agile Software Development Teams , 2004, XP.

[5]  T. Cook,et al.  Qualitative and quantitative methods in evaluation research , 1981 .

[6]  M. Patton Qualitative evaluation and research methods, 2nd ed. , 1990 .

[7]  Sarah Kuhn The Software Design Studio: An Exploration , 1998, IEEE Softw..

[8]  Orit Hazzan,et al.  The reflective practitioner perspective in software engineering education , 2002, J. Syst. Softw..

[9]  Orit Hazzan,et al.  Using a role scheme to derive software project metrics , 2006, J. Syst. Archit..

[10]  Grigori Melnik,et al.  Introducing Agile Methods in Learning Environments: Lessons Learned , 2003, XP/Agile Universe.

[11]  Robert Cartwright,et al.  Production programming in the classroom , 2003, SIGCSE.

[12]  M. Patton,et al.  Qualitative evaluation and research methods , 1992 .

[13]  Richard Gisselquist Engineering in software , 1998, CACM.

[14]  Robert B. Davis,et al.  Constructivist Views on the Teaching and Learning of Mathematics , 1990 .

[15]  James E. Tomayko,et al.  Carnegie Mellon's software development studio: a five year retrospective , 1996, Proceedings of 9th Conference on Software Engineering Education.

[16]  Orit Hazzan,et al.  eXtreme programming as a framework for student-project coaching in computer science capstone courses , 2003, Proceedings 2003 Symposium on Security and Privacy.

[17]  Bertrand Meyer,et al.  Software Engineering in the Academy , 2001, Computer.

[18]  M. Lecompte The Handbook of Qualitative Research in Education , 1993 .

[19]  Kurt Lewin,et al.  Resolving social conflicts : selected papers on group dynamics , 1948 .

[20]  Jeremy Kilpatrick What constructivism might be in mathematics education , 1987 .

[21]  P. Brink On reliability and validity in qualitative research. , 1987, Western journal of nursing research.

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

[23]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[24]  Jere Confrey,et al.  A Theory of Intellectual Development: Part 1. , 1994 .

[25]  James E. Tomakyo,et al.  Human Aspects of Software Engineering , 2005 .

[26]  Peter J. Denning,et al.  Educating a new engineer , 1992, CACM.

[27]  Anselm L. Strauss,et al.  Qualitative Analysis For Social Scientists , 1987 .

[28]  R. W. Revans,et al.  ABC of Action Learning , 1998 .