In the context of the ERASMUS+ project CS4All activities four webinars were organised, with the aim of preparing adults to teach computing classes.

##### .1 INTRODUCTION: Innovative Education in the Digital Era

On this first webinar, “**Innovative Education in the Digital Era**”, we will explore how to prepare students, teachers, and people in general with fundamental computer science skills leading to coding in Python. We believe
that encouraging computing can start quite early and does not require extensive technological resources. In fact, it can – and should – start with paper, pencil, and (above all) our grey matter.

We will also address how computational thinking offers direct synergies with two other core disciplines: *native language* and *mathematics*. As a matter of fact, it will be hard for people to communicate
to a computer, what they cannot articulate with a person. We will also explore, how mathematics underpins the operation of computers and how they are instructed.

Then, we will guide the audience through a hands-on session in which we will start our computational journey from scientific principles. We will explore the basic binary language and the power of linguistics and mathematics to represent and manipulate knowledge in computers.

**Topics include**: the relationship between mother (spoken and written) language, mathematics and computing; computational thinking; binary language; data, data structures and algorithms.

#### Introduction. Part I and II

Introduction. The New Trivium. Computational Thinking.

#### introduction. part III

Hands-on Activities.

#### introduction

Innovative Education

In this course, you will explore how to prepare students, teachers, and people in general with fundamental computer science skills.

#### lesson 1

The New Trivium

First, we are going to introduce you to “The New Trivium” and establish important connections between language, mathematics and computing.

#### lesson 2

Computational Thinking

The term “computational thinking” has been widely used since it was introduced by Jeannette Wing in her most popular article. But what exactly does it mean? What does it mean to think computationally?

#### lesson 3

Solving a Mystery

Although computers can do extraordinary things, their “language” is very simple – all they understand** **is** **0 and 1. However, this binary language is quite powerful and allows us to represent
all sorts of information on the computer – text, sound, images, etc.

#### lesson 4

Digital Communication

Nowadays, privacy and security in digital communications are very serious issues. Despite its long history, cryptography is ever more important and consists in the development and analysis of techniques used for secure communication. Ready to dive into this amazing field of knowledge?

#### lesson 5

The Magic of Algorithms

You have already learned how to represent information on the computer. But how can the computer manipulate that information? It all comes down to algorithms – recipes or strategies to achieve certain goals. One strategy to
construct efficient algorithms is called *Divide & Conquer*. Let’s do it!

##### .2 PART I: 1st cycle

On this second webinar, “**Teaching Computation – The 1 st Cycle**”, we will explore how to prepare students, teachers, and people in general to teach fundamental computer science skills to youngsters between
6 and 9 years old.

The methodology focuses on learning without computer resources (unplugged) and is initiated through stories, with captivating characters implicitly linked to computer science subjects. Learning thus creates emotional connections with students that allow computational themes to be explored in a fun and pedagogically effective way. In other words, at early ages knowledge begins to be acquired subliminally and indirectly, becoming progressively more explicit and direct as the years progress.

In the last two years of the 1st cycle, the methodology seeks to leverage computer science teaching in learning mathematics altogether with the first plugged classes.

**Topics include**: the relationship between mother (spoken and written) language, mathematics and computing; computational thinking; binary language; data, data structures and algorithms.

#### the 1st cycle

Computers and representations. Binary codes, binary matrices and transformations. Representations and transformations of binary images. Lists and transformations on lists.

#### introduction

The 1st Cycle

In this course, you will explore how to prepare students, teachers, and people in general to teach fundamental computer science skills to youngsters between 6 and 9 years old.

#### lesson 1

Computers and Representations

If you asked a 6 – 9 year old student “What is a computer used for?”, what do you think the answer would be? And what “language” does the computer speak? Were computers always small and fast? In this lesson, you will delve into these questions.

#### lesson 2

Binary Codes

You will now learn how to represent and transform binary codes and matrices, since a binary system is underneath everything a computer does. But surprisingly, and despite their modern usage, binary systems have a long history, and you will learn how to represent information using the Braille system – the first ever binary writing system used by mankind.

#### lesson 3

Binary Images

You have already witnessed some of the power of binary systems, codes and matrices. Now, get ready to level up and learn how to apply these concepts to the process of representing images on a computer.

#### lesson 4

Lists and Transformations on lists

Lists are one of the most important data structures due to their versatility. You will now learn how to represent them on the computer, along with some transformations you can apply to them.

##### .3 PART II: 2nd cycle

On this third webinar, “**Teaching Computation – The 2** ^{nd}** Cycle**”, we will explore how to prepare students, teachers, and people in general to teach fundamental computer science skills to youngsters between 10 and 12 years old.

During the 2nd cycle, our methodology shifts its focus towards learning both with and without computer resources. We will delve deeper into how programming languages are used to instruct computers. In particular, we will examine important data structures such as lists, pairs, dictionaries, and graphs, developing a solid understanding of how they function and how they can be applied to real-world problems.

With this knowledge at our disposal, we will work to model and solve a variety of basic yet practical challenges, gaining valuable experience in applying computational thinking to everyday scenarios. By the end of this cycle, students will have acquired a rich set of skills and tools that they can continue to build upon in their further studies of computer science and related fields.

**Topics include**: the relationship between mother (spoken and written) language, mathematics and computing; computational thinking; binary language; data, data structures and algorithms.

#### the 2nd cycle

Lists and functions. High order functions. Pairing lists. Dictionaries. Graphs.

#### introduction

The 2nd Cycle

In this course, you will explore how to prepare students, teachers, and people in general to teach fundamental computer science skills to youngsters between 10 and 12 years old.

#### lesson 1

Lists and Functions

By now, you should already be aware that a list is a very important data structure that allows us to represent elements in an orderly manner. Moreover, the mathematical concept of function is key to write elegant computer programs. In this section, you will learn some functions on lists and use them to solve increasingly difficult problems.

#### lesson 2

High Order Functions

So far you have only worked with functions that take as input a list. But what if we told you that there are functions that take as input other functions? Come check it out!

#### lesson 3

Pairing Lists

Suppose you have two lists such that the first element of the first list is related to the first element of the second list; the second element of the first list is related to the second element of the second list, and so on. How can you express this fact using a single list? That is what you are about to discover!

#### lesson 4

Dictionaries

It is believed that the first the first purely English alphabetical dictionary was *A Table Alphabeticall*, written by Robert Cawdrey in 1604. Surprisingly, dictionaries still play a major role nowadays, as they are
behind most applications we use on our computers and smartphones. And the operation of pairing lists allows us to easily create dictionaries.

#### lesson 5

Graphs

Everywhere you look, you are surrounded by connections – roads connect houses; cables connect telephone poles; social media connect people, etc. The powerful structures that allow us to represent relations between things are called graphs, which in turn can be represented using lists.

##### .4 PART III: 3rd cycle

On this fourth webinar, “**Teaching Computation – The 3rd Cycle**”, we will explore how to prepare students, teachers, and people in general to teach fundamental computer science skills to youngsters between 13 and 15
years old.

This session will be an introduction to the Open EDG Python coding resources provided by the Cisco NetAcad platform. During these three hours, you will explore how to create a Python course on NetAcad, how Edube works as well as some simple, short explorations of teaching coding in Python using commonplace concepts.

#### the 3rd cycle

Python!

#### Python!

The 3rd Cycle

An introduction to the Open EDG Python coding resources provided by the Cisco NetAcad platform.