LEZIONE LINGUAGGIO AD ALTO LIVELLO, FUNZIONI, PASSAGGIO DEI PARAMETRI PER VALORI.

Linguaggio di alto livello
Linguaggio di alto livello

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 formaliParametri attuali
Variabili nella funzioneValori 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. 

** Se puoi sostenere il mio lavoro, comprami un libro | Buy me a book! **
** ISCRIVITI ALLA NEWSLETTER ! **

About the Author

Sergio Mauri
Blogger, autore. Perito in Sistemi Informativi Aziendali, musicista e compositore, Laurea in Discipline storiche e filosofiche e in Filosofia. Premio speciale al Concorso Claudia Ruggeri nel 2007; terzo posto al Premio Igor Slavich nel 2020. Ha pubblicato con Terra d'Ulivi nel 2007 e nel 2011, con Hammerle Editori nel 2013 e 2014, con PGreco nel 2015 con Historica Edizioni e Alcova Letteraria nel 2022 con Silele Edizioni (La Tela Nera) nel 2023 e con Amazon Kdp nel 2024 e 2025.