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)

Tempi

Tempo stimato per la lezione in classe: 2.00 h

Strumenti

  • 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.

lezione free corso Faccio, imparo e mi diverto con i circuiti di Tinkercad - ID SOFIA: 49553

Abbiamo un regalo per te!

Ti interessa l'argomento Coding?


Fai il login e guarda GRATUITAMENTE la prima lezione del corso Faccio, imparo e mi diverto con i circuiti di Tinkercad - ID SOFIA: 49553

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:

Faccio, imparo e mi diverto con i circuiti di Tinkercad...


Vuoi approfondire gli argomenti trattati in questo progetto?


Ti consigliamo il corso Faccio, imparo e mi diverto con i circuiti di Tinkercad - ID SOFIA: 49553

SCOPRI IL CORSO

Vuoi leggere la lezione quando vuoi, anche offline?





Vuoi fare una domanda all'autore?

oppure


GLI ALTRI UTENTI HANNO CHIESTO