We describe a curriculum for a two-semester course sequence in hardware-software development, taking students through a complete development cycle of the various capabilities for an autonomous mobile robot. The experience of these courses has led to insights in teaching large-scale system development, especially with respect to software-intensive courses.