Using Continuous Integration of Code and Content to Teach Software Engineering with Limited Resources
Previous courses addressing the gap between student and professional programming practice have either isolated small groups’ development in such a way that larger scale difficulties that motivate many professional practices do not arise, or have required significant additional staffing that would be expensive to provide in a large cohort core undergraduate software engineering course. We describe the first iteration of a course that enabled 73 students to work together to improve a large common legacy code base using professional practices and tools, staffed only by two lecturers and two undergraduate students employed as part-time tutors. The course relies on continuous integration and automated metrics, that coalesce frequently updated information in a manner that is visible to students and can be monitored by a small number of staff. The course is supported by a just-in-time teaching programme of thirty-two technical topics. We describe the constraints that determined the design of the course, and quantitative and qualitative data from the first iteration of the course.
Keywords: software studio, software engineering education, continuous integration
|Conference/location:||International Conference on Software Engineering (ICSE)|