Computer is your paintbrush... use it. And so is your mobile phone! Conclui Arjana Blazic, no final de uma conversa sobre programação, arte e educação.
Foi um desafio intrigante, da EU Codeweek: participar num podcast sobre programação, robótica e educação, com foco na expressão artística. Deixo aqui as notas que preparei, mas como poderão constatar se ouvirem a conversa, seguiram-se outros caminhos. Nem o Anprino ficou para trás.
How to combine coding with arts?
If we are serious about the A in STEAM, I believe we must find ways to integrate technology and the arts that go beyond a superficial level, that of using digital tools to create traditional media analogues. Such as using image editing, image or video creation to create multimedia products. Or, using traditional arts and crafts techniques to embellish digital artefacts (like decorating robots using painted cardboard, ect). Not that these approaches are invalid. They can be very rich, challenge our students to understand digital tools as creative tools, empowering them in the process, as well as teaching them the importance of good design in digital spaces.
But, there are more depths in the arts field than just creating images, static or mobile. There are questions of aesthetics, meaning, feeling, what questioning the world and ourselves through art practices can teach us. In recent years, digital art has grown to be a critical way of engaging with the problematics induced by our tech-dependent society, its social, ethical, environmental problems.
So, coding can be a way to close the gap between arts practices and STEM, by using artistic expression in a deeper way than just ancillary decoration. Also, for those with arts inclinations, a way to understand coding as an artistic medium in itself, on a par with other media, digital or analog/traditional.
How has it started?
That’s the unexpected thing. Coding as art is nothing new. Its development parallels the development of computing. As early as the 50s and the 60s, there were computer scientists understanding that the images generated by graphical representations of algorithms had aesthetic values, as well as artists becoming interested in the possibilities of computing, algorithms and robotics as artistic media. Cybernetic Serendipity, the very first computer art show, showcasing only created by using computers, plotter or robotic mechanisms, was held in London, in 1968. So, as we can see, there’s a long tradition of computing and arts that pre dates our current digital media environment, where artists are experimenting with code, robotics, AI and other media to question our contemporary world.
Thing is, computer art (coding and other media) was not accepted by critics or the art establishment, viewed as too artificial, too mathematically inclined, too much science, too little art. Even today I feel there’s a stigma to digital arts practices, like a feeling of “oh, that’s just push-button art: open the software, click on a menu, and voilá, instant eye candy”. Still, as anyone that has experience in digital painting and illustration, image editing, or 3D modeling can attest, creating using digital tools is painstakingly intense work. It’s anything but push button.
What were mentionable projects?
Computer arts practitioners range wide and far, actually, From pure coding to robotics and AI, there are a lot of visually outstanding, rich art projects. I’d like to mention, essentially, what are known as the Algorists, a loose group of artists who researched deeply the frontiers of coding to generate art. Especially the touching colours of Vera Molnar and the deep abstractions of Roman Verostko and Manfred Mohr. Today, the field is widely known as Generative Art, focusing on using coding and mathematics to generate images.
The pioneering work of Harold Cohen and his AARON system, which began as what we would call today a paintbot/drawbot but evolved into an early AI image creation system. At first, Cohen would paint over AARONs creations, in an example of human-machine interaction in art.
I’m transfixed by the work of Refik Anadol, a multidisciplinary approach between AI, generative art and digital art.
Drawbots and paintbots are also very cool, especially in high autonomy mode or as collaborators, check the work of Sougwen Chung.
I could go on, but let me wrap this up by pointing to a portuguese digital artist, André Sier, whose generative code translates into visual experiences but also as tangible, 3D printed objects.
Also, Miguel Soares, a pioneer on 3D, video and computer art.
Need a cool way to find out about new projects and get inspired? I recommend following the hashtag algorithmicart on Instagram, always full of amazing artists and projects.
How can we integrate coding and arts in education?
The easiest way is by using Scratch or other visual coding tools that have a pen extension, and challenge students to explore drawing with code - starting with geometric shapes, introducing loops and randomizers, as well as different colours.
If you use Microbit boards in your class, you can take advantage of the led matrix to draw with code and light, challenging students to create their own icons, create animations using Makecode or Python. And since microbit also works with sounds (especially the v2, which incorporates a buzzer), you can extend all this creative coding to music.
A very cool way to integrate coding and arts is by using robots. Buy or build a drawbot, there are some commercial, off the shelf robots that include pen attachments, or scan Thingiverse or Instructables for DIY paintbots (it’s quite a long list). An easier way may be to tape a pen to a robot, or even (I’ve seen this done with ozobots and spheros), dip the robot in inks. The challenge is to explore coding the robots to create patterns, beginning with specific shapes and progressing into randomness or environmental interaction. If you don’t want to get your robots dirty with pens and inks, you can also use leds and long exposure photography, it’s quite easy to do using just smartphones.
Or… let the robot draw shapes and challenge the students to paint drawn areas (I’ve actually seen this in a kindergarten computational thinking project).
Finally, learn about Processing, which allows to explore coding beyond blocks based environments, and is a language specifically developed for artists.
How can we create a piece of art with a programming language?
I guess I’ve answered this one on the previous question… but, to recap: use a blocks coding environment who has a pen tool (alas, scratch has deprecated it, but lives as an extension); attach a pen/pencil to your favorite robot and code it to draw; light up leds and shoot them in long exposure, or create animation sequences in microbit or raspberry pi.
To go beyond coding shapes and randomness, check a Scratch Studio which collects generative art projects: run them, and look inside to see how they were made.
Well, one cool advice is to fire up a Processing coding environment - I prefer APDE, because I’m fascinated by mobile devices, and start sketching with code. Begin with the fill and ellipse commands (any Processing tutorial begins with this shape, it’s the hello world of this programming language) and keep going, writing code and seeing it transform into images, and, as you evolve in learning, animations or interactive pieces.
What projects were you working on concerning coding and arts?
Well, there’s this project you might have heard about, AstroPi? Where students can code apps that run in a Raspberry Pi with a SenseHat, to be run on the International Space Station? SenseHat is actually a very cool hardware extension, because it has a color led matrix. So, my robotics club students love to code the led matrix to display images and animation… pixel by pixel. They have fun, create art, learn coding and how to display colours with RGB values. Alas, they never did run code on the ISS…
If you’re using Micro:bit, a very cool starter project is learning how to use the led matrix, timing and loops to create animations. Goes a bit beyond the “lets learn to write our name”. Show the students how to light up leds using Makecode, and let them run with it.
I try to include arts in my teaching practices - I teach ICT to 10-12 years old students. So, when taking the first steps using a visual coding environment, one of the challenges I give to my students is to represent geometric shapes, and then tweak the code with loops to create abstract or optical patterns.
Less related to coding per se, but also looking at the relationship between arts and ICT, is using AI tools to create images. Nvidia GauGAN is the most popular tool amongst my pupils, they love to be able to generate realistic photos based on their sketch inputs.