Modulo di perfezionamento PLS sulla didattica dell’Informatica

Docente: Claudio Mirolo

L’informatica non ha solo rilevanza per le implicazioni tecnologiche, ma ha un valore scientifico e culturale autonomo. Intesa come teoria e pratica dell’elaborazione algoritmica, è una disciplina che presenta un ricco repertorio di problemi e di metodologie per affrontarli.

L’informatica […] è un complesso di conoscenze scientifiche e tecnologiche che permettono di realizzare quello che si potrebbe chiamare il metodo informatico: così come il metodo scientifico può essere riassunto nel formulare ipotesi che spieghino un fenomeno e nel verificare tali ipotesi mediante […] esperimenti, il metodo informatico consiste nel formulare algoritmi che risolvano un problema, nel trasformare questi algoritmi in [programmi] per le macchine e nel verificare la correttezza e l’efficacia di tali programmi analizzandoli ed eseguendoli. L’informatica contribuisce alle scienze con concetti propri, quali la nozione di effettività, di complessità computazionale, di gerarchia di astrazione.

L’informatica condivide con altre scienze lo studio delle tecniche risolutive di problemi […] e come importante contributo originale mette a disposizione strumenti linguistici progettati affinché ciò sia possibile e semplice. Inoltre, studia le somiglianze tra i problemi e le loro soluzioni […].

[…] I principi dell’informatica […] hanno un valore formativo enorme, che va molto al di là dell’apprendimento dell’uso del computer. L’informatica come disciplina scientifica non è riducibile all’uso dei suoi strumenti ed ha poco a vedere con ciò che oggigiorno è nota come “alfabetizzazione informatica” […]. L’uso degli strumenti senza un’esposizione ai principi scientifici è causa da una parte dell’obsolescenza delle competenze […], dell’altra non permette di vederne le potenzialità per l’innovazione.

Da un documento a cura di CINI, GII, GRIN – Maggio 2010
in relazione alla riforma della scuola secondaria italiana

Obiettivi

Il corso si propone di stimolare una riflessione sulla natura dell’informatica in generale, quale disciplina, e sul ruolo della programmazione in particolare. Al di là delle competenze operative normalmente richieste agli allievi, l’intento è di accrescere la consapevolezza in merito alla complessità dei processi mentali messi in gioco, che risultano dall’integrazione di approcci e metodologie tradizionalmente di pertinenza di ambiti disciplinari diversi.

Argomenti discussi

Sezione I – Considerazioni introduttive.

  • Accezioni e didattica dell’informatica.
  • Informatica come strumento, tecnologia, disciplina.
  • Il dibattico sulla didattica dell’informatica: formazione culturale o alfabetizzazione?
  • Modelli curricolari di riferimento: contenuti e approcci all’insegnamento.

Sezione II – Si considerano alcuni contributi al dibattito sulla natura e sui fondamenti della disciplina, senza pretesa di sistematicità, sia per metterne in luce la ricchezza e l’articolazione, sia per acquisire una maggiore consapevolezza delle implicazioni didattiche.

  • Il dibattito filosofico sulla natura della disciplina.
  • Le tre anime dell’informatica: l’anima matematica.
  • Le tre anime dell’informatica: l’anima ingegneristica.
  • Le tre anime dell’informatica: l’anima scientifica.
  • Altri punti di vista sulla natura dell’informatica.
  • L’anima matematica dell’informatica: esempi di percorsi didattici.
  • Comprendere e dominare la dinamicità dei processi di calcolo: il concetto di invariante.
  • Porsi domande sui limiti dei modelli di calcolo: il problema della terminazione.
  • L’anima scientifica dell’informatica: esempi di percorsi didattici.
  • Applicare il metodo sperimentale: l’analisi delle prestazioni di algoritmi di ordinamento.
  • Modellare e simulare i fenomeni della realtà: la distribuzione dei semi nei fiori di girasole.
  • L’anima ingegneristica dell’informatica: esempi di percorsi didattici.
  • Tenere sotto controllo il grado di affidabilità: raffinamento di programmi e test (cenni).
  • Migliorare il prodotto su base empirica: regolazione di parametri (cenni).

Sezione III – Riflessioni sul ruolo della programmazione nell’informatica, e sulla natura di questa attività, attraverso il confronto dei diversi paradigmi di programmazione.

  • Il ruolo della programmazione nell’informatica.
  • Ruolo della programmazione nei modelli curriculari dell’ACM/IEEE-CS.
  • Impostazione programming-first e paradigmi di programmazione.
  • Altri modi di introdurre l’informatica: algorithms-first, hardware-first, breadth-first (cenni).
  • Natura dei diversi approcci alla programmaione.
  • Paradigma di programmazione imperativa e approccio imperative-first: esemplificazione in Pascal.
  • Paradigma di programmazione funzionale e approccio functional-first: esemplificazione in Scheme.
  • Paradigma di programmazione orientata agli oggetti e approccio object-first: esemplificazione in Java.
  • Paradigma di programmazione logica-dichiarativa: esemplificazione in Prolog.
  • Confronto degli approcci dal punto di vista didattico.
  • Il caso del linguaggio didattico Logo.
  • Ambienti e strumenti di supporto per la didattica della programmazione.

Sezione IV – Alcuni concetti fondanti possono essere rivisitati in chiave storica, approccio che consente di introdurli senza fare riferimento agli artefatti tecnologici complessi in uso ai nostri giorni; l’obiettivo non è illustrare la storia dell’informatica, ma una catena di acquisizioni culturali rivelatesi significative per gli sviluppi della disciplina.

  • I concetti dell’informatica in una prospettiva storica.
  • La memoria può essere portata al di fuori della mente umana: i sistemi di scrittura.
  • La manipolazione dei segni non richiede intelligenza: proprietà operazionali delle rappresentazioni numeriche e alfabetiche.
  • L’elaborazione può essere portata al di fuori della mente umana: interpretazione “informazionale” di fenomeni fisici.
  • La strategia può essere portata al di fuori della mente umana: la rappresentazione del programma.
  • E l’intelligenza seguirà lo stesso destino? Il test di Turing e il dibattito sull’intelligenza artificiale (cenni).
  • L’astrazione… può diventare “concreta”: dati e programmi sullo stesso piano (metamacchine).

Materiali