DAVIDE… CANE, GATTO O CONIGLIO?

Magliana Mario

Competenze richieste:

È richiesta la conoscenza dei concetti relativi ai Grafi e Teoria dei Grafi. Si consiglia la visione dell’attività “Quanti ponti…Dai attraversiamoli tutti!

Materiale

Fogli di codifica e di lavoro presenti nell’attività
Carta, matita, penna
Lavagna e/o proiettore(opzionale)

Età

A partire dagli 9 anni

Numero di giocatori

Da 1 in su

Competenze acquisite

Scegliere ed utilizzare oggetti per rappresentare informazioni familiari semplici (es. colori, parole, …)

Utilizzare combinazioni di simboli per rappresentare informazioni familiari complesse

Riconoscere usi dell’informatica e delle sue tecnologie nella vita comune


Attività che introduce alcune delle principali caratteristiche delle codifiche

INTRODUZIONE:

Davide è un bambino che da sempre ama gli animali e come regalo di compleanno che sarà tra qualche settimana, i genitori gli hanno promesso che adotteranno un animale domestico e potrà essere un cane, un gatto oppure un coniglio, ma questa è una sorpresa.
I genitori hanno affidato a Davide un compito, quello di pensare a qualche nome sia maschile che femminile (ancora non sa il sesso) da dare al loro futuro animale. Davide è un bambino molto intelligente e da sempre appassionato a giochi di codici segreti decide di inventarsi un codice per l’occasione e sfidare i genitori; dopo aver rovistato tra i suoi giochi trova dei timbri giocattolo con varie figure di cui uno che rappresenta un cane, uno che rappresenta un gatto e uno che rappresenta un coniglio.

Davide decide di inventarsi per alcune lettere dell’alfabeto una diversa sequenza (codifica) di timbri di cani, gatti e conigli:

Card image cap
Lettera

D

Card image cap Card image cap
Lettera

L

Card image cap Card image cap
Lettera

A

Card image cap Card image cap
Lettera

O

Card image cap Card image cap
Lettera

E

Card image cap Card image cap Card image cap
Lettera

B

Card image cap Card image cap Card image cap
Lettera

I

Card image cap Card image cap Card image cap
Lettera

N

Card image cap Card image cap Card image cap
Lettera

F

Card image cap Card image cap Card image cap Card image cap
Lettera

G

Card image cap Card image cap Card image cap Card image cap
Lettera

V

Card image cap Card image cap Card image cap Card image cap
Lettera

S

Card image cap Card image cap Card image cap Card image cap
Lettera

R

La codifica che ha inventato è univoca perché Davide per ogni lettera ha utilizzato una sequenza differente (sia in lunghezza che di genere); inoltre è stato anche molto ben attento a cercare le sequenze in modo tale da NON creare ambiguità nella traduzione, infatti se osservate ogni sequenza non è un prefisso di alcuna altra sequenza, quindi non ci si può sbagliare.

Esempio per l’insegnante:

se utilizziamo la tabella di codifica fornita da Davide, il suo nome potrebbe venire tradotto (codificato) in modo univoco nel seguente modo:

( D )( A)

(I)
(I)
( D )( E)

Davide, dopo aver pensato a qualche nome ha consegnato ai suoi genitori il foglio contenente la tabella con il codice e quello contenente i nomi codificati (maschile/femminile) da lui pensati per il futuro animale.

Proiettare ora alla classe le sequenze mostrate di seguito e la tabella del codice vista in precedenza, e chiediamo loro: chi è in grado di aiutare i genitori di Davide a scoprire quali sono i nomi da lui scelti che si nascondono dietro a queste sequenze di simboli?

NOMI MASCHILI:

1)

2)

3)

NOMI FEMMINILI:

1)

2)

3)

Lasciamo agli studenti del tempo per svolgere l’attività, e quando l’intera classe avrà terminato, commentare insieme le soluzioni trovate.

Soluzione:

Nomi Maschili:Nomi Femminili:
1)OLAFFIONA
2)BAFFODIANA
3)DINGONEVE

ANCHE QUESTA È INFORMATICA!

Nell’attività appena svolta, aiutando i genitori di Davide a trovare i nomi per l’animale da adottare, avete avuto modo di vedere come è possibile inventare un codice e utilizzarlo per esprimere dell’informazione.

Card image cap

La codifica di informazioni può essere fatta in diversi modi; il codice inventato da Davide dell’attività precedente è un esempio di quella che in Informatica viene chiamata codifica a lunghezza variabile in cui per codificare i caratteri si utilizzano un numero variabile di bit.

Card image cap

Mentre in altre codifiche, (ad esempio nel codice ASCII) viene usata una codifica a lunghezza fissa, in quei casi tutti i caratteri vengono codificati utilizzando delle sequenze distinte ma con lo stesso numero di bit.

Abbiamo quindi visto che esistono codifiche a lunghezza variabile e che, come nel caso del Codice inventato da Davide, è normale osservare che alcune lettere siano codificate utilizzando una sequenza più breve e altre una sequenza più lunga

Nella codifica a lunghezza variabile, quale potrebbe essere una tecnica intelligente per scegliere a quale carattere assegnare una codifica più breve e a quale assegnarne una più lunga? Una tecnica utilizzata è quella di andare a calcolare la frequenza con cui i caratteri vengono utilizzati; e assegnare a quelli utilizzati più frequentemente una codifica più breve, mentre a quelli utilizzati meno frequentemente una codifica più lunga.

Prima di concludere l’attività, è importante però mettere in evidenza alcune caratteristiche fondamentali che sono presenti nel codice inventato da Davide.

Infatti alla base della Crittografia in Informatica si ha che un codice utilizzato per esprimere dell’informazione per essere funzionale, tra le tante caratteristiche che deve possedere, c’è anche il fatto che deve essere univoco e NON ambiguo.

Durante l’attività avete già avuto modo di vedere che il codice inventato da Davide è univoco perché per ogni lettera ha utilizzato una sequenza differente di simboli (sia in lunghezza che di genere); inoltre è stato anche molto ben attento a cercare le sequenze in modo tale da NON creare alcuna ambiguità nella traduzione, infatti se osservate ogni sequenza non è un prefisso di alcuna altra sequenza, quindi è impossibile sbagliarsi; data una sequenza di simboli ci sarà una e una sola possibile traduzione.

Domanda per la classe:

Perché queste caratteristiche appena viste sono così importanti?

Risposta:

Provate a svolgere la stessa attività vista in precedenza utilizzando però questa volta quest’altra tabella di codifica (questa tabella, anche se a prima vista sembra molto simile alla precedente, non lo è affatto perchè a differenza di quella utilizzata prima questa presenta un codice ambiguo).

Card image cap
Lettera

D

Card image cap
Lettera

L

Card image cap Card image cap
Lettera

A

Card image cap Card image cap
Lettera

O

Card image cap Card image cap Card image cap
Lettera

E

Card image cap Card image cap Card image cap
Lettera

B

Card image cap Card image cap Card image cap
Lettera

I

Card image cap Card image cap Card image cap
Lettera

N

Card image cap Card image cap Card image cap
Lettera

F

Card image cap Card image cap Card image cap Card image cap
Lettera

G

Card image cap Card image cap Card image cap Card image cap
Lettera

V

Card image cap Card image cap Card image cap Card image cap
Lettera

S

Card image cap Card image cap Card image cap Card image cap
Lettera

S

Domanda per la classe:

Quali sono le possibili interpretazioni della seguente sequenza di simboli?

Interpretazione 1:

( D )( D )
( O)
( L )( D )( L )( O
)( L )( D )( D )
( ? )( L )

Interpretazione 2:

( D )( A)(
N)( L )(
I)( D )( D )
( ? )( L )

Interpretazione 3:

( D )( A)(

V)(
I)( D )(
E)

In questo caso, dato che ci sono molte possibili interpretazioni della sequenza, senza altre informazioni o suggerimenti, come è possibile capire qual è la corretta traduzione Purtroppo, non è possibile saperlo.

Da questo esempio è quindi possibile capire che se si vuole esprimere dell’informazione utilizzando/inventando un codice, quest’ultimo per essere funzionale deve necessariamente anche essere univoco e NON ambiguo.

MATERIALE AGGIUNTIVO SCARICABILE

Card image cap
Materiale aggiuntivo 1

Primo foglio di codifica e di lavoro 1

Card image cap
Materiale aggiuntivo 1

Secondo foglio di codifica e di lavoro