The Software Factory: combining undergraduate computer science and software engineering education

Industry often complains that current university curricula fail to address the practical issues of real software development. This paper outlines a proposal for an innovative core curriculum for a Bachelor of Science in computer science. The proposed core curriculum contains elements of traditional computer science programs combined with software engineering via a team-oriented, hands-on approach to large-scale software development. In addition to traditional lecture/project/exam courses, students are required to take an eight-semester sequence of "Software Factory" courses. Software Factory courses put the students' newly acquired skills to work in a real software organization staffed and managed by all students in the program. Students from all courses in the Software Factory sequence meet simultaneously to fulfil their roles in the software organization. We expect the students will be better-prepared software engineering practitioners after completing a curriculum that combines traditonal courses with practical Software Factory experience.

[1]  Mary Shaw,et al.  Prospects for an engineering discipline of software , 1990, IEEE Software.

[2]  T. B. Hilburn,et al.  Software engineering education: a modest proposal , 1997 .

[3]  Theodoros N. Arvanitis,et al.  Preparing Students for Software Engineering , 1996 .

[4]  Gerald M. Powell,et al.  Achieving Synergy in Collaborative Education , 1997, IEEE Softw..

[5]  Norman E. Gibbs,et al.  The SEI education program: the challenge of teaching future software engineers , 1989, CACM.

[6]  Anthony I. Wasserman Toward a Discipline of Software Engineering , 1996, IEEE Softw..

[7]  Ray J. Dawson,et al.  Introducing new software engineering graduates to the 'real world' at the GPT company , 1992, Softw. Eng. J..

[8]  James J. Horning,et al.  Software Hut: A Computer Program Engineering Project in the Form of a Game , 1977, IEEE Transactions on Software Engineering.

[9]  Colin Potts,et al.  Learning by Doing: Goals & Experience of Two Software Engineering Project Courses , 1994, CSEE.

[10]  Neal S. Coulter,et al.  Current Practices, Culture Changes, and Software Engineering Education , 1994, Comput. Sci. Educ..

[11]  Ron W. Newsham,et al.  Introducing Software Engineers to the Real World , 1997, IEEE Softw..

[12]  James E. Tomayko,et al.  Agents of Change: Educating Software Engineering Leaders , 1997, Computer.

[13]  Donald J. Bagert A model for the software engineering component of a computer science curriculum , 1998, Inf. Softw. Technol..

[14]  Michael J. Lutz,et al.  Guidelines for Software Engineering Education Version 1.0 , 1999 .