Programming –  coding – is a transversal discipline, based upon computational thinking. Programming is rather like having a superpower, which allows you to realize your ideas simply by giving step-by-step instructions to a programmable device (computer, robot), so that it does it for you. This superpower is not reserved to superheroes. Rather, it can be acquired by practicing coding.

Within our area – Astronomy and Astrophysics, where the concepts are often not so simple –  if you can program, this is a useful tool. Indeed, when you want to give life to an idea through coding, the basic concepts at the roots of that idea must be clear in our minds, so that we can clearly define the steps (i.e. algorythms) which the programmable device should follow. The exercise of programming allows us to dig deep – by raising doubts, proposing solutions, investigating possible roads, which you can follow to get to a solution – and inevitably leads to a better understanding of the concepts themselves. This is actually defined as computational thinking, fundamental in all areas of life, and at the roots of any research activity.

In this page, we have collected the links to various coding activities, which we prepared by using different tools. The activities can be either proposed in the schools, or may be made at home, on one’s own, or with the help of an adult. Each card will allow you to learn the basics of  programming, develop computational thinking, while at the same time learning interesting things of our Universe. Have fun!


Scratch is a visual programming environment, developed by the research group Lifelong Kindergarten at the Multimedia Lab of MIT, Boston, led by Mitchel Resnick. It is particularly suitable to teach the basics of programming to pupils, even the younger ones, to develop computational thinking, and problem-solving skills. It is also very useful for both teachers and parents, who can use it for teaching and entertaining projects, from Maths, to Science, History and Art, thus allowing the realization of simulations, animations, and simple games. The protagonists of programs developed with Scrath are called sprites, and Barbara Olmi has preparated some sprites, which you can download at this page.


Ozobot is a small robot endowed with optical sensors which make him capable of recognizing colours and move upon surfaces – both physical and digital – while following colour paths. It is very funny both to use it and to program it. Here are a few activities which we propose:


Arduino is a hardware platform composed of a series of  electronic boards equipped with a microcontroller, with which you can realize simple devices using sensors and actuatora. The board is combined with a development environment for programming the microcontrollwr. All the software is free, and all the activities you find here are free too.

Pixel Art

In order to represent images, computers need to build a grid and colour squares. They do not know how to do otherwise. Each square is a pixel. We define pixel art each drawing which highlights the checkered structure of the images, making them become small works of art. The smaller and more numerous the pixels, the less evident the grid, the more defined and continuous the image appears. We can use pixel art within coding unplugged, by giving children a “code”, defined as a sequence of colours and numbers, which represents the procedure for coloring the squares of a sheet, in order to obtain  a work of art. Even in this case, we have developed proposals which allow you to practice this form of coding unplugged while trying to involve pupils with fascinating topics of Astronomy and Astrophysics.

  • The Supernova Remnant Cassiopeia A
  • The message of Arecibo
  • The first picture of a black hole
  • Venere, our warm twin
  • Mars, the red Planet
  • Jupiter, the gaseous Giant
  • Saturn, The Lord of the rings