Today’s software projects are often distributed across multiple locations. This distribution poses new challenges produced by the cooperation across different countries, times zones, and cultures. Software engineering courses have to prepare students accordingly. This paper reports an experience on teaching a distributed software engineering course. In this course, students develop software in collaboration with five universities located in Italy, Hungary, Russia, Switzerland, and Ukraine. The projects allow students to face the difficulties of developing software in a globalized context, and provide a practical experience on distributed software engineering. We describe the major obstacles to organize such a course, and we suggest best practices to achieve successful outcome. Categories and Subject Descriptors D.2.9 [Software Engineering]: Management – life cycle, productivity, programming teams, cost estimation, software quality assurance. General Terms Management, Documentation...