SIMULAZIONE DI LEZIONE (con inclusione BES/DSA).
Disciplina: Informatica.
Classe III Istituto Tecnico – Indirizzo Informatica e Telecomunicazioni.
Argomento: Linguaggi ad alto livello: funzioni e passaggio dei parametri per valore.
Durata: 2 ore (120 minuti).
1. Analisi del contesto classe.
Classe composta da 21 studenti con livelli di competenza eterogenei.
Presenze ipotizzate.
- 1 studente con DSA (dislessia e difficoltà nella comprensione di codice complesso)
- 1 studente BES con difficoltà attentive e organizzative
- Differenti stili cognitivi (visivo, operativo, verbale)
2. Prerequisiti.
Gli studenti possiedono conoscenze relative a:
- Variabili e tipi di dato
- Strutture di controllo
- Concetto di algoritmo
- Programmazione sequenziale
- Concetto di sottoprogramma (richiamo informale)
3. Finalità didattiche.
Comprendere il ruolo delle funzioni nei linguaggi ad alto livello e il meccanismo del passaggio dei parametri per valore per favorire:
- modularità del software
- riuso del codice
- organizzazione logica dei programmi
4. Obiettivi didattici.
Conoscenze.
Gli studenti dovranno conoscere:
- Definizione di funzione
- Differenza tra funzione e procedura
- Struttura di una funzione
- Parametri formali e attuali
- Passaggio dei parametri per valore
Abilità.
Gli studenti dovranno essere in grado di:
- Scrivere funzioni in un linguaggio ad alto livello
- Richiamare funzioni con parametri
- Comprendere il comportamento del passaggio per valore
- Scomporre un problema in sottoproblemi
Competenze.
- Progettare programmi modulari
- Applicare tecniche di astrazione e decomposizione
5. Metodologie didattiche.
– Lezione dialogata
– Problem solving
– Learning by doing
– Cooperative learning
– Peer tutoring
– Coding guidato
6. Strategie Inclusive (UDL).
Rappresentazione.
- Spiegazioni orali e visive
- Mappe concettuali
- Codice commentato
- Schemi procedurali
Azione ed espressione.
- Attività a livelli differenziati
- Possibilità di spiegazione orale o grafica
Coinvolgimento.
- Attività collaborative
- Esempi concreti e contestualizzati
7. Strumenti didattici.
- Laboratorio informatico
- IDE di programmazione (C, Java, Python o pseudocodice)
- LIM
- Schede operative
- Glossario tecnico
- Video tutorial brevi
8. Articolazione della lezione.
Fase 1 – Attivazione e motivazione (15 minuti).
Situazione problema.
Il docente propone:
“Se dobbiamo calcolare più volte la media di numeri diversi, dobbiamo riscrivere ogni volta lo stesso codice?”
Discussione guidata.
Si introduce il concetto di riuso del codice e modularità.
Supporti inclusivi.
- Domande guida
- Esempi concreti
- Brainstorming collaborativo
Fase 2 – Introduzione teorica guidata (30 minuti).
Cos’è una funzione. Definizione semplificata: una funzione è un blocco di codice che esegue un compito specifico e può essere riutilizzato.
Struttura generale.
tipoRitorno nomeFunzione(parametri)
{
istruzioni
return valore;
}
Esempio pratico.
int somma(int a, int b) {
return a + b;
}
Parametri formali e attuali.
| Parametri formali | Parametri attuali |
| Variabili nella funzione | Valori passati alla funzione |
Passaggio dei parametri per valore. Spiegazione semplificata: la funzione riceve una copia del valore della variabile.
Esempio:
void modifica(int x) {
x = x + 5;
}
Se x = 10 nel programma principale, dopo la funzione x rimane 10.
Strategie inclusive.
– Uso metafore (fotocopia del valore)
– Diagrammi di flusso
– Esempi progressivi
Fase 3 – Visualizzazione del funzionamento (20 minuti).
Il docente costruisce con la classe una simulazione:
Variabile originale → copia → funzione → risultato
Uso di schema grafico alla LIM.
Fase 4 – Attività laboratoriale inclusiva (40 minuti).
Esercizio differenziato.
Livello base.
Scrivere funzione che calcola il quadrato di un numero.
Livello intermedio.
Funzione che calcola la media di tre numeri.
Livello avanzato.
Programma che utilizza più funzioni matematiche.
Supporti BES/DSA.
– Template di codice
– Suddivisione in micro-task
– Pair programming[1]
– Checklist operativa
– Codice con commenti esplicativi
9. Verifica formativa inclusiva (15 minuti).
Modalità differenziate:
- Domande orali guidate
- Quiz strutturato
- Completamento codice
- Produzione schema concettuale
10. Strumenti compensativi.
Per studenti DSA:
- Mappe concettuali
- Schemi procedurali
- Glossario dei termini tecnici
- Video della spiegazione
- Codice con font ad alta leggibilità
11. Misure dispensative.
- Riduzione quantità esercizi
- Tempi aggiuntivi
- Valutazione centrata sui concetti logici
12. Valutazione.
Indicatori.
- Comprensione concetto di funzione
- Uso corretto dei parametri
- Capacità di scomposizione del problema
- Partecipazione collaborativa
13. Compito autentico (homework inclusivo).
Realizzare un programma che contenga:
- funzione per calcolare area rettangolo
- funzione per calcolare perimetro
Possibili modalità di consegna:
– Codice
– Schema algoritmico
– Spiegazione orale
14. Collegamenti interdisciplinari.
- Matematica → calcolo funzioni
- TPSIT → progettazione software modulare
- Sistemi e reti → organizzazione dei moduli software
15. Autovalutazione studenti.
Scheda con domande guida:
- Ho capito cos’è una funzione?
- So distinguere parametri formali e attuali?
- Ho compreso il passaggio per valore?
- Sono stato autonomo nello svolgimento?
16. Sviluppi futuri.
- Passaggio parametri per riferimento
- Funzioni ricorsive
- Librerie di funzioni
- Modularizzazione avanzata
[1] Il pair programming è una tecnica di sviluppo software Agile in cui due programmatori collaborano simultaneamente sulla stessa postazione di lavoro. Un programmatore, detto “conducente” (driver), scrive il codice, mentre l’altro, il “navigatore” (navigator) o osservatore, lo supervisiona in tempo reale, correggendo errori e pianificando strategie. Questa pratica migliora la qualità del codice e facilita la condivisione delle conoscenze.
