In this lab, students work to create a 'painting' program. The Java program must use variables and methods to store values and perform actions, respectively, for painting. To abstract this idea beyond custom methods, students must create interfaces. Specifically, students are to create an interface where the user can (and must) implement all methods in that interface.
Group Students by Level of Experience with CS when distributing this activity to reduce the potential for some students to feel isolated or intimidated.
Provides Effective Encouragement by including adequate supports and resources within the assignment for students to feel confident completing the activities. Uses a real-world scenario (painting in various situations) to Employ Meaningful and Relevant Content.