The LilyPad Arduino: using computational textiles to investigate engagement, aesthetics, and diversity in computer science educa