In this chapter, you've learned how virtually any programming problem can be summarized with five simple steps. You've also seen how you can use these five steps as a starting point for designing your own programs. You saw how a sideways refinement of each step could be used to add detail to a program design. Finally, we used a UML class diagram as a more conventional methodology to think about program design.
Take a few moments to think about classes and objects. If you can, think of a class you'd like to have and use the five program steps to outline its design. Having done that, convert that design into a UML class diagram. Think about the interface you've created with the design and ask yourself whether it's complete enough to perform the task of the class, but simple enough to be used easily. These are the types of questions you should always ask yourself over and over during the design process.
Class and program design gets easier as you gain experience doing it. Although this may seem like alchemy right now, you'll probably grow to enjoy it over time!