My colleague at our sister high school suggested a graphical cityscape lab for AP Computer Science. The purpose of the lab is for students to demonstrate that they can design and implement classes to achieve encapsulation and reuse. The cityscape lab requires students to design and implement at least three classes and then instantiate several objects of these classes to build a cityscape. As always, some student finish the minimum requirements sooner than others. I challenged these students to add an element of randomness or animation to their cityscape. The following is one of my favorites.