Teaching Software Engineering through Robotics
This addresses the problem of teaching software engineering effectively to students in a robotics context, but it is incremental as it applies existing educational methods to a new domain.
The paper introduces a robotics programming course designed to teach software engineering principles like modularity and documentation through implementing core robotics algorithms, and reports that students gained understanding of these techniques based on survey and assignment analysis.
This paper presents a newly-developed robotics programming course and reports the initial results of software engineering education in robotics context. Robotics programming, as a multidisciplinary course, puts equal emphasis on software engineering and robotics. It teaches students proper software engineering -- in particular, modularity and documentation -- by having them implement four core robotics algorithms for an educational robot. To evaluate the effect of software engineering education in robotics context, we analyze pre- and post-class survey data and the four assignments our students completed for the course. The analysis suggests that the students acquired an understanding of software engineering techniques and principles.