70 likes | 189 Views
Teaching Software Engineering using Globally Distributed Projects: The DOSE Course. Martin Nordio ETH Zurich Joint work with Carlo Ghezzi, Bertrand Meyer, Elisabetta Di Nitto , Giordano Tamburrelli , Julian Tschannen , Nazareno Aguirre and Vidya Kulkarni. The DOSE Course.
E N D
Teaching Software Engineering using Globally Distributed Projects: The DOSE Course Martin Nordio ETH Zurich Joint work with Carlo Ghezzi, Bertrand Meyer, Elisabetta Di Nitto, Giordano Tamburrelli, Julian Tschannen, Nazareno Aguirre and VidyaKulkarni
The DOSECourse • ETH Zurich • University of Zurich • Odessa National Polytechnic (Ukraine) • University of Nizhny Novgorod (Russia) • Politecnico di Milano (Italy) • University of Debrecen (Hungary) • Hanoi University of Technology (Vietnam) • University of Rio Cuarto (Argentina) • KAIST (Korea) • Wuhan University (China) • University of Delhi (India) 2007 2008 2009 2010 2
The Project Setting • Phases: • Phase 1: Requirements (4 weeks). • Phase 2: Interface specification (3 weeks). • Phase 3: Implementation (2 weeks). • Phase 4: Testing (2 weeks) • Project Organization • One group: 2-3 teams (in different locations) • One team: 2-4 students (in the same location) • One team implements one instance of the project 3
Project Example: DOSE 2009 Server Main GUI Net Tien Len Belot TschauSepp Rikiki Bura BriscolaChiamata Makao Scala 40 4
Assessment • Project outcome • 2007: 1 project succeeded – 4 projects failed (25 students) • 2008: 5 projects succeeded – 1 project failed (42 students) • 2009: 8 projects succeeded – 0 project failed (51 students) • 2010: 12 projects succeeded – 0 project failed (103 students) • Challenges • How to design an API? • We use contracts • Project setup: organization, grading • Project management • Communication and cultural differences • Students’ motivation 5
Lessons learned • Start the communication as early as possible • Define intermediate deadlines • Define a student project manager for each group • Define a project leader for each location (teaching assistants) • Meet the students weekly, and check project progress • It is about communication, communication, and communication 6
Difficulties (e-mails) Aleksey couldn't read any emails last week because his Internet cable had been stolen by a drunk bear. Why is Mitko getting errors while it compiles for me. I think that Mitko might be using an older compiler… There are compilation errors in the code of the teams BriscolaChiamata, Bura, Scala 40, and TschauSepp I'm sorry I could not make it to the implementation meeting yesterday. A water pipe in my apartment burst ... After some frantic hours of fixing and cleaning up, it is now more or less OK. Someone added a cluster but did not update the current project file which produced a broken build We cannot use Google Docs with the team in China