Most large research universities include a software design or software development course as a required or elective component of an undergraduate computer science major. For various reasons, some institutions, including many liberal arts colleges and primarily undergraduate institutions, do not. In this paper, we present a software design course, tailored to undergraduate computer science students within a liberal arts environment, based on the RoboCup soccer simulation platform. We describe the course curriculum and outline its goals, which student evaluations suggest it achieved. We also outline the features of our “NewKrislet” soccer player, which provides an elementary but sufficiently functional entry point to Robocup client design. Categories and Subject Descriptors K.3.2 [Computers and Education]: Computer and Information Science Education – computer science education, curriculum. General Terms Documentation, Design, Experimentation, Human Factors. Keywords Computer scien...