Lately I've been working through the Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman, to try to learn about programming and computer science.
I just finished section 2.2, where they introduce a "picture language" for making Escher-type designs from picture elements called painters. So I was inspired to try to make my own. I'm not sure if I could add colours to the pictures in the Scheme compiler I'm using so I made up analogous functions in Pygame (and then I added in the background gradient afterwards).