quinta-feira, 28 de outubro de 2021

EU Codeweek Podcast: Combining coding with the arts

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.

Toda a série de EU Code Week Podcasts está disponivel no Spotify. Participei no episódio Combining coding with the arts.

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.

domingo, 24 de outubro de 2021

EU Codeweek: Art Coding

Nesta atividade, os alunos de 5º ano do AEVP seguiram um guia para programar desenhos. Trabalharam sequências e ciclos, pensamento lógico, matemático e geométrico, bem como exploraram as estéticas da cor e variações introduzidas em padrões.

Não gosto muito de atividades com muita estruturação e guião passo a passo. Mas ouvir os gritos de excitação de turmas inteiras quando terminam os passos e começam a manipular os valores numéricos... compensa, diria. Temo é que goste demasiado de trabalhar com estes meninos.

Nesta atividade, usamos o Tynker como ambiente de programação.

sábado, 23 de outubro de 2021

EU Codeweek: Programação em Stop Motion

O desafio: Trabalhar o pensamento computacional através da introdução à programação, em colaboração com artes. Introduzir conceitos de programação (sequência, ciclo, evento), criando pequenos algoritmos que, ao serem executados, geram animações. 

É, em simultâneo, uma atividade de introdução à programação e uma experiência criativa. Insere-se nas atividades de TIC, como faísca de introdução ao pensamento computacional. É, também, atividade Codeweek. 

Tivemos ainda uma parceria com o Plano Nacional de Cinema da nossa escola. Na semana de 25 de outubro celebra-se o dia do cinema de animação, e entre as atividades previstas está a criação de taumatrópios pelos alunos do 5º ano. O primeiro projeto de programação destes meninos foi um taumatrópio virtual, programando os seus desenhos. 

Trabalhamos com dispositivos móveis, e o ambiente de programação usado para esta atividade é o Pocket Code. Em vídeo, alguns dos projetos programados pelos alunos.

sábado, 16 de outubro de 2021

Tynker: Desenhar com Programação

Para este desafio, vais precisar de utilizar a app Tynker, que podes descarregar para Android. Clica aqui: Tynker

Programar um Desenho

Para programar este desenho, terás de escolher um ator, e programá-lo para, primeiro, desenhar uma figura geométrica. Depois, usamos rotações e ciclos para gerar o padrão.

Neste vídeo, descobres como programar o teu desenho.

Exemplos de Código - Quadrado:

Para programar o quadrado, precisas de criar um evento (On Start), definir a posição inicial do teu ator (Go To) e ativar a caneta (Pen Down). Em seguida, vais definir o movimento do ator com blocos de movimento (Move) e rotação (Turn). Como o quadrado repete quatro vezes o mover e rodar 90 graus, usas um ciclo (Repeat) para programar sem ter de repetir os blocos de código desnecessariamente.

Exemplos de Código - Gerar Padrões

Nesta imagem, visualizas todo o código do programa. É simples - a seguir ao ciclo repete 4, vamos inserir mais uma rotação (Turn) e podemos também alterar as cores (Change Pen Colour). Colocamos tudo isto dentro de mais um ciclo (Repeat). 

Para garantir que o nosso desenho dá uma volta completa, podemos recorrer a uma operação matemática simples. Rodar significa deslocar-se 360º. Para saber quantas vezes temos de repetir o ciclo, basta dividir 360º pelo número de graus que indicámos na segunda rotação. Se dividirmos 360º por 5, obtemos 72, o número de vezes que o ciclo tem de repetir para dar a volta completa. Se variarmos o número de graus da segunda rotação, e dividirmos esse número por 360, vamos obter outros padrões visuais.

quinta-feira, 14 de outubro de 2021

EU Codeweek: Coding on Mobile Devices

Dia 13 de outubro, online, tive a oportunidade de partilhar a experiência que vou tendo com o Pocket Code no TeachMeet do Online Bootcamp da EU Codeweek. Todo o evento pode ser visto aqui: Online Bootcamp MOOC: Best practices in EU Code Week TeachMeet.

Coding on Mobile Devices: Fostering CT and Coding Skills Using Mobile Devices

Why? Part of my experience comes from pandemic restrictions, but using mobile devices in education is, for me, a locigal extension of computing modes. A smartphone, a tablet, is essentially a small yet powerful computer, that enables us to go beyond desktop and laptop’s restrictions. They're other mode of computing, which I believe we can harness to further spark our pupils skills and abilities. Remember: which is the device that is always in your pocket, or near you, that no one leaves home without? Also, it’s a personal device, intimate, an extension of your being. so, why not use it to create?

Why not? On the other hand, smartphones are small devices; they expand or complement, but do not substitute, computers. Small devices and screens always bring questions about body posture, or eye strain. That’s something that must not be overlooked. Some of the most popular coding environments do not fit into small screens - for exmaple, Code.org is hard to use; Scratch is unusable. Coding apps on app stores are mostly very basic, focusing too much on step by step games that teach coding concepts, but are not development environments that allow children to create their own algorithms.

Which apps? I’ve started a couple of years ago with Tynker, which translates very well the type of interface that Scratch got us used to to mobile devices. Still, lately, I’ve fell in love with Pocket Code as a coding environment for children using mobile devices. Why? It’s developed specifically to fit any screen, especially small screens. It’s also free, developed by teams of volunteers led by researchers at TU Graz.

Pocket Code: Pocket code works on most mobile devices ,regardless of screen size or OS (some older androids/iOs may be left out). It’s interface was specifically developed for mobile; makes regular use a somewhat clunky experience (always changing screens to access options, blocks, etc.). Adapts the blocks-based interface pioneered by Scratch and recognizes the phone’s sensors  - that means that coding projects can take advantage of mobile-specific technologies like gyroscope, compass, touchscreen, accelerometer, camera, and many others. It’s quite powerful, yet simple to use. The project als has a community component, projects can be shared online, downloaded and remixed. Unlike Scratch, the web version does not run any code, but it shows you the algorithm’s blocks. To be run, Pocket Code projects must always be downloaded to a mobile device.

domingo, 10 de outubro de 2021

Programa o Teu Foguetão (No Telemóvel)

Sábado, dia 9 de outubro, desenvolveu-se o workshop Programa o Teu Foguetão (no Telemóvel). Os participantes puderam experimentar a criação de um pequeno algoritmo para animar um foguetão, usando o ambiente Pocket Code.

A ideia partiu do Code Club Book of Scratch, que tem  um pequeno desafio com foguetões, que adaptei para o ambiente Pocket Code. A opção foi por uma abordagem muito diretiva, fazendo os participantes seguir as instruções de programação passo a passo. No final, não só finalizaram os passos esperados do programa, como ainda quiseram ir mais longe, e terminámos a mostrar como podem programar o telemóvel para reconhecer rostos no Pocket Code.

á vários anos que a Biblioteca Municipal Orlando Ribeiro em Telheiras é a casa do Fórum Fantástico, uma das mais antigas e persistentes convenções dedicadas à Ficção Científica, Fantasia e outros géneros do fantástico nas várias vertentes, entre literatura, banda desenhada, animação, cinema, jogos (vídeo e não só), cosplay e outras artes. É um ponto de encontro anual de fãs e criadores, com um forte sentido de comunidade. Temos desenvolvido para este evento, no âmbito da programação ligada ao público infanto-juvenil, algumas sessões sobre tecnologia, e este ano a ideia foi de criar um workshop rápido de introdução à programação e pensamento computacional. Daí o tema - o foguetão é um ícone clássico da ficção científica.

Este ano, com as restrições pandémicas, o potencial de participação estava muito reduzido, mas não deixou de ser um encantador momento com dois pequenos participantes, que saíram da sessão esfuziantes por terem conseguido programar o seu foguetão. 

Este foi um evento EU Codeweek 2021.

terça-feira, 5 de outubro de 2021

EU Codeweek: #ArtCoding


#ArtCoding: a challenge for everyone that feels that STEM needs the Arts. Why not use Codeweek as an opportunity to explore coding and robotics as artistic mediums? So, join us if your Codeweek challenges participants to create something, to code drawings using visual environments (Scratch, Pocket Code, Tynker and so on), Processing, P5.JS, turtle.py;  to build or program drawing and painting robots; manipulate or create intringuing images using AI; coding animations; explore 3D modeling and computational thinking; painting in VR. Join us with the Codeweek for All code, or, more importantly, share your students imaginative coding and other technology-mediated art projects using the #artcoding hashtag. Let's show how technology can create beautiful art?

Workshop 3D IV CNPI


Já se sentia a falta. Ontem, finalmente, iniciou-se o regresso às sessões presenciais com uma sessão sobre 3D. E, já que estamos a recomeçar e o grupo necessariamente pequeno, para manter as regras de segurança pandémica, a tentar fazer algo mais diferente. Em vez de workshop programado com algo específico, algo mais aberto, construído informalmente a partir das necessidades expressas pelo grupo.

Na pequena demonstração da tangibilização do 3D, não resisti a demonstrar o Espantoso Espantador de Crianças (E Adultos Também), porque é mais um exemplo de como o 3D se integra em projetos interdisciplinares, mesmo que sejam uma piada para despertar a atenção dos alunos pequenos.

O workshop decorreu na ES D. Dinis, como parte das atividades do IV Congresso Nacional de Professores de Informática dinamizado pela ANPRI.

Isso explica o regresso ao Tinkercad, uma plataforma sobre a qual já perdi o interesse. Pessoalmente, prefiro as plataformas para dispositivos móveis (3DC e Onshape) ou a flexibilidade artística do Sketchup. E os formandos também as descobriram, bem como o mundo da partilha de recursos do Sketchfab ao Scan the World. Mas, para iniciação, regressa-se ao Tinkercad para dar os primeiros passos na modelação. E, pelo caminho, perceber qual a relação entre a modelação 3D e o pensamento computacional.

Já fazia falta. Estes tempos de pandemia trouxeram a proximidade do digital, e espero que isso fique, há tanta coisa que faz mais sentido à distância ou em contextos mistos. A tradicional formação pós-laboral, por exemplo, beneficia imenso com o online, faz pouco ou nenhum sentido passar três horas mais o tempo de deslocação para o local para este tipo de formação. Mas o online per se não é o suficiente, e especialmente nota-se isso em sessões tipo workshop. Online, não passam de longas palestras em que o formador fala, mostra, demonstra, e os participantes assistem. Presencialmente, podem ser momentos de partilha mútua e interativa, mais do que um percurso fechado de aprendizagem. Ontem, passámos do telemóvel a dicas de configuração de impressão 3D. Informalmente, dialogando. Pessoalmente, estava a fazer-me falta.

sábado, 2 de outubro de 2021

Programar um Taumatrópio

Programar um Taumatrópio

Atividade desenvolvida em parceria com a equipe do Plano Nacional de Cinema. Tem como objetivos articular a disciplina de TIC com as vertentes culturais do PNC, aproveitando a animação simples como forma de introdução à programação e pensamento computacional através do desenvolvimento de pequenos algoritmos.

Vamos Programar uma Animação?

Um desafio: vamos criar um programa que imite no telemóvel o tipo de animação do Taumatrópio?

Neste vídeo, descobres como usar o Pocket Code para criar uma pequena animação. Vais necessitar de:

  • Ter instalado o Pocket Code no teu telemóvel ou tablet;
  • Criar um cenário (no exemplo, em branco, mas podes usar as cores que quiseres);
  • Criar uma personagem, quer seja desenhada por ti, ou importada da biblioteca do Pocket Code. Atenção: a personagem terá de ter pelo menos dois trajes.

Código da animação:

Aqui, podes visualizar os blocos que necessitas para criar esta animação.

O código é muito simples. Precisas de um ciclo Forever (Repete para Sempre), um bloco Próxima Aparência, e um bloco Aguarda ... Segundos.

Experimenta diferentes valores para o tempo, para que a tua animação corra mais depressa ou mais devagar.

O que é um Taumatrópio?

O que é um taumatrópio? Este antigo brinquedo óptico vem dos primórdios da animação e do cinema. Ao ser rodado, provoca no nosso olhar a impressão que duas figuras distintas se estão a mover. 

Queres aprender a construir um Taumatrópio?

É muito fácil. Precisas de uma cartolina recortada num círculo, elásticos, materiais riscadores para desenhar e pintar personagens, e de um furador para criar orifícios para inserir os elásticos. É muito simples construir um dos mais antigos dispositivos de animação. Os professores de Educação Visual podem ajudar-te!

Neste vídeo, podes descobrir um pouco mais sobre este instrumento, e ver como o construir.