One of the main goals of Software Engineering (SE) courses is to train students to face problems that occur in professional contexts. Thus, software engineering courses have to be continuously reoriented to cater for the demands of the software industry without neglecting academic quality. The widespread use of Scrum, an agile approach to software development, provides SE professors with a suitable option for teaching students good practices of current software development. In the present paper, we introduce a teaching model based on a combination of Scrum and Agile Coaching. This innovative model, which has been contrasted with RUP (Rational Unified Process) and assessed, using CMMI (Capability Maturity Model Integration) as a reference, is a result of an evolutionary process in which several improvements were conducted during the academic period 2008/10. Results show that this agile approach allows students to develop software achieving high levels of CMMI maturity.