La decomposizione è un'abilità informatica fondamentale, essenziale per sviluppare la comprensione a lungo termine degli studenti su come risolvere i problemi di codifica. Questo articolo esplora cos'è la scomposizione, perché è importante e come facilitare l'apprendimento della scomposizione da parte degli studenti.

Cos'è la decomposizione?

La decomposizione è il processo di suddivisione di un problema complesso in parti più piccole e più gestibili. Ciò semplifica il processo di creazione di un progetto di codifica consentendo agli studenti di risolvere un componente del problema alla volta.

Perché la decomposizione è importante?

Quando gli studenti iniziano a imparare a programmare, si trovano a dover pensare al linguaggio in un modo nuovo e stimolante. Devono passare dalla comunicazione in linguaggio parlato, che è pieno di inferenze e sfumature, alla struttura precisa e logica richiesta nella codifica. Questo adattamento è estremamente difficile per gli studenti e spesso ostacola il loro successo. La decomposizione è un'abilità informatica fondamentale che gli studenti devono acquisire per poter programmare con successo, poiché consente agli studenti di iniziare con il linguaggio parlato e perfezionarlo fino a quando non diventa qualcosa che può essere utilizzato in un progetto di codifica.

La scomposizione di un problema consente di risolverlo in piccoli incrementi, contribuendo a evitare che diventi opprimente per gli studenti. Quando gli studenti scompongono i problemi in parti più piccole prima di iniziare a scrivere codice, possono quindi costruire ogni piccola sezione di un progetto e testarla per essere sicuri che funzioni come previsto, prima di passare alla parte successiva. Questo è molto più semplice che provare a codificare tutti i passaggi necessari per raggiungere un obiettivo in una volta e impedisce agli studenti di provare la frustrazione di perdersi in un lungo progetto quando tentano di risolvere gli errori.

Il processo di scomposizione offre inoltre agli studenti un approccio sistematico alla costruzione di un progetto, eliminando la tentazione che gli studenti potrebbero avere di indovinare e verificare la strada verso una soluzione. Indovinare e verificare è un modo inefficiente per risolvere un problema e diventa inefficace quando gli studenti iniziano ad affrontare sfide di codifica sempre più complesse.

Inoltre, la scomposizione di un progetto consente agli studenti di identificare modelli nel loro codice e di sviluppare, modificare e riutilizzare sezioni di codice. Ciò semplifica sia la creazione che la risoluzione dei problemi dei progetti, fornendo allo stesso tempo agli studenti una comprensione più profonda del codice che stanno creando, consentendo loro di utilizzare questa comprensione in progetti futuri.

Infine, la scomposizione facilita anche la collaborazione tra gli studenti mentre lavorano insieme per creare progetti di robotica in gruppo. Un progetto scomposto registrato in un taccuino di ingegneria fornisce un artefatto che gli studenti possono utilizzare quando discutono di progetti di gruppo o li condividono con altri gruppi.

Facilitare la decomposizione

La scomposizione avviene quando gli studenti sono nella fase di pianificazione, prima ancora che inizino a costruire i loro progetti. Gli studenti dovrebbero registrare il processo di scomposizione nei loro quaderni di ingegneria e condividerlo con te prima di iniziare a scrivere codice. Per ulteriori informazioni sull'utilizzo dei notebook di ingegneria con gli studenti, vedere questo articolo.

Fornire agli studenti questo semplice quadro in tre fasi per avvicinarsi alla scomposizione:

  1. Identificare l'obiettivo principale del progetto dichiarando il risultato che il robot dimostrerà quando il progetto avrà successo. Registra questo obiettivo nel taccuino di ingegneria.
  2. Determinare i passi principali che il robot deve compiere per raggiungere l'obiettivo. Considerare e registrare i passaggi principali o generali che il robot dovrà completare per raggiungere l'obiettivo. Registra questi passaggi di alto livello nel taccuino di ingegneria.
  3. Suddividere i passaggi principali nei più piccoli incrementi possibili del comportamento del robot. Suddividere ciascuno dei passaggi principali nel comportamento più piccolo che il robot può completare. Registra questi passaggi scomposti nel taccuino di ingegneria.
    • Ciascuno dei comportamenti del robot dovrebbe poter essere abbinato a un blocco o comando corrispondente. In caso contrario, i passaggi possono essere ulteriormente scomposti.

 

Illustrazione di un'aula didattica dotata di apparecchiature di robotica VEX, che mostra studenti impegnati in attività di apprendimento pratico, sottolineando la collaborazione e l'istruzione STEM.

In questo esempio, gli studenti stanno scomponendo un progetto per completare un labirinto nel VEXcode VR Wall Maze + Playground.

 

Illustrazione di un'aula scolastica con studenti impegnati in attività di apprendimento pratico, che mette in mostra strumenti didattici e lavoro collaborativo, sottolineando i metodi di insegnamento interattivi in un ambiente educativo.

Passaggio 1: identificare l'obiettivo principale del progetto. Registra l'obiettivo nel taccuino di ingegneria.

 

Un'aula didattica in cui gli studenti sono impegnati in attività di apprendimento pratico con i kit di robotica VEX, dimostrando collaborazione e innovazione nell'istruzione.

Passaggio 2: determinare i passaggi principali che il robot deve eseguire per raggiungere l'obiettivo. 

  • Qui, lo studente ha riflettuto su tutti i comportamenti che il robot dovrà adottare per spostarsi dal punto di partenza al punto finale del labirinto e li ha elencati in ordine nel quaderno di ingegneria.

 

Illustrazione dell'attrezzatura robotica VEX e degli studenti impegnati in un'attività in classe, che evidenzia l'apprendimento pratico e la collaborazione nell'istruzione STEM.

Passaggio 3: suddividere i passaggi principali nei più piccoli incrementi del comportamento del robot. 

  • Gli studenti possono iniziare a determinare i valori approssimativi necessari per completare ogni passaggio. Questi valori dovranno essere testati e modificati durante la creazione del progetto in VEXcode.
  • Gli studenti dovrebbero verificare che ogni passaggio scomposto corrisponda direttamente a un blocco VEXcode. In caso contrario, il passaggio deve essere ulteriormente scomposto.

Una volta che gli studenti hanno scomposto il loro progetto fino al livello di singoli blocchi o comandi, possono passare dalla fase di pianificazione del progetto alla fase di implementazione. Dovrebbero trasferire i passaggi principali determinati nel passaggio 2 nei Commenti, quindi aggiungere i blocchi o i comandi corrispondenti per ciascun comportamento completamente scomposto dal passaggio 3 a ciascuno di questi Commenti per costruire i loro progetti. 

Illustrazione raffigurante un'aula scolastica con studenti impegnati in attività di apprendimento pratico, che mette in evidenza strumenti e risorse didattiche per migliorare le esperienze in classe.

Gli studenti dovrebbero costruire i loro progetti un passo scomposto alla volta, testando ciascun comportamento (o un insieme di comportamenti raggruppati logicamente) prima di passare a quello successivo. È in questa fase che gli studenti dovranno utilizzare le risorse a loro disposizione per determinare i valori corretti dei parametri. Ad esempio, nell'esempio VEXcode VR sopra, i valori della distanza sono stati determinati sapendo che ciascun quadrato del labirinto ha un diametro di 300 mm. Il metodo per determinare i valori varierà a seconda delle circostanze, ma sarà sempre necessario testare e regolare i valori durante il processo di creazione di un progetto di codifica.

Supportare gli studenti mentre imparano la decomposizione

Prima che gli studenti inizino a lavorare su una sfida di un laboratorio STEM o di un altro progetto VEXcode, prenditi del tempo per elaborare tu stesso la scomposizione in modo da essere pronto a rispondere alle domande che gli studenti potrebbero avere. Incoraggia gli studenti a mostrarti il ​​piano scomposto del loro progetto prima di iniziare a scrivere il codice, in modo da poter rafforzare il processo di scomposizione e verificare che abbiano suddiviso l'attività nei più piccoli comportamenti robot possibili. Ricorda agli studenti che dovrebbero essere in grado di identificare un blocco o un comando che corrisponde a ciascun comportamento.

  • Se gli studenti hanno difficoltà a immaginare i passaggi principali o generali che il robot deve compiere per raggiungere l'obiettivo del progetto, incoraggiali a:
    • Disegna il percorso che il robot deve intraprendere per raggiungere l'obiettivo.
    • Esegui i passaggi che il robot deve compiere per raggiungere l'obiettivo.
    • Parla dei passaggi che il robot deve eseguire per raggiungere l'obiettivo.
  • Se gli studenti hanno difficoltà a determinare se i loro passi sono stati scomposti fino al livello del blocco individuale o del comando, chiedi loro:
    • Quanti blocchi o comandi sarebbero necessari al robot per completare quel comportamento?
    • Il robot può completare quel passaggio utilizzando un solo blocco o comando?
    • Come puoi scomporre quel comportamento in azioni robotiche ancora più piccole?

Supportare i tuoi studenti mentre imparano a scomporre garantirà loro una solida base per la futura risoluzione dei problemi in informatica. 

Hai altre domande su come facilitare l'apprendimento della decomposizione da parte degli studenti nella tua classe? Chiedi loro nella PD+ Community, oppure programma una sessione individuale per parlare con un esperto VEX.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: