A CSO class with heavy lab emphasis was developed at the University of Utah in the summer of 1998. It has been taught three times by different instructors to students who were diverse in background, gender, and skill level. The culmination of these efforts is a set of original labs which can be divided into several chronological categories: a gentle introduction, computation and events, interaction and graphical user interfaces, algorithms, object-oriented programming, and Java specific issues. These labs encompassed several themes which guided the curriculum in all three semesters: creativity, visual and interactive methods, and breadth. This paper is a combined summary of these experiences.