In this paper, we present an assignment for a course on Design patterns at the masters level, where students have to adapt an existing program to meet additional requirements. We describe the basic program, discuss the reasons why we decided for such an assignment, and show the results. The assignment proved to be very effective both to train students to work with design patterns and to assess that students have reached the learning goals. This was true both for students with a professional background and for students with academic interests. Categories and Subject Descriptors K.3.1 [Computers and education]: Computer uses in education – Distance learning. K.3.2 [Computers and education]: Computer and information science education – Computer science education. D.3.3 [Programming languages]: Language constructs and features – Patterns. D.2.7 [Software engineering]: Distribution, Maintenance, and Enhancement –