Software engineering means applying engineering principles to software development. In the same way, agile software engineering means applying agile approaches to software engineering. Software engineering courses try to teach software development life cycle using project-based approaches. Also, they endeavor to include real life issues of software engineering to the courses. Moreover, they struggle to teach teamwork in software development because it is a requirement of the real life software development. In robotics education, competition-based learning is efficiently used for years. Competitions can be organized in teams and real-world issues can be simulated with them. In this work, a competition-based learning approach is applied in an agile software engineering course to increase the efficiency of teaching software engineering, and the results of the approach are presented. Real-world issues of agile software development are simulated using competition-based setting. (C) 2016 Wiley Periodicals, Inc.