Imagine you want to develop a UI application, where you have to define some business objects and you want to view these business objects in different UIs for different users, e.g. take a bar chart, a pie and a table. You can interact with every kind of view, e.g. fill in the table, enlarge a bar with the mouse, etc. Every change in the view should change the model and every change of the model should be seen in every view, so we need something like a dependency mechanism. Explain which classes build the MVC framework and how the dependency mechanism works. Here we need at least one student acting as the model, one playing the view and one for the controller.
Messages go back and forth by throwing a soft ball between the students.
Present the students first with a completed source example and let them examine the code with the debugger. A more difficult example would be to let the students develop a small application for themselves. See, we have the need for the concept of ValueModels, which will start the next iteration of performing the pattern. This pattern shows students why somebody has introduced a particular software concept. Understanding the purpose of the concept motivates the students to know more about how this specific problem is solved.