Keywords :
object-oriented programming; systems analysis; design patterns; software design; system design; Art; Books; Design engineering; Educational institutions; Market research; Portable media players; Programming profession; Psychology; Software design; Technological innovation; computer science education; pattern languages; software design; software patterns;