Archivi tag: steam

Corso di Processing – lezione 03

 

Lo Schermo, i Pixel e le Linee in Processing

Prima di iniziare a programmare con Processing, è fondamentale comprendere come lo schermo venga rappresentato digitalmente e come possiamo interagire con esso attraverso il codice. Lo schermo del computer non è altro che una griglia di pixel, piccolissimi punti luminosi che compongono le immagini visualizzate. Ogni pixel ha una posizione ben definita, identificata da una coppia di coordinate (x, y).

Il Sistema di Coordinate in Processing

Processing utilizza un sistema di coordinate cartesiane leggermente diverso da quello scolastico:

  • L’origine (0,0) si trova nell’angolo in alto a sinistra dello schermo.
  • L’asse X cresce verso destra.
  • L’asse Y cresce verso il basso.

Questo significa che spostandosi a destra i valori di X aumentano, mentre spostandosi verso il basso i valori di Y crescono.

Risoluzione e Dimensioni della Finestra

Uno dei primi passi per lavorare con Processing è definire la grandezza della finestra in cui verrà disegnato il nostro codice. Per farlo, utilizziamo la funzione size(), che permette di impostare la larghezza e l’altezza della finestra in pixel:

size(400, 400);

Con questa riga di codice, Processing creerà una finestra quadrata di 400×400 pixel.

Disegnare un Punto e una Linea

In Processing, possiamo disegnare elementi grafici semplicemente utilizzando delle funzioni predefinite. Ad esempio, per disegnare un singolo punto nella posizione (200, 200) in una finestra 400×400 pixel, si usa:

size(400, 400);
point(200, 200);

Dovreste notare un punto di dimensioni di 1 pixel al centro della finestra, per rendere più evidente il punto aumentiamo le dimensioni del tratto con strokeWeight():

Per disegnare una linea che va dal punto (20, 30) al punto (300, 350) in una finestra 400×400 pixel, scriviamo:

Colori e Stili di Disegno

Processing permette anche di modificare l’aspetto degli elementi grafici. Possiamo cambiare il colore di una linea o di un punto con la funzione stroke(), specificando i valori di rosso, verde e blu (RGB):

inoltre, possiamo variare lo spessore delle linee con la funzione strokeWeight():

size(400, 400);
stroke(255, 0, 0); // Imposta il colore della linea su rosso
strokeWeight(4);
line(100, 100, 300, 300);

Questo codice disegnerà una linea più spessa rispetto a quella di default.

Capire il concetto di pixel, coordinate e linee è essenziale per lavorare con Processing. Con pochi comandi, è possibile creare strutture visive interessanti e gettare le basi per progetti più complessi. Sperimentare con point(), line() e stroke() aiuta a comprendere la logica del disegno digitale, un aspetto fondamentale per esplorare il Creative Coding e l’arte generativa.

L’importanza del punto e virgola in programmazione

Uno degli aspetti fondamentali della sintassi in Processing – e nella maggior parte dei linguaggi di programmazione – è l’uso del punto e virgola (;) per terminare un’istruzione. A differenza della scrittura tradizionale, in cui il punto segna la fine di una frase, in programmazione il punto e virgola serve a indicare al computer che un comando è stato completato.

È una regola essenziale da tenere sempre a mente, perché dimenticare un punto e virgola può causare errori nel codicee impedire al programma di funzionare correttamente. Mentre un essere umano può interpretare facilmente un testo anche se manca un segno di punteggiatura, un computer ha bisogno di istruzioni chiare e precise per eseguire il codice senza ambiguità.

Per chi è alle prime armi, può capitare spesso di dimenticare questo dettaglio. Fortunatamente, esistono strumenti come il debugger e i messaggi di errore nella console di Processing, che aiutano a individuare e correggere questi problemi. Con un po’ di pratica, il punto e virgola diventerà un’abitudine naturale nella scrittura del codice.

L’utilità dei commenti nel codice

I commenti sono uno strumento fondamentale in programmazione. Servono a spiegare il funzionamento di specifiche porzioni di codice, a lasciare note per sé stessi o a rendere il programma più comprensibile per altri sviluppatori. Anche se il codice può funzionare perfettamente senza di essi, i commenti aiutano a mantenerlo leggibile e organizzato, soprattutto nei progetti più complessi.

Scrivere commenti è una buona abitudine, sia per chi sta imparando sia per i programmatori più esperti. Con il tempo, sarà interessante riprendere i primi programmi e confrontarli con quelli più recenti. Per questo motivo, molti programmatori inseriscono all’inizio del file informazioni come la data di creazione e l’ultima modifica, utili per tenere traccia delle evoluzioni del codice.

Processing permette di scrivere commenti in due modi:

  • Commenti su una singola riga: Si inseriscono scrivendo // prima del testo.

  • Commenti su più righe: Si scrivono racchiudendo il testo tra /* e */.

Ecco alcuni esempi pratici in cui i commenti vengono utilizzati per spiegare il codice:

Esempio 1: Creazione di una finestra e disegno di un punto

// Imposta la dimensione della finestra a 400x400 pixel
size(400, 400);

// aumenta le dimensioni del tratto per rendere visibile il punto
strokeWeight(10);

// Disegna un punto alle coordinate (50,50)
point(50, 50);

Esempio 2: Disegnare una linea con colore personalizzato

size(400, 400); // Imposta la dimensione della finestra

stroke(255, 0, 0); // Imposta il colore della linea su rosso
strokeWeight(3); // Aumenta lo spessore della linea

// Disegna una linea dal punto (20,30) al punto (180,90)
line(20, 30, 180, 90);

Esempio 3: Commenti su più righe

/*
Questo programma disegna un quadrato rosso al centro dello schermo.
Data di creazione: 23 febbraio 2025
Autore: Nome Cognome
*/

// Imposta la dimensione della finestra
size(400, 400);

// Imposta il colore di riempimento su rosso
fill(255, 0, 0);

// Disegna un quadrato 100x100 al centro dello schermo
rect(150, 150, 100, 100);

I commenti aiutano a rendere il codice più chiaro e comprensibile, sia per chi lo scrive sia per chi potrebbe leggerlo in futuro. Una buona pratica è sempre commentare il proprio codice, specialmente quando si lavora a progetti più complessi o si condivide il proprio lavoro con altri.

Corso di Processing – lezione 02

Introduzione a Processing

Quando si parla di programmazione, spesso si pensa a codice complesso, algoritmi matematici e righe di testo prive di immediatezza visiva. Processing nasce per cambiare questa prospettiva, offrendo un ambiente intuitivo e accessibile che permette di avvicinarsi alla programmazione attraverso la grafica e l’interattività.

Processing è un linguaggio di programmazione e un ambiente di sviluppo progettato per aiutare studenti, artisti e designer a creare immagini, animazioni e interazioni in modo semplice e immediato. Non è necessario essere programmatori esperti per iniziare: l’interfaccia è progettata per facilitare l’apprendimento, consentendo di ottenere risultati visivi fin dai primi tentativi.

Perché usare Processing?

La caratteristica distintiva di Processing è la sua immediatezza:

  • Permette di scrivere poche righe di codice e vedere subito il risultato grafico.
  • È pensato per chi lavora con la creatività e vuole esplorare il potenziale della programmazione senza dover affrontare subito complessità tecniche avanzate.
  • Supporta la creazione di disegni, animazioni e interazioni, rendendolo perfetto per il Creative Coding e l’arte digitale.
  • È un software open-source e gratuito, con una vasta comunità di sviluppatori e artisti che condividono codici ed esperienze.

Un linguaggio per tutti

Processing è stato creato con l’idea di semplificare l’approccio alla programmazione, mantenendo però una grande potenza espressiva. È basato su Java, ma con una sintassi molto più snella, pensata per chi è alle prime armi.

Grazie alla sua struttura, è ideale per:

  • Studenti che vogliono imparare la programmazione in modo pratico e visivo.
  • Designer e artisti che desiderano sperimentare con il codice.
  • Insegnanti che vogliono introdurre la programmazione nelle scuole con un approccio interattivo.

Come iniziare?

Per cominciare a usare Processing, è sufficiente:

  1. Scaricare il software dal sito ufficiale processing.org.

  2. Installarlo su Windows, macOS o Linux.

L’interfaccia di programmazione

L’interfaccia di Processing è essenziale e intuitiva, mantenendo nel tempo una struttura familiare per gli utenti. Nella parte superiore troviamo i pulsanti Run e Stop, fondamentali per eseguire e interrompere i nostri sketch – così vengono chiamati i programmi scritti in Processing.

L’area centrale, con sfondo bianco, è l’editor, lo spazio in cui scriviamo il codice. Qui possiamo digitare, modificare e organizzare le nostre istruzioni per dare vita a disegni, animazioni e interazioni.

Nella parte inferiore, con sfondo nero, si trova la console, uno strumento utile per individuare eventuali errori nel codice e ricevere messaggi di output. La console può essere sfruttata per debugging o per visualizzare informazioni utili sull’esecuzione del programma, aiutandoci a comprendere meglio il suo funzionamento.

Esplorare gli Esempi

Prima di iniziare a scrivere codice, è utile avere un’idea delle potenzialità offerte da Processing. Chi ha già installato l’IDE sul proprio computer può accedere a una raccolta di esempi predefiniti attraverso il menu File > Esempi. Qui si trovano diversi progetti suddivisi in categorie come Basics, Topics, Demos, Books, Libraries e Contributed Libraries, che permettono di scoprire le varie funzionalità del linguaggio.

Oltre a questi esempi, esistono numerosi progetti realizzati con Processing che possono essere fonte di ispirazione per chi si avvicina per la prima volta a questo strumento. Osservare ciò che è possibile creare con poche righe di codice può essere un ottimo punto di partenza per esplorare e sperimentare nuove idee.

Processing nella didattica e nell’arte

Processing non è solo un linguaggio di programmazione, ma un vero e proprio strumento educativo. Molte scuole e università lo utilizzano per insegnare la programmazione in modo più coinvolgente, trasformando il codice in qualcosa di concreto e tangibile.

Anche nel mondo dell’arte digitale, Processing è utilizzato per generare immagini, animazioni ed esperienze interattive. È una piattaforma che unisce logica e creatività, permettendo di esplorare il potenziale del codice in modi nuovi e stimolanti.

Se sei curioso di scoprire di più, ti invitiamo a provare i primi esercizi con Processing: potresti rimanere sorpreso da ciò che riuscirai a creare con poche righe di codice!

Risorse

Dalla prossima lezione inizieremo con la programmazione! 🙂

In arrivo una nuova versione di EduRobot MicroMoto!

Da tempo avevo “nel pennino” un progetto che ancora non ho avuto modo di sviluppare pienamente: la realizzazione di una valigetta STEAM pensata per attività di Making didattico da utilizzare in più discipline.
Ora, grazie all’evoluzione di EduRobot MicroMoto, il progetto sta prendendo forma concreta.

Sto lavorando alla progettazione di una nuova versione di MicroMoto, realizzata in compensato: una struttura più solida e resistente rispetto alla versione precedente in cartone.
Ogni faccia del parallelepipedo è preforata, permettendo un’elevata espandibilità: sarà possibile collegare facilmente componenti elettronici, sensori, attuatori, elementi meccanici e strutturali, trasformando il robot di base in molteplici configurazioni differenti.

Questa nuova versione non sarà un oggetto a sé stante, ma il primo modulo di un progetto più ampio: una valigetta modulare STEAM che raccoglierà componenti, strumenti ed esperimenti pensati per integrare varie discipline — dall’elettronica alla meccanica, dalla fisica alla programmazione.
L’idea è costruire un percorso laboratoriale completo, dove ogni elemento della valigetta diventa parte di un sistema didattico aperto, personalizzabile e progressivo.

La spinta a dare concretezza a questo progetto arriva anche dal nuovo corso di robotica che avvierò tra poche settimane, per il quale desideravo proporre ai partecipanti una piattaforma ancora più solida, versatile e stimolante.

Nei prossimi aggiornamenti, racconterò più nel dettaglio sia l’evoluzione di MicroMoto sia la progettazione della valigetta e dei primi kit di esperimenti!

Laboratorio di inclusione – dall’Idea alla realtà: costruire una Clessidra ad Acqua

Nello scorso mese ho avuto il piacere di partecipare alla gestione del corso

Percorso laboratoriale di ricerca e sperimentazione di strategie inclusive e strumenti digitali nella didattica della matematica finalizzata all’inclusione degli allievi con disabilità intellettiva”,

rivolto a docenti di matematica e di sostegno di ogni ordine e grado.

L’attività si è svolta all’interno del Laboratorio Territoriale per l’Occupabilità (LTO) di Moncalieri, uno spazio che, grazie alla disponibilità di strumenti per la prototipazione rapida, ha reso possibile coinvolgere attivamente i partecipanti nella progettazione e costruzione di ausili didattici pensati per rendere la matematica e la fisica più accessibili agli studenti con bisogni educativi speciali.

I vari gruppi di lavoro hanno progettato e realizzato diversi ausili didattici, ciascuno pensato per rispondere a esigenze concrete. Durante tutto il periodo del corso, gli strumenti sviluppati sono stati testati direttamente con gli studenti, permettendo di apportare modifiche e miglioramenti che hanno condotto alla realizzazione dei prodotti finali.

In particolare, il mio gruppo si è concentrato su due progetti:

  • Il “derivatografo”, uno strumento ideato per facilitare lo studio delle derivate rivolto agli studenti della scuola secondaria di secondo grado;
  • La clessidra ad acqua, pensata per supportare l’apprendimento della misurazione del tempo negli alunni della scuola primaria e della secondaria di primo grado.

La clessidra ad acqua nasce da un’esigenza reale: trovare un modo concreto e visivo per insegnare la misurazione del tempo a studenti con necessità specifiche.

Su richiesta dei colleghi, ho realizzato un primo prototipo di kit da distribuire alle scuole. Grazie ai feedback raccolti durante l’utilizzo, il kit è stato progressivamente perfezionato.
Insieme allo strumento, ho inoltre sviluppato una serie di schede operative da proporre agli studenti, per facilitare l’attività didattica e guidare il lavoro in classe.

La validità di questo progetto è stata ulteriormente confermata durante un recente corso sul Tinkering, in cui la costruzione della clessidra e le attività correlate hanno generato nuovi spunti e suggerimenti, aprendo la strada a futuri sviluppi e alla creazione di ulteriori ausili didattici.

I progetti sviluppati durante l’attività di formazione saranno presentati il prossimo 16 maggio in occasione della conferenza della Rete MICHI, che si terrà presso l’ITIS Pininfarina di Moncalieri.

Cos’è la Rete MICHI?
Il Protocollo d’intesa “Michi – Insieme per l’Inclusione” nasce per valorizzare e sostenere le realtà scolastiche, istituzionali e territoriali che fanno dell’inclusione un valore fondamentale, promuovendo sinergie efficaci e la diffusione di buone pratiche.

Buon lavoro 🙂

 

Idee STEAM: l’oloide, un oggetto affascinante per scoprire la bellezza della geometria e della matematica

Nell’ambito delle sperimentazioni per lo sviluppo di attività STEAM che sto conducendo, ho pensato di integrare le mie esercitazioni di modellazione e stampa 3D per gli allievi più giovani con la realizzazione di solidi geometrici per me affascinanti. Da quello che ho notato sono oggetti capaci di catturare l’attenzione degli allievi e stimolarne la curiosità. Tra le forme geometriche selezionate l’oloide si è rivelato particolarmente efficace: durante le prime sperimentazioni che ho condotto, gli allievi sembravano quasi ipnotizzati e parecchio curiosi nel vedere il suo movimento così insolito.

L’oloide è un solido geometrico scoperto nel 1929 dal matematico e scultore svizzero Paul Schatz. A prima vista, la sua forma può sembrare irregolare, ma in realtà è un oggetto matematicamente definito, costruito a partire da due cerchi identici disposti in un modo particolare nello spazio. Viene definito come “l’inviluppo convesso di 2 circonferenze di raggio R uguali tra loro, disposte su 2 piani ortogonali e tali che ognuna delle 2 passi per il centro dell’altra.”

Una delle sue caratteristiche più affascinanti è il modo in cui rotola: pur non avendo superfici piane di appoggio come una ruota, l’oloide si muove con un’oscillazione particolare, alternando punti di contatto con il piano su cui si sposta percorrendo una linea retta.

Questo movimento unico lo rende particolarmente interessante per attività didattiche, in quanto permette di esplorare concetti di geometria, fisica e cinetica in modo visivamente coinvolgente.

Il suo moto vacillante incuriosisce gli studenti e genera un effetto di sorpresa, diventando così un perfetto strumento rompighiaccio in classe. Credo possa essere utilizzato in diversi modi:

  • osservazione e discussione: si può chiedere agli studenti di ipotizzare come potrebbe muoversi prima di vederlo in azione.
  • esperimenti pratici: lasciarlo rotolare su superfici diverse e analizzare il suo comportamento.
  • collegamenti interdisciplinari: l’oloide può essere un punto di partenza per approfondire concetti di matematica, fisica e persino arte e design.

Questa forma geometrica come altre che sto selezionando, permettendo agli studenti di scoprire la bellezza della geometria in modo giocoso e coinvolgente pertanto ho pensato di utilizzarlo durante i corsi di stampa 3D in modo da favorire l’inclusione, la partecipazione e l’apprendimento attivo.

Online potete trovare numerosi progetti tra cui quello che vi allego:

Modello 3D dell’oloide

Il modello è pronto per la stampa, ma necessita di supporti per essere realizzato correttamente. Se volete portare l’oloide in classe, vi consiglio di sperimentare con diverse dimensioni e materiali per ottenere il miglior effetto possibile.

Buona sperimentazione 🙂

Risorse: