To teach to and with machines

Immagine decorativa - Illustrazione artistica di una IAArtificial intelligence and didactics: an impossible combination? In Scuola di Robotica we believe that it could be possible. We imagine that Artificial Intelligence can be a valuable didactic tool. In fact, it is possible to use it – even in a simple and accessible way for everyone – to create fun, motivating and interactive lessons. In this way, you can do didactics and simultaneously explore the concepts of Artificial Intelligence and Machine Learning.

AI is among us, in our daily lives. It is used in our automatic correctors, face recognition systems, voice recognition systems, cameras, voice assistants and so on. It is therefore essential to provide to our students enough knowledge and tools so that they can become active and aware users of the technology around us.

Before looking at the didactic applications of AI, however, we will try to frame them from a technical and conceptual point of view.

What is Artificial Intelligence?

According to the Encyclopedia of Science and Technology (2008) Treccani (Online – ITA) “Artificial intelligence studies the theoretical foundations, methodologies and techniques that allow the design of hardware systems and software programs to provide to computers performances that, to a common observer, would seem to be of exclusive relevance to human intelligence.”. It is, in fact, the science that tries to make computers able to emulate human thought. However, nowadays, we commonly refer to IA-equipped machines as machines capable of learning, even if the topic is actually much broader.

The methods to realise an AI are many, and in this article, we do not intend – nor can we – be exhaustive. We will give some examples of AI, and we will discuss why we use them and how they can be useful to us, even in education. We will start with problems that do not need AI to be solved, and then we will move to Machine Learning: one of the strategies with which it is possible to realise AI. As the article progresses, we will follow a path partially trough the logical and historical thread of the evolution of AI. We will neglect, for simplicity, many aspects. These can be explored in-depth on external sources or in future articles.

What is Artificial Intelligence used for?

Why do we need Artificial Intelligence algorithms? Let’s focus on systems that operate in only one specific field: specialised AI. These provide us with real help whenever we want to solve problems that are too complex for regular programming.

As an example, let’s think about some games, and evaluate how it is possible to program a machine able to play them. This idea can be extended in a similar way to other examples.

First of all: we do not always need Artificial Intelligence

Let’s take in analysis the Rubik’s cube in its classic 3×3 version.

Immagine decorativa e illustrativa - Un cubo di Rubik 3 per 3

To solve this problem does exist some algorithms (ITA). This means that a sequence of steps that if followed, leads to the solution is known. It has also been shown that, from any starting position, it is possible to solve the problem in less than 20 steps. In this case, we do not need an Artificial Intelligence system: known and efficient algorithms are available.

When do we not have an algorithm?

Immagine decorativa - Pedine degli scacchiLet’s think about the game of chess. In this case, a simple solving algorithm is unknown. We cannot, therefore, write a program that inevitably leads to the solution of the problem. Some solving software analyses, given a player’s move, the list of possible next actions. That is, they evaluate the paths that can conduct to winning the game. If we analyse all the combinations, we will always know which sequence is winning (an approach called “brute force” or in the case of games or similar systems min-max).

In reality, it is impossible to realise, due to the immense number of possible moves, a software able to analyse all the possible combinations. A solution is to consider only a part of it, and not until the end of the match. The program will have to evaluate which are the most promising choices thanks to statistical analysis.

Starting from these considerations, we can realise algorithms that tend to be efficient and to give the idea of “intelligent” actions. Just these approaches are effective in playing chess, as well as in solving other problems. Suffice it to note that on March 11, 1997, ended the last game of a chess match between the then world champion Garry Kasparov and the IBM Deep Blue computer. It was the first game in which a machine was able to defeat a world champion in a regular tournament.

Extending this reasoning outside the games, there are many situations in which statistical and probabilistic analyses allow the solution, or the approximate solution, of a problem.

There are also other ways

Immagine decorativa - Una scacchiera del Go

There are, however, classes of problems that cannot be solved by algorithms, brute force or statistics. Usually, it happens because the algorithms are unknown or too complicated and inefficient. In the case of games, we can think of the Chinese game Go (圍棋).

In all these situations, you need to take advantage of other approaches to Artificial Intelligence, such as neural networks or trained Artificial Intelligence. These are not explicitly programmed to solve the problem but are programmed to simulate the behaviour of neurons or to learn.

We now focus on systems that can learn. Although this is a reductive idea of AI, nowadays people tend to imagine AI as such systems. In this context, “learning” means improving one’s performance while acting or with experiences.

Machine Learning

These methods are so-called Machine Learning or Automatic Learning. This is one of the many ways in which we can design Artificial Intelligence systems, and is particularly useful and widely used today. Machine Learning can be achieved in several ways; let’s focus on what is called “supervised learning”, which is familiar and more comfortable to imagine.

In this case, examples are given to the machine and associated with what you want to achieve in output. Suppose you want to recognise/categorise images. Using ML, you can provide to the device several example images and the respective categories in which they must be inserted. The machine then extracts autonomously some rules that associate the inputs (photo) to the output (class). Once the rules are obtained, then, the machine will also be able to use them for subsequent inputs (new images).

We can imagine it as the method by which a child learns to explore the world. Suppose he/she sees a new object for the first time. Let’s imagine it is a bottle. Suppose, now, someone tells the child: “This is a bottle”. He/she will analyse it and discover it, and the next time he sees the same object, he will be able to recognise it again. Evidently, however, the bottles are not all the same, so he will not be able to identify every type of bottle. However, if we give him/her enough examples of different bottles, he will be able to recognise each type.

Introducing Artificial Intelligence and Machine Learning in Education

Speaking of ML, you can try to use the Google Teachable Machine. Using this software, you can discover and explore the world of machine learning. The same approach can also be used with an extension of mBlock 5, software derived from Scratch. In mBlock, you can train a machine to recognise images, and then associate to a recognition an action of a sprite or a robot. Both software can be used both in ordinary teaching, but mainly to introduce machine learning.

Another interesting method to introduce ML in education is to use Quick, Draw! software. You can use it to introduce the concept of categorisation and automatic learning. Also, you can see all the examples with which the machine has been trained. The same experiment can also be used to think about language, communication and iconography, and how the representation of a concept is also dependent on culture and society.

If these are activities in which we train an algorithm, we can also use others where the machine is already trained, and we use its capabilities. We can use systems that can recognise texts or images, as well as interpreters and voice assistants. There are also many experiments offered by Google in addition to the Teachable Machine and Quick, Draw!

Among many, why not use Machine Learning to discover recurring figures in Japanese scrolls and screens with Beyond Scrolls & Screens? Or why not take a history lesson and talk about Ancient Egypt, discussing hieroglyphics, how they are studied and how they were made and interpreted, with a dedicated experiment? Still, we can make a music lesson, where we write a melody on a stave. A Machine Learning system will harmonise it, inspired by Bach’s style with Assisted Melody.

Ethics and society

Let’s remember, however, that there are many ethical, legal and social implications related to the use of machines (refer, as an example, to this article about ethics and roboethics by Gianluca Pedemonte). Based on these, we can ask our students to carry out research or to elaborate a thought or a debate about them. We provide some ideas, but many others can be imagined.

  • Can we define a machine actually “intelligent“?
  • Can we assume that a machine “thinks“?
  • Where do the datasets, used for machine training, came from? In some cases, as users of some services, we provide them, sometimes in an ethically and socially unclear way (such as from recordings of requests to our voice assistants, based on images uploaded on more or less “ethical” online services, …). We can then think about privacy and ethics.
  • If a system equipped with IA makes a choice that results in damage, whose responsibility is it?

We conclude this analysis with the following video extracted from the course “Halocode: from visual programming to Python”. The concept of Artificial Intelligence and Machine Learning is introduced, and an idea of the application is shown. It is proposed, in fact, to use the programmable Halocode board to realise a voice-controlled device. The video is available only in Italian; please use automatic close caption for other languages.

If you want to find out more about it, together with other programming experiences and methodological and didactic ideas, you can sign up for the course (course available only in Italian).

Further hints and bibliographical references (ITA)

Intelligenza Artificiale – Wikipedia

Introduzione all’ Intelligenza Artificiale – Paola Mello – Dipartimento di Informatica – Scienza e Ingegneria DISI Università di Bologna

Deep Blue IBM – Wikipedia

Articolo sulla soluzione di forza bruta degli scacchi

Articolo di approfondimento sugli approcci software per soluzioni di giochi