martedì 3 febbraio 2026

Corso Pensiero Computazionale e Coding per Tutti: 3 Il linguaggio binario e i sistemi di numerazione

3 Il linguaggio binario e i sistemi di numerazione

Introduzione: perché il binario?

Immagina un corridoio pieno di lampadine. Ogni lampadina può essere accesa (1) o spenta (0). Con una sola lampadina puoi indicare due stati: acceso/spento. Con due lampadine hai quattro combinazioni (00, 01, 10, 11). Questo è il cuore del linguaggio digitale: segnali ON/OFF, sì/no, 1/0. I computer parlano così perché i componenti elettronici — transistor, porte logiche — funzionano scegliendo tra due stati.

Concetti teorici essenziali

  • Bit = binary digit = 0 o 1.
  • Posizione in un numero binario corrisponde a una potenza di 2. Da destra a sinistra: 2⁰, 2¹, 2², 2³, …
  • Byte = 8 bit. Nibble = 4 bit. Parole (word) dipendono dall’architettura (16, 32, 64 bit).
  • Range valori: con n bit si rappresentano 0 … (2ⁿ − 1) per numeri senza segno.
  • Due-complemento = convenzione per rappresentare numeri negativi (vedremo come funziona).

Tabella rapida potenze di 2 (utile come "tassello" in classe)

  • 2⁰ = 1
  • 2¹ = 2
  • 2² = 4
  • 2³ = 8
  • 2⁴ = 16
  • 2⁵ = 32
  • 2⁶ = 64
  • 2⁷ = 128
  • 2⁸ = 256

Conversioni — esempi passo-passo (eseguiti digit-by-digit)

A) Da binario a decimale — Esempio: 1011

Leggiamo da sinistra (ma calcoliamo per posizione da destra a sinistra):

  • cifre (da sinistra a destra): 1 0 1 1
  • posizioni (da destra): 2³, 2², 2¹, 2⁰ = 8, 4, 2, 1
    Calcolo:
  • 1 × 2³ = 1 × 8 = 8
  • 0 × 2² = 0 × 4 = 0
  • 1 × 2¹ = 1 × 2 = 2
  • 1 × 2⁰ = 1 × 1 = 1
    Somma = 8 + 0 + 2 + 1 = 11 (decimale).

B) Da decimale a binario — Metodo divisione per 2 (resti)

Esempio: convertiamo 156 in binario (mostro ogni divisione: quoziente e resto).

  • 156 ÷ 2 = 78 resto 0
  • 78 ÷ 2 = 39 resto 0
  • 39 ÷ 2 = 19 resto 1
  • 19 ÷ 2 = 9 resto 1
  • 9 ÷ 2 = 4 resto 1
  • 4 ÷ 2 = 2 resto 0
  • 2 ÷ 2 = 1 resto 0
  • 1 ÷ 2 = 0 resto 1 (qui terminiamo)
    Ora leggiamo i resti dal basso verso l’alto: 1 0 0 1 1 1 0 010011100 (binario). Verifica: 128 + 0 + 0 + 16 + 8 + 4 + 0 + 0 = 156.

C) Da decimale a esadecimale (base 16) — esempio: 255

Divisione per 16:

  • 255 ÷ 16 = 15 resto 15 → 15 in esadecimale è F
  • 15 ÷ 16 = 0 resto 15F
    Quindi 255 decimale = FF (esadecimale).

Codifica di caratteri: ASCII (pratica)

I computer memorizzano lettere come numeri. ASCII standard associa ad esempio:

  • "A" → 65 → in binario 01000001 (8 bit).
    Esempio pratico: trasformiamo la parola Tom (passo-passo):
  • T = 84 → dividendo per 2 otteniamo binario: 01010100
  • o = 111 → binario: 01101111
  • m = 109 → binario: 01101101
    Nome in binario: 01010100 01101111 01101101.

(Se vuoi, puoi fornire la tabella ASCII da stampare; per la lezione basta mostrare qualche esempio e far convertire i padroni di casa.)

Operazioni binarie — esempi svolti

A) Addizione binaria — esempio: 1011 + 1101

Allineiamo a destra:

   1011   (11 decimale)
 + 1101   (13 decimale)
 ------

Sommiamo colonna per colonna da destra:

  • colonna 0 (2⁰): 1 + 1 = 2 → scrivo 0, porto 1 (carry).
  • colonna 1 (2¹): 1 + 0 + carry1 = 2 → scrivo 0, porto 1.
  • colonna 2 (2²): 0 + 1 + carry1 = 2 → scrivo 0, porto 1.
  • colonna 3 (2³): 1 + 1 + carry1 = 3 → 3 in binario è 1 con carry 1 (perché 3 = 1 + 2). Scrivo 1, porto 1.
  • carry finale = 1 → lo scrivo a sinistra.

Risultato: 11000.

Verifica in decimale: 11 + 13 = 24 → 11000 in binario = 16 + 8 = 24. Perfetto.

B) Sottrazione con due-complemento — esempio: 13 − 5 (usando 8 bit)

Rappresentazioni (8 bit):

  • 13 = 00001101
  • 5 = 00000101
    Passi per ottenere −5 in due-complemento:
  1. inverti tutti i bit di 5: 11111010
  2. aggiungi 1: 11111010 + 1 = 11111011 (questo è il −5 in due-complemento)
    Ora addiziona 13 + (−5):
  00001101
+ 11111011
= 00001000 (con carry che scarta)

Risultato 00001000 = 8. Corretto.

C) Esempio di overflow (8 bit): 130 + 140

  • 130 = 10000010
  • 140 = 10001100
    Addizione:
  • Somma aritmetica: 130 + 140 = 270
  • In 8 bit il massimo è 255 → abbiamo overflow. Se consideriamo solo gli 8 bit di basso peso otteniamo 00001110 = 14.
    Spiegazione: la somma genera un carry oltre l’ottavo bit, perso se si lavora su 8 bit senza segnalazione → valore risultante = 270 mod 256 = 14.

Esercizi svolti

Esercizio 1 — Converti 19 in binario (passi)

Divisioni:

  • 19 ÷ 2 = 9 r 1
  • 9 ÷ 2 = 4 r 1
  • 4 ÷ 2 = 2 r 0
  • 2 ÷ 2 = 1 r 0
  • 1 ÷ 2 = 0 r 1
    Rivolgi i resti: 10011. Verifica: 16 + 0 + 0 + 2 + 1 = 19.

Esercizio 2 — Usa ASCII: quale è il binario di "C"?

"C" = 67 decimale. Convertiamo:

  • 67 ÷ 2 = 33 r 1
  • 33 ÷ 2 = 16 r 1
  • 16 ÷ 2 = 8 r 0
  • 8 ÷ 2 = 4 r 0
  • 4 ÷ 2 = 2 r 0
  • 2 ÷ 2 = 1 r 0
  • 1 ÷ 2 = 0 r 1
    Resta: 1000011. Con 8 bit (prefisso aggiunto): 01000011.

Esercizio 3 — Addizione: 0110 + 0011

  • 0110 (6) + 0011 (3) = 1001 (9). Passaggi: colonna per colonna, portando eventuali carry (qui nessuno tranne al limite).

Test finale (autovalutazione)

1. Converti in binario:
a) 6 →
b) 13 →
c) 31 →

2. Qual è il valore decimale di 10110?
a) 22 b) 23 c) 21 d) 24

3. Qual è il codice ASCII della lettera C?
a) 65 b) 67 c) 66 d) 68

4. In esadecimale, qual è il simbolo per il valore decimale 15?
a) E b) D c) F d) G

5. Quale rappresentazione binaria è corretta per il numero 9?
a) 1001 b) 1011 c) 0110 d) 1111

10) Soluzioni del test — con spiegazioni passo-passo

1. Converti in binario
a) 6 → divisioni: 6 ÷ 2 = 3 r0; 3 ÷ 2 = 1 r1; 1 ÷ 2 = 0 r1 → leggendo i resti: 110.
b) 13 → 13 ÷ 2 = 6 r1; 6 ÷ 2 = 3 r0; 3 ÷ 2 = 1 r1; 1 ÷ 2 = 0 r1 → resti: 1101.
c) 31 → 31 ÷ 2 = 15 r1; 15 ÷ 2 = 7 r1; 7 ÷ 2 = 3 r1; 3 ÷ 2 = 1 r1; 1 ÷ 2 = 0 r1 → 11111.

2. 10110 → valore decimale
Calcolo posizioni: da destra 2⁰=1, 2¹=2, 2²=4, 2³=8, 2⁴=16
Cifre: 1·16 + 0·8 + 1·4 + 1·2 + 0·1 = 16 + 0 + 4 + 2 + 0 = 22 → risposta a).

3. ASCII di C
A è 65, B 66, C 67 → risposta b). (In binario C = 01000011.)

4. Valore decimale 15 in esadecimale
In esadecimale i simboli 10–15 corrispondono a A–F; quindi 15 → F → risposta c).

5. Rappresentazione binaria del 9
9 = 8 + 1 = 2³ + 2⁰ → cifre 1001 → risposta a).


lunedì 2 febbraio 2026

Corso Pensiero Computazionale e Coding per Tutti: 2 Coding unplugged: attività senza computer

 
2 Coding unplugged: attività senza computer

Introduzione: Cos’è il coding unplugged e perché è così efficace

Immagina di poter insegnare ai bambini e ai ragazzi i concetti fondamentali della programmazione senza accendere nemmeno un computer. Può sembrare incredibile, ma è proprio questo che fa il coding unplugged: utilizza giochi, attività manuali, simulazioni e materiali semplici per far comprendere come funziona il pensiero computazionale.

Questo approccio è efficace perché:

  • Rende visibili concetti astratti come algoritmi, cicli, condizioni e sequenze logiche attraverso attività pratiche e corporee.
  • Coinvolge tutto il corpo, sviluppando anche la coordinazione motoria, la lateralità, la capacità di previsione e la collaborazione.
  • È perfetto per tutte le età, dalla scuola dell’infanzia fino alla secondaria, perché permette di adattare la complessità e l’astrazione.
  • Permette di lavorare sul ragionamento e sulla risoluzione dei problemi senza distrazioni tecnologiche, concentrandosi sul cuore della programmazione: la logica.

Cos’è un algoritmo? Una definizione semplice e pratica

Spesso sentiamo parlare di algoritmo come una cosa complicata. In realtà, un algoritmo è semplicemente una serie di istruzioni ordinate, cioè un “programma” che dice passo dopo passo cosa fare per raggiungere un obiettivo.

Per esempio, pensa a come preparare una tazza di tè:

  1. Prendi una tazza pulita.
  2. Metti un filtro con la bustina di tè nella tazza.
  3. Versa acqua calda.
  4. Aspetta 3 minuti.
  5. Rimuovi il filtro.
  6. Aggiungi zucchero se vuoi.

Questo è un algoritmo! È un insieme di istruzioni che deve essere seguito in sequenza per ottenere il risultato desiderato.

🔧 Attività pratiche unplugged

1. Programmare un compagno per uscire da un labirinto

Disegna su un foglio o a terra un labirinto semplice con caselle quadrate (tipo una griglia 5x5).

Obiettivo: Un partecipante è il “robot”, gli altri sono programmatori che gli danno istruzioni per uscire dal labirinto.

  • Le istruzioni possibili sono: Avanti, Indietro, Giro a sinistra, Giro a destra.
  • Il “robot” deve eseguire le istruzioni esattamente nell’ordine dato, senza interpretazioni.
  • I programmatori scrivono la sequenza di passi (algoritmo) prima che il robot inizi.

Esempio svolto:

Supponiamo che il robot parta dalla casella in alto a sinistra e che la via per uscire sia:

  • Avanti
  • Avanti
  • Giro a destra
  • Avanti
  • Giro a sinistra
  • Avanti

Dopo aver scritto la sequenza, il robot la segue e raggiunge l’uscita.

2. Giochi con frecce direzionali, tessere e dadi logici

Distribuisci ai partecipanti tessere con frecce (⬆️⬇️⬅️➡️) e dadi logici con facce tipo “ripeti”, “salta”, “gira”.

Esercizio: Costruire sequenze di frecce che rappresentino movimenti precisi.

Esempio:

  • Crea una sequenza per “muoversi due passi avanti, girare a destra e camminare tre passi.”

Si possono anche fare gare a chi crea l’algoritmo più corto o quello più chiaro.

3. Costruzione di un algoritmo per piegare una maglietta in tre mosse

Prendi una maglietta distesa sul tavolo.

Obiettivo: Scrivere un algoritmo con tre istruzioni per piegarla.

Soluzione esempio:

  1. Piega la parte destra verso il centro.
  2. Piega la parte sinistra verso il centro.
  3. Piega la maglietta a metà dal basso verso l’alto.

I partecipanti possono provare a eseguire l’algoritmo e vedere se funziona davvero.

🧠 Test di autovalutazione

  1. Qual è la differenza tra algoritmo e istruzione singola?

  2. Come si può rappresentare una sequenza usando solo frecce?

  3. Perché il coding unplugged è utile anche nella scuola dell’infanzia?

  4. Costruisci un algoritmo in 4 passi per attraversare una griglia 4x4 evitando ostacoli, partendo dall’angolo in alto a sinistra.

✅ Soluzioni suggerite

  1. Un’istruzione singola è un solo comando (es. “vai avanti”), mentre un algoritmo è un insieme ordinato di istruzioni da eseguire in sequenza.

  2. Si può usare ogni freccia per rappresentare un passo o un movimento (➡️ = avanti, ⬅️ = indietro, ⬆️ = su, ⬇️ = giù). Sequenziando le frecce, si ottiene la rappresentazione di una sequenza.

  3. Perché permette ai bambini piccoli di sviluppare la logica, la capacità di prevedere risultati e lavorare su abilità come la lateralità, la memoria e la collaborazione, senza la necessità di saper usare il computer.

  4. Esempio di algoritmo: ⬇️ ⬇️ ➡️ ➡️ (due passi giù, due passi a destra). È importante che i passi evitino le caselle con ostacoli.

Ulteriori spunti per approfondire

  • Analisi degli errori: Cosa succede se un algoritmo è scritto male? Prova a modificare la sequenza e osserva come cambia il risultato. È un modo per capire l’importanza della precisione.

  • Ripetizioni e cicli: Introduci l’idea di “ripetere” azioni usando esercizi con tessere “ripeti” o con movimenti a tempo.

  • Condizioni: Simula con giochi “se allora” (es. “Se la strada è libera, vai avanti, altrimenti gira a destra”).

Programmare senza Computer:
La Magia del Coding "Senza Fili"

Hai mai pensato che si possa imparare il linguaggio dei computer... senza toccare un computer? Sembra un paradosso, eppure il coding unplugged sta rivoluzionando il modo in cui insegniamo la logica ai più giovani.

Non servono schermi, tastiere o connessioni Wi-Fi: bastano un paio di scarpe da ginnastica, qualche foglio di carta e tanta voglia di mettersi in gioco. Scopriamo perché questa tecnica è così potente e come puoi provarla subito a casa o in classe.

Cos’è il Coding Unplugged?

In inglese unplugged significa "scollegato". Si tratta di un approccio che trasforma concetti informatici astratti in esperienze fisiche e sensoriali. Invece di scrivere righe di codice su un monitor, i bambini diventano essi stessi dei "robot" o dei "programmatori".

Perché funziona?

  • Corpo e Mente: Coinvolge il movimento, aiutando a sviluppare la coordinazione e l'orientamento spaziale (destra/sinistra).

  • Zero Distrazioni: Senza notifiche o luci blu, l'attenzione si concentra tutta sulla logica.

  • Per Tutti: È perfetto dai 4 ai 99 anni. La complessità si adatta a chiunque.

La Ricetta del Successo: Cos’è davvero un Algoritmo?

Spesso immaginiamo l'algoritmo come una formula magica complessa. In realtà, è solo una lista di istruzioni ordinate.

Pensa a quando prepari una tazza di tè:

  1. Prendi la tazza.

  2. Inserisci la bustina.

  3. Versa l'acqua calda.

  4. Aspetta 3 minuti.

  5. Togli la bustina.

Se scambiassi il punto 1 con il punto 3, verseresti l'acqua sul tavolo! Ecco perché l'ordine (la sequenza) è fondamentale nel coding.

Mettiamoci all'opera: 3 Giochi da Provare Subito

1. Il Robot Umano (Il Labirinto)

Disegna una griglia sul pavimento con del nastro adesivo o usa le mattonelle.

  • Il Robot: Un bambino che deve muoversi seguendo solo i comandi ricevuti.

  • Il Programmatore: Colui che scrive il "codice" (Avanti, Destra, Sinistra).

  • La Sfida: Riuscire a far uscire il robot dal labirinto senza fargli calpestare gli ostacoli.

Ricorda: Il robot non può pensare di testa sua, deve eseguire gli ordini esattamente come sono scritti!

2. Il Linguaggio delle Frecce

Usa dei cartoncini con delle frecce (⬆️⬇️⬅️➡️). Prova a creare un percorso sulla tavola: "Fai fare due passi avanti al tuo giocattolo preferito, fallo girare a destra e poi camminare per tre passi". Chi riesce a scrivere l'algoritmo più corto per raggiungere l'obiettivo?

3. Ingegnere delle Magliette

Prendi una maglietta e sfida i bambini a scrivere un manuale d'istruzioni per piegarla in soli 3 passi.

Esempio: 1. Piega a destra verso il centro.

2. Piega a sinistra verso il centro.

3. Piega dal basso verso l'alto.

Se un compagno segue le istruzioni e la maglietta finisce aggrovigliata, significa che c'è un "bug" (un errore) da correggere!

Allena il tuo Cervello (Mini-Quiz)

Mettiti alla prova con queste brevi domande per vedere se sei un vero esperto di logica:

  1. Qual è la differenza tra un'istruzione e un algoritmo?

  2. Come rappresenteresti "fai un passo indietro" con un simbolo?

  3. Cosa succede se un algoritmo è scritto male?

Le risposte: (1) L'istruzione è un singolo comando, l'algoritmo è la serie completa. (2) Con una freccia verso il basso o all'indietro ⬇️. (3) Si verifica un errore e l'obiettivo non viene raggiunto: è il momento di fare debugging (cercare l'errore)!

Oltre le Basi: Introduci i "Super Poteri"

Una volta apprese le basi, puoi aggiungere:

  • I Cicli: Invece di scrivere "Avanti" per 10 volte, scrivi "Ripeti 10 volte: Avanti". Molto più veloce!

  • Le Condizioni: "SE trovi un ostacolo, ALLORA gira a destra, ALTRIMENTI vai avanti".

Il coding unplugged non insegna solo a programmare, insegna a pensare in modo critico e a risolvere problemi complessi un pezzetto alla volta.



Corso Pensiero Computazionale e Coding per Tutti: 3 Il linguaggio binario e i sistemi di numerazione

3 Il linguaggio binario e i sistemi di numerazione Introduzione: perché il binario? Immagina un corridoio pieno di lampadine. Ogni lampadi...