Teaching software design and testing

This paper describes a course entitled "Software Design and Testing", covering both its conceptual design and the outcomes from teaching it. The course is normally taken in semester four of either a Bachelor of Information Technology or a Bachelor of Engineering (Software) degree program (both eight semesters in length). Students enter the course with some programming experience (in Smalltalk, Ada, C or Java) but without experience with programs of nontrivial size or with cooperative software development. Overall, students find this a challenging and demanding course that introduces them to many new ideas. They are required to work cooperatively in teams of three or four, with their final grade partly determined by team effectiveness. Although some students have difficulty working in a team, the overall effect is very positive. Many students acknowledge that they do not appreciate the potential difficulties of working in a team until they experience them first hand.

[1]  Terry Winograd,et al.  Bringing Design to Software , 1996 .

[2]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[3]  Marcia C. Linn,et al.  Case studies in the classroom , 1992, SIGCSE '92.

[4]  Ruth Malan,et al.  Object-oriented development at work: fusion in the real world , 1995 .

[5]  Robert L. Glass CREATIVITY AND SOFTWARE DESIGN: The Missing Link , 1992 .

[6]  David W. Johnson,et al.  Joining Together: Group Theory and Group Skills , 1975 .

[7]  R. W. Brown Autorating: getting individual marks from team marks and enhancing teamwork , 1995, Proceedings Frontiers in Education 1995 25th Annual Conference. Engineering Education for the 21st Century.

[8]  D. Carrington Time monitoring for students , 1998, FIE '98. 28th Annual Frontiers in Education Conference. Moving from 'Teacher-Centered' to 'Learner-Centered' Education. Conference Proceedings (Cat. No.98CH36214).

[9]  Paul Strooper,et al.  The communicating technologist: an educational challenge , 1995, Proceedings Frontiers in Education 1995 25th Annual Conference. Engineering Education for the 21st Century.

[10]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[11]  David Lorge Parnas,et al.  A Rational Design Process: How and Why to Fake It , 1985, TAPSOFT, Vol.2.