Menu Chiudi

Introduzione a Blockly

La programmazione visuale a blocchi

Blockly si può usare seguendo questo collegamento.

Articoli su Blokly in questo blog

Durante le attività del progetto abbiamo iniziato a usare Blockly in modo via via migliore, imparando dai nostri stessi errori e scoprendo alcune imperfezioni (o scelte progettuali non del tutto condivisibili) del generatore di codice sviluppato da Google. Quello che abbiamo appreso lo abbiamo raccolto in questi articoli:

Un approccio morbido al coding

Il metodo utilizzato per approcciare alla programmazione – senza in realtà affrontare l’apprendimento di un linguaggio di programmazione vero e proprio – è descritto in una serie di articoli, il primo è Programmare senza un linguaggio di programmazione 1/3. L’idea, in estrema sintesi, è: scrivi in linguaggio naturale l’algoritmo, raffina le istruzioni secondo certi canoni, concretizza la tua idea utilizzando Blockly.

Librerie e laboratori

Alcuni dei laboratori affrontati nel corso del progetto hanno richiesto l’implementazione di algoritmi e procedure o lo sviluppo di vere e proprie librerie. Tutti sono stati progettati e costruiti usando l’approccio descritto qui sopra e negli articoli Programmare senza un linguaggio di programmazione.

Modelli per le epidemie 2.0

È uno dei laboratori che più fanno uso del coding: 18 – Modelli per le epidemie 2.0. Negli anni studenti e studentesse hanno realizzato e migliorato un’applicazione per simulare la diffusione di un’epidemia costruita intorno a un semplice – ma efficace – modello agent based. Il laboratorio è raccontato nell’articolo Virus, pandemie e matematica, c’è tanto, tanto, materiale a corredo ed è uno dei migliori esempi dei risultati che si possono raggiungere con l’approccio al coding utilizzato in questo progetto.

Distribuzione della ricchezza

La realizzazione di un modello agent based è affrontata anche nel laboratorio Un mondo ingiusto: chi troppo e chi niente! in cui si ricostruisce il Modello affine per la distribuzione della ricchezza di Li, Boghosian, Li. Anche questo laboratorio è condensato nel fascicolo 17 – Distribuzione della ricchezza. Qui, per la prima volta, il codice Javascript prodotto da Blockly è immerso in un foglio di calcolo Google in modo da poter utilizzare il modello come fosse una funzionalità nativa del foglio di calcolo.

Cancellazione del rumore

Il laboratorio Un esperimento tutt’altro che insonorizzato mostra come è possibile costruire un filtro per la cancellazione del rumore con un approccio soft al coding. Come di consueto, l’esperienza è ripercorribile con il fascicolo 20 – Cancellazione del rumore e il codice (XML prodotto da Blockly e Python) è disponibile in un file in formato ZIP.

Derivata aritmetica e Trascendenti

Sono due laboratori realizzati in collaborazione con il dott. Donato Bini (CNR-IAC) che hanno per tema principale:

Allineamento LIDAR

Laboratorio sviluppato in collaborazione con il dott. Gianluigi Liberti (CNR-ISAC) che ha richiesto lo sviluppo e l’implementazione di un algoritmo per allineare uno dei telescopi che fanno parte del LIDAR. Anche in questo caso il codice è stato generato usando Blockly e le corrispondenti procedure si possono testare su questo stesso blog e sono descritte qui. Il fascicolo corrispondente si può scaricare dalla pagina Download o direttamente seguendo questo collegamento. Inoltre:

  • applicazione in formato XML (da usare in Blockly);
  • libreria in Python (generata da Blockly).

Corso introduttivo

Qui di seguito è raccolto il materiale (video e file XML soprattutto) usato nel breve corso Introduzione alla programmazione visuale. Le lezioni sono indirizzate principalmente ad alunni del liceo scientifico all’inizio del loro quarto anno di corso e sono mirate soprattutto alle attività di alternanza scuola-lavoro nell’ambito del progetto RiA, per questo motivo non è un corso esaustivo.

Ricordiamo che si può usare l’ambiente, il generatore di codice Blockly, anche direttamente su questo blog in questa pagina.