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:
- Blockly: istruzioni per l’uso 1. In questo articolo affrontiamo un problema abbastanza frequente che provoca errori difficili da scoprire e correggere per un principiante: le variabili in Blockly sono sempre modificabili, dentro e fuori dalle funzioni!
- Blockly: istruzioni per l’uso 2. Affrontiamo un piccolo problema che si presenta quando si crea una libreria di funzioni (non di blocchi) aggiunta ai blocchi predefiniti. Per esempio la libreria dedicata all’approssimazione di numeri trascendenti presente su questo stesso blog.
- Blockly: istruzioni per l’uso 3. Un comportamento anomalo del blocco Count with quando il valore iniziale è maggiore del valore finale e una possibile soluzione.
- Blockly: istruzioni per l’uso 4. Prevenire un errore quando si cerca di assegnare un valore a un elemento di una lista che, però, non esiste nella lista.
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.
Trascendenti
È un laboratorio realizzato in collaborazione con il dott. Donato Bini (CNR-IAC) che ha per tema principale l’approssimazione di numeri trascendenti e irrazionali attraverso differenti metodi, più o meno rapidi nel convergere. Nel corso delle attività è stata sviluppata una libreria (usando il generatore di codice Blockly) che si può testare su questo stesso blog e che è descritta qui. Il fascicolo corrispondente si può scaricare dalla pagina Download o direttamente seguendo questo collegamento. Inoltre:
- libreria in formato XML (da usare in Blockly);
- libreria in Python (generata da Blockly).
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.
- Il primo programma con Blockly, un classico: Hello World! Puntata 01: Hello, World! (video lezione) – 06.57 minuti, Il file in formato XML con il codice dell’esempio (file compresso in formato zip) : Puntata 00 – Hello World, Articolo introduttivo alla puntata 00
- Il secondo programma introduttivo, il laboratorio: Puntata 01: tangente a una parabola. Algoritmi puntata 0: introduzione (video lezione), Introduzione al coding – Puntata 00 Tangente a una parabola (video lezione).
- Lavorare con i numeri e con il fattoriale di un numero naturale, il laboratorio: Puntata 02: Fattoriale. Algoritmi puntata 1: il fattoriale di un numero naturale (video lezione), Introduzione al coding – Puntata 01 Fattoriale (video lezione).
- Massimo Comun Divisore e minimo comune multiplo, il laboratorio: Puntata 03: MCD e mcm. Algoritmi puntata 2: il MCD di due numeri naturali, Introduzione al coding – Puntata 02 MCD, Algoritmi puntata 3: il mcm di due numeri naturali, Introduzione al coding – Puntata 03 mcm, Introduzione al coding – Puntata 02b: Ancora MCD.
- Una calcolatrice razionale, il laboratorio: Puntata 04 Una calcolatrice razionale. Algoritmi puntata 4: la somma di due frazioni, Introduzione al coding – Puntata 04 Somma di frazioni, Introduzione al coding – Puntata 04b Parser espressione razionale.