LEZIONI E FORMAZIONE DAI DOCENTI PER I DOCENTI

Scopri WeTurtle, la community di educatori dove trovare e condividere risorse innovative

home - progetti - Dagli algoritmi su carta ad Arduino: un percorso di... - Il Cifrario di Cesare con Scratch (o Python)

Il Cifrario di Cesare con Scratch (o Python)

Durata LezioneTempi

Tempo stimato per la lezione in classe: 2.00 h

StrumentiStrumenti

  • LIM o proiettore
  • Computer per il docente
  • Materiali di consumo (penne, fogli, post-it)
  • Un computer ogni 2 studenti
  • Scratch 3 (o versioni precedenti)
Qualora voleste sviluppare l’algoritmo in Python potreste usare la IDLE standard oppure un ambiente come Visual Studio Code.

Registrati a WeTurtle per accedere ai vantaggi, è gratis!

La community di docenti e educatori ti offre:

Il corso gratuito "Collaborare a scuola con il digitale"

Un'area personalizzata con i tuoi contenuti preferiti

Una lezione di prova gratuita per ogni corso online

Dirette ed eventi dedicati agli utenti iscritti

Linee guida delle attività Linee guida delle attività

Prerequisiti

Per realizzare questa attività in classe è necessario che gli studenti abbiano familiarità nell’utilizzo di Scratch (o nella programmazione in Python) e con i principali concetti della programmazione:

  • Esecuzione sequenziali di istruzioni
  • Esecuzione ciclica di istruzioni
  • Esecuzione condizionale di istruzioni
  • Gestione di variabili, liste (o array in Python)
  • Sincronizzazione tramite messaggi (tipica di Scratch)
Trovi un percorso introduttivo a Scratch nella sezione ebook di Weturtle, con la traduzione in italiano del curriculum "Creative Computing" (Programmazione Creativa) proposto da Karen Brennan, Christan Balch e Michelle Chung della Harvard Graduate School of Education.

La lezione

Nella lezione precedente abbiamo gettato le basi per poter creare un corretto algoritmo in Scratch o in Python che replici il Cifrario di Cesare!

La sfida da proporre potrebbe essere questa: abbiamo sperimentato il Cifrario di Cesare con carta e penna… riusciamo a implementarlo in modo che sia il PC a fare questo lavoro di traduzione?

Ecco il risultato finale della nostra implementazione:


Nell’immagine precedente abbiamo rappresentato questa lezione secondo lo schema TMI (Think, Make, Improve) proposte da Stager e Martinez:

Si parte con la fase Think (circa 15 minuti), in cui agli studenti viene proposta la sfida, così che possano pianificare le azioni da compiere per la progettazione, analizzare i diagrammi e gli appunti precedenti, fare brainstorming;
Si prosegue con la fase Make (circa 80 minuti), in cui gli studenti provano ad arrivare ad una prima versione del progetto programmando in Scratch;
Si arriva alla fase Improve (circa 20 minuti), in cui gli studenti presentano i progetti ai compagni e all’insegnante, ascoltando feedback e consigli, cercando di raccogliere gli spunti per migliorare il progetto (o risolvere i bug qualora ci fossero problemi nel funzionamento).
Potresti far ripartire gli studenti dai diagrammi, dagli schemi, dagli appunti dell’attività precedente.

Dopo aver ripassato i concetti alla base del cifrario, si parte con la progettazione / programmazione! Gli studenti divisi in coppie potranno lavorare con l’obiettivo di arrivare ad un programma funzionante da presentare al resto della classe.

Partiamo da Scratch: ecco una possibile implementazione del Cifrario di Cesare!

Nota bene: questa è solo UNA POSSIBILE SOLUZIONE, quindi lascia sperimentare i tuoi studenti! Magari troveranno altre strade per arrivare a progettare un cifrario in Scratch.

Abbiamo creato un progetto con due personaggi (il gatto e il robot).
Il personaggio gatto ha uno script molto semplice, in quanto chiede la chiave per la cifratura (cioè lo scorrimento) e la frase da criptare:

Il lavoro “sporco” viene fatto dal robot, caratterizzato da questi due script:

La stessa modalità di lavoro espressa in precedenza (l’immagine con lo schema TMI) potrebbe essere applicata se gli studenti sviluppano in Python.

Una possibile soluzione in Python è la seguente:

Non entriamo nei dettagli tecnici dello sviluppo in Python, come detto in precedenza per chi sceglie questa strada è necessario come prerequisito la conoscenza di questo linguaggio di programmazione (magari, in futuro, su Weturtle ci sarà un percorso di introduzione a questo linguaggio).

Ecco il risultato nel terminal di Visual Studio Code della nostra soluzione:

Scopri i servizi di Weturtle

per il PIANO SCUOLA 4.0 del PNRR


Ottieni uno spazio di apprendimento con contenuti didattici per docenti e studenti, dove facilitare lo scambio e favorire la comunità di pratica e dove tenere sotto controllo i progressi della classe e dei docenti.

Vuoi leggere la lezione quando vuoi, anche offline?





POTREBBE INTERESSARTI ANCHE

TUTORIAL HTML – Lezione 3

FREE

Tempo: 4 min

TUTORIAL
   Weturtle Team
TUTORIAL - COSTRUIRE UN GIOCO A QUIZ CON APP INVENTOR (pt. 2)

FREE

Tempo: 6 min

TUTORIAL
   Luca Balestra
Una classe intelligente con Scratch 3

FREE

Tempo: 12 min

PROGETTO
   Lorenzo Cesaretti
Il passaggio dell'asteroide: Scratch e l'equazione della retta

FREE

Tempo: 3 min

PROGETTO
   Lorenzo Cesaretti
Arduino e Python a scuola: due mondi fantastici che si incontrano

FREE

Tempo: 32 min

TURTLETALK
   Lorenzo Cesaretti

Vuoi fare una domanda all'autore?

oppure


GLI ALTRI UTENTI HANNO CHIESTO

Chat Icon

Wetruvio

Ciao! Sono Wetruvio, il tuo assistente virtuale!