Progetto Curricoli Digitali – Big & Open Data

index

L’azione #15 del Piano Nazionale della Scuola Digitale (PNSD) prevede la realizzazione di Curricoli Digitali, che saranno messi a disposizione di tutto il sistema scolastico per lo sviluppo di competenze digitali. Il Liceo “Marie Curie” di Giulianova è capofila della rete di scuole composta, oltre che dal Liceo, dall’ I.I.S. “Luigi di Savoia” di Chieti, dal Liceo “Enrico Medi” di Senigallia e dall’I.I.S. “Umberto Pomilio” di Chieti, a cui, tramite un bando nazionale, è stato affidato dal Ministero lo sviluppo di un curricolo digitale sui Big e Open Data. Il prof. Basteris é entrato in graduatoria utile per poter attivare presso il nostro Liceo Classico e Scientifico “Pellico- Peano” tale sperimentazione.

Il progetto prevede la definizione di un Curricolo Digitale (CD) per formare gli studenti delle scuole secondarie superiori ad operare in modo consapevole ed efficace sui Big e Open Data, attraverso:

  • studio dei modi con cui mediante gli algoritmi si estrae in modo efficace informazione da dati massivi ed eterogenei (Big Data)
  • studio dei modi con cui mediante ambienti di sviluppo si creano applicazioni avanzate, interattive ed interoperabili
  • realizzazione di un’esperienza di elaborazione e pubblicazione di dati aperti (Open Data)
  • riflessione sull’impatto dei dati nella società digitale

Nello specifico il progetto prevede di sperimentare n°42 ore di informatica con studenti che non abbiano tale materia all’interno del proprio curricolo così suddivise :

  • FASE 1 – n°20 ore nel mesi di giugno-luglio 2021
  • FASE 2 – n°22 ore nei mesi gennaio-febbraio-marzo 2022

Le ore saranno proposte (nei limiti concessi dalla situazione pandemica) in presenza nei laboratori di informatica della nostra scuola fino ad un massimo di n°4o studenti iscritti delle classi prime, seconde e terze del liceo classico e scientifico (indirizzo sportivo e ordinamentale). Sono esclusi solamente gli studenti del liceo scientifico opzione scienze applicate in quanto all’interno del loro curricolo è già prevista la materia informatica.

Per informazioni scrivere a luca.basteris@liceocuneo.it

Per iscriversi alla FASE 2 compilare il seguente Google form:

https://forms.gle/nGfkMPyA1wTXHWvC6

Le date per la FASE 1 (soggette ancora a cambiamento in base ai calendari degli esami di stato) saranno:

  • Martedì 15 giugno 2021 ore 8.30-11.30
  • Giovedì 17 giugno 2021 ore 14.30-16.30
  • Mercoledì 23 giugno 2021 ore 14.30-16.30
  • Giovedì 24 giugno 2021 ore 8.30-11.30
  • Venerdì 25 giugno 2021 ore 8.30-11.30
  • Lunedì 28 giugno 2021 ore 14.30-16.30
  • Mercoledì 30 giugno 2021 ore 14.30-16.30
  • Giovedì 1 luglio 2021 ore 8.30-11.30

Le date proposte per la FASE 2 (soggette ancora a cambiamento in base ai calendari degli scrutini e/o delle attività scolastiche) sono le seguenti:

  • Martedì 11 gennaio 2022 ore 14.00-16.00
  • Giovedì 20 gennaio 2022 ore 14.30-16.30
  • Martedì 25 gennaio 2022 ore 14.30-16.30
  • Giovedì 3 febbraio 2022 ore 14.30-16.30
  • Martedì 8 febbraio 2022 ore 14.30-16.30
  • Giovedì 17 febbraio 2022 ore 14.30-16.30
  • Martedì 22 febbraio 2022 ore 14.30-16.30
  • Giovedì 3 marzo 2022 ore 14.30-16.30
  • Martedì 8 marzo 2022 ore 14.30-16.30
  • Giovedì 17 marzo 2022 ore 14.30-16.30
  • Martedì 22 marzo 2022 ore 14.30-16.30

Maggiori infomazioni al sito del progetto:

https://programmailfuturo.it/big-open-data

Attività divulgativa per il progetto:

https://programmailfuturo.it/video-baod

FASE 1

LEZIONE 1 – Usare comandi semplici

Per creare la propria utenza su Programma il Futuro, ogni studente deve seguire le istruzioni
presenti in questa pagina del sito: https://programmailfuturo.it/chi/iscrizione-per-studenti/

Come indicato nelle suddette istruzioni, l’utenza creata è valida (con la medesima password) anche per accedere su Code Studio. Gli studenti dovranno quindi dopo accedere su Code Studio seguendo questo link: https://studio.code.org/users/sign_in/lang/it

e cliccare successivamente su quest’altro link, che vi porterà direttamente in classe:
https://studio.code.org/join/XPHNYM dove XPHNYM rappresenta il codice-classe.

Il materiale e le registrazioni delle lezioni le troveremo invece sulla nostra piattaforma Moodle al seguente link: https://mooc.liceocuneo.it/corsi/course/view.php?id=18#section-1

Questa lezione è, per lo studente, la prima esperienza di programmazione nell’ambiente di sviluppo App (App Lab). La lezione inizia con una breve riflessione di stimolo. Poi, prima di iniziare a programmare, gli studenti vengono introdotti alla pratica della programmazione in coppia (pair programming). Per questa lezione gli studenti hanno a disposizione solo pochi semplici comandi per disegnare sullo schermo con la tartaruga. Dopo alcuni esercizi di riscaldamento, utilizzando solo combinazioni dei quattro comandi disponibili, gli studenti devono capire il modo più efficace per disegnare un’immagine di una griglia 3×3. La lezione si conclude con una discussione sul significato di efficienza nella programmazione e sulla motivazione dietro la scelta di iniziare a programmare, con un numero così limitato di comandi a disposizione.

LEZIONE 2 – Creazione di funzioni

In questa lezione, gli studenti imparano a definire e chiamare le procedure (in JavaScript, le procedure sono chiamate funzioni), al fine di creare e dare un nome a un gruppo di comandi per poterli usare ripetutamente nel proprio codice in modo facile. Verranno introdotti all’idea che le funzioni sono una forma di astrazione che permette loro di suddividere il codice in parti più piccole, in modo più logico e di concentrarsi sul cosa viene fatto da una parte, piuttosto che sul come viene fatto. Mentre esplorano l’uso delle funzioni attraverso una sequenza di attività in App Lab, verrà chiesto agli studenti di pensare a dove vedono l’opportunità di usare funzioni e di come tali funzioni possono rendere il loro codice più chiaro o più conciso.

Lezione 3 – API e Utilizzo di Funzioni con Parametri

Gli studenti impareranno a leggere la documentazione delle API di App Labs ed useranno funzioni che accettano parametri, al fine di completare una serie di puzzle di disegno che richiedono di usare la documentazione sopra citata per apprendere nuove istruzioni di disegno. Molti di queste istruzioni richiedono l’uso di parametri. La sfida finale richiede agli studenti la progettazione di un monogramma personalizzato facendo uso delle istruzioni che hanno imparato durante la lezione.Un’API è una guida di riferimento che cataloga e spiega le funzionalità di un linguaggio di programmazione. Se un programmatore si abitua a fare riferimento alle API, esso potrà fare pieno uso di questa funzionalità senza subire il tedio di memorizzare ogni dettaglio del linguaggio. Nella lezione di oggi, gli studenti dovranno consultare le API al fine di trovare e comprendere nuove istruzioni per muovere la tartaruga, selezionando colori, e disegnando sullo schermo linee e punti di varie grandezze. Gli studenti non devono necessariamente comprendere nel dettaglio ogni istruzione dell’API di disegno, ma dovrebbero acquisire familiarità con la pratica di fare riferimento ad un’API come parte integrante del processo di scrittura di un programma. Questa sarà anche la prima volta che gli studenti avranno accesso alle funzioni di disegno che accettano parametri (ad esempio, moveForward(40) invece di moveForward()).

Lezione 4: creare funzioni con parametri

In questa lezione, gli studenti fanno pratica di utilizzo e di creazione di funzioni con parametri. Gli studenti imparano che la scrittura di funzioni con parametri può ulteriormente generalizzare le soluzioni dei problemi. Soprattutto in situazioni in ci si accorge che si sta per copiare un po’ di codice, con solo alcune modifiche numeriche, in questo caso è un buon momento per scrivere una funzione che accetta parametri. Nella seconda metà della lezione, gli studenti attueranno una serie di modifiche ad un programma che crea una scena sottomarina con l’aggiunta di parametri alle funzioni che permettono di variare facilmente la scena. Infine, gli studenti vengono introdotti alle funzioni per la generazione di numeri casuali di App Lab per fornire valori aleatori alle chiamate di funzione in modo che la scena sembri un po’ diversa ogni volta che il programma viene eseguito.

Lezione 5: cicli e numeri casuali

Gli studenti imparano ad utilizzare numeri casuali e cicli per creare variazioni nei loro disegni e rapidamente duplicare oggetti che vogliono far apparire più volte nelle loro scene digitali. Gli studenti saranno introdotti ad una versione del ciclo for che consente soltanto la modifica del numero di iterazioni del cliclo. Questo blocco è essenzialmente un blocco di “ripetizione” e sarà presentato in questo modo. Gli studenti saranno presentati anche a dei blocchi che consentono loro di scegliere un numero casuale all’interno di un determinato intervallo. Insieme, questi blocchi consentono agli studenti di creare sfondi più complessi per le loro scene digitali piazzando in modo casuale semplici oggetti all’interno dello sfondo della scena. Gli studenti utilizzano questi strumenti per il andare oltre e migliorare la scena sottomarina d’esempio.

Lezione 6: Cosa sono i Big Data?

In questa lezione, gli studenti vengono introdotti al concetto di “Big Data” inteso come grande mole di dati: da dove proviene, cosa la rende così “grande” e come viene utilizzata per risolvere problemi. Successivamente, gli studenti sono invitati a prendere in considerazione quanto alcuni aspetti della vita possano essere dipendenti dai dati.
Vengono quindi guidati dagli insegnanti ad osservare le proiezioni di crescita dei dati generati ogni giorno nel mondo.
Successivamente, gli studenti utilizzano in coppia uno strumento di visualizzazione cercando di comprendere la sua utilità per analizzare l’andamento di alcune collezioni di dati e determinarne le fonti.
Il concetto fondamentale di questa lezione è essere consapevoli delle assunzioni da fare quando si utilizzano strumenti basati sull’analisi e la visualizzazione di Big Data.
Il mondo dei Big Data è grande e in questa lezione abbiamo appena iniziato a capire come risolvere alcuni problemi connessi ad essi.

Lezione 7: Identificare le persone tramite dati

In questa lezione gli studenti condurranno una piccola ricerca per esplorare un’innovazione nell’informatica che fa largo uso di dati. Gli studenti ricercheranno un argomento di interesse personale e risponderanno a domande in merito a come questo produce, utilizza o consuma dati. Lo scopo di questa lezione è quello di far esercitare gli studenti a svolgere una ricerca, indirizzandoli al meglio nel capire cosa cercare.

Lezione 8:Il costo di ciò che è gratis

Questa lezione fa il punto circa la situazione economica ed evidenzia le preoccupazioni dei consumatori nell’uso delle applicazioni e dei siti web che raccolgono dati in cambio della fornitura di un servizio gratuito. Spesso la qualità del servizio stesso dipende dall’accesso a questi dati ed al tracciamento del comportamento di chi li produce. Il punto principale della lezione è rendere gli studenti consumatori consapevoli della tecnologia che li circonda. Dovranno essere in grado di spiegare alcuni dei compromessi tra mantenimento della privacy personale e utilizzo gratuito di software innovativo.

The Future of Big Data
Come guadagnano i social spiegato in The Social Dilemma | Netflix Italia

FASE 2

Lezione 9:Introduzione alla programmazione guidata dagli eventi

Gli studenti sonostati introdotti a una nuova funzionalità di App Lab: la Modalità interfaccia. Gli studenti imparano a creare elementi dell’interfaccia utente che hanno visto in precedenza, come immagini, etichette di testo e pulsanti, ma avranno ulteriori opzioni per personalizzare questi elementi con colori, dimensioni dei testi e così via. Gli studenti imparano anche come aggiungere gestori di eventi – ovvero codice che ascolta e risponde a eventi generati dagli utenti. Inoltre si sono esplorati alcuni degli errori più comuni che si commettono nella programmazione guidata dagli eventi effettunado il debug di programmi, tra le quali in particolare come rispondere ai messaggi di errore.

La progettazione di interfacce grafiche

Lezione 10: Applicazioni multi-schermo e Introduzione alle variabili

Gli studenti continuano a studiare la programmazione ad Eventi imparando ad aggiungere più screen per un’app ed aggiungendo il codice necessario per muoversi tra di essi. Successivamente si è iniziato ad esplorare come si lavora con le variabili per memorizzare i dati di un programma. La lezione mostra agli studenti come creare e assegnare valori a variabili.

Video introduttivo sulle variabili Parte 1

Lezione 11: Le variabili e crea un App “Clicca e insegui”

Gli studenti in questa lezione dopo aver terminato l’esercitaizone precedente introduttiva sulle variabili, hanno aggiunto variabili a due diverse applicazioni di esempio, per tenere traccia di un punteggio, o del numero di clic su un pulsante. Gli argomenti principali sono la visibilità delle variabili e la comprensione delle differenze, nonché dei pro e dei contro dell’usare variabili globali rispetto a variabili locali.

Video introduttivo sulle variabili Parte 2

Lezione 12: Input utente e stringhe e le istruzioni condizionali

In questa lezione,viene introdotto il tipo di dato stringa come un modo per rappresentare sequenze arbitrarie di caratteri ASCII. Essi utilizzeranno le stringhe per accettare l’input dell’utente nel momento in cui avranno a che fare con due nuovi elementi di UI, l’input di testo e l’area di testo.
Inoltre il termine dell lezione  è dedicata per l’apprendimento delle istruzioni condizionali if, spiegando cosa sono, quale terminologia è legata ad esse e che cosa hanno a che fare con la “selezione” nei programmi.

Lezione 13:Le espressioni booleane e le istruzioni “if”

In questa lezione sono introdotte le strutture condizionali if e if-else per la prima volta e le strutture condizionali annidiate.

Introduzione alle istruzioni condizionali – parte 1 Pagina
Introduzione alle istruzioni condizionali – seconda parte
Introduzione alle istruzioni condizionali – Parte 2b
Strutture condizionali annidiate

Lezione 14:Istruzione “if-else-if”, la logica condizionale e introduzione alla crittografia

In questa lezione,studenti sono stati presentati gli operatori booleani (logici) NOT, AND, OR, come strumenti per la creazione di condizioni booleane composte in caso di istruzioni condizionali, imparando ad esprimere in modo più efficiente una logica complessa utilizzando AND e OR, piuttosto che utilizzando istruzioni condizionali concatenate o molto annidate.

Lezione 15 – Crittografia semplice e crittografia con chiavi e password

In questa lezione si è parlato dell’importanza della crittografia ed alcune semplici tecniche per la decodifica di messaggi segreti. Gli studenti di proveranno in prima persona a forzare messaggi codificati con il cifrario di Cesare e con un cifrario a sostituzione casuale. Inoltre si sono cercate di capire la relazione tra chiavi crittografiche e password. Si è esplorato il cifrario di Vigenère con un widget per vedere come una “chiave” crittografica possa essere utilizzata per cifrare e decifrare un messaggio

Lezione 16Ricerca rapida – Crimini informatici

Gli studenti verranno a conoscenza di vari tipi di crimini informatici e delle misure di sicurezza informatica in grado di prevenirli. Quindi gli studenti eseguiranno un rapido progetto di ricerca, indagando un particolare evento di criminalità informatica con un’attenzione particolare ai dati che sono stati persi o rubati e alle preoccupazioni che ne derivano. Questa attività di ricerca fungerà da coronamento alla sequenza di lezioni su crittografia e sicurezza svolte precedentemente.

Lezione 17 – Cicli while

In questa lezione viene illustrato il ciclo while. Gli studenti sono introdotti al ciclo while analizzando il diagramma di flusso di una istruzione condizionale in cui il ramo “true” riconduce alla condizione originale. Gli studenti poi progettano un loro diagramma di flusso per rappresentare una situazione reale che può essere ricondotta ad un ciclo while, ed imparano a riconoscere le strutture più comuni di un ciclo, e in particolare di un ciclo infinito.

Simple Flow Chart

Successivamente gli studenti acquisiscono una maggiore familiarità con i cicli while sviluppando una simulazione che ripete lanci di monete fino a quando non sono soddisfatte determinate condizioni.

Lezione 18 -Introduzione gli array

Questa lezione introduce gli array come mezzo per memorizzare una lista di informazioni in un programma. La lezione inizia sottolineando le difficoltà che si presentano quando si prova a salvare una lista di informazioni in una singola variabile.

Lezione 19 -Elaborazione degli array

Questa lezione introduce gli studenti ad algoritmi che elaborano liste di dati.