Università di Torino – Facoltà di Scienze MFN Corso di Studi in
Transcript
Università di Torino – Facoltà di Scienze MFN Corso di Studi in
Manifesto GRIN dell‟Informatica nella Scuola. Informatica nei licei: l‟aspetto culturale. I tre aspetti: Didamatica 2011, Workshop “Informatica nella Scuola Superiore”, Torino, maggio 2011 1. Operativo: un insieme di applicazioni e manufatti. 2.Tecnologico: una tecnologia che realizza quelle applicazioni. Elio Giovannetti 3. Culturale: una disciplina scientifica che fonda e rende possibile quella tecnologia. Dipartimento di Informatica Università di Torino 25/05/2011 15.43 Dal Rapporto AICA sull‟Informatica nei Licei. Liceo in genere: approfondisce gli aspetti concettuali anche (o forse soprattutto) trasversali rispetto alle altre discipline, […] inquadrandoli in un contesto epistemologico più ampio; approfondisce inoltre le capacità operative fino al livello di un utente evoluto non professionale. Liceo tecnologico (ora Scienze Applicate): oltre a quanto detto per il liceo in genere, il liceo tecnologico trasferisce l‟applicazione dei principi scientifici, dei metodi e delle tecniche tipici dell‟informatica alla produzione di un qualsiasi bene o servizio. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 3 Triennio Il programma dovrebbe essere finalizzato ad un taglio conoscitivo e non solo operativo, alla conoscenza e non solo alla competenza. Tuttavia, per fissare i concetti, è necessario sviluppare in laboratorio esempi ed applicazioni suggeriti dall‟esperienza “operativa” che lo studente sta sperimentando o ha acquisito in altre discipline. Il taglio essenzialmente culturale degli studi liceali suggerisce di introdurre soprattutto gli aspetti concettuali per cui non è possibile ignorare (con richiami dalla storia della matematica e della filosofia) che i principali risultati sulla definizione di calcolo effettivo e sulla determinazione dei limiti della calcolabilità sono stati tutti ottenuti prima della costruzione del primo computer. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 4 Sommario Elementi a cui è rivolto il presente contributo: • aspetti concettuali trasversali rispetto alle altre discipline; • inquadramento in un contesto epistenologico più ampio; • richiami alla storia della matematica e della filosofia; • finalizzazione alla conoscenza oltre che alla competenza. E. Giovannetti - 15-02-2011 2 Dal Rapporto AICA sull‟Informatica nei Licei. Aspetto culturale dell‟informatica. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 5 1. Programmazione e algoritmica. 2. Informatica per capire la matematica. 3. Informatica e filosofia. 4. Informatica e lingua. e per finire … qualche ricordo storico. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 6 1 : Tutti d‟accordo sul suo ruolo centrale. . • Scrivere un programma che soddisfa ad una data specifica (cioè che risolve un dato tipo di problemi) equivale, in un senso tecnico ben preciso, a trovare una dimostrazione (costruttiva) di un teorema della forma input. output. R(input, output) dove R è la relazione che si richiede valga fra input e output. • La programmazione è simile, nel suo piccolo, all‟attività di un grande matematico che riesce a dimostrare una congettura: è un‟attività non meccanica, che richiede una disciplinata creatività. • Scrivere un programma che risolve un problema algoritmico richiede quindi capacità analoghe a quelle occorrenti per risolvere un problema di geometria euclidea. • “Programming is mathematics made real”. 1. Programmazione e algoritmica. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 7 25/05/2011 15.43 Suggerimenti per curriculum. • Semplici problemi algoritmici attraverso cui sviluppare le tecniche di programmazione iterativa e ricorsiva: • algoritmi elementari su sequenze (massimo, media, ricerca, ecc.), algoritmi di ordinamento, ecc.; • ricorsione; • tecniche algoritmiche; • connessione con le Olimpiadi Regionali di Informatica; • Approccio per problemi, più motivante per gli studenti: • esempio banale: partire dal problema della ricerca del percorso migliore fra due località invece che da una teoria generale dei grafi, ecc. E. Giovannetti - 15-02-2011 8 Da discutere. • Non più o non solo programmini per risolvere equazioni o sistemi, per calcolare le cifre di , disegnare grafici di funzioni, ecc.; invece: 25/05/2011 15.43 E. Giovannetti - 15-02-2011 9 • La programmazione oggi non è solo problem solving. • È anche, in misura rilevante, astrazione e modellazione: dominanza del paradigma a oggetti e dei linguaggi di programmazione a oggetti. • I più diffusi linguaggi a oggetti sono sintatticamente e semanticamente complessi e non didattici. • Negli stessi corsi di laurea in informatica, in Italia e nel mondo, la bontà dell‟approccio “objects first”, da molti adottata, è ancora dibattuta: è recente la decisione della CMU di eliminare la programmazione a oggetti dai corsi introduttivi. • La questione: introdurre sottoinsiemi ristretti di costrutti sintattici e di concetti object-oriented, o rinunciarvi del tutto ? 25/05/2011 15.43 E. Giovannetti - 15-02-2011 10 Informatica e matematica costruttiva. 2. Informatica per capire la matematica. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 11 • Approccio costruttivo e tendenzialmente anti-platonista. • Che cosa sono i numeri naturali ? (non sono i numerali !) • Che cos‟è una funzione ? (concezione intensionale vs. concezione estensionale) • Che cos‟è un numero reale ? (è un ente ideale infinito !) • Che cos‟è un sistema assiomatico ? •… 25/05/2011 15.43 E. Giovannetti - 15-02-2011 12 2 Che cosa sono i numeri naturali ? Sistemi di numerazione. • Nell‟insegnamento scolastico della matematica il carattere astratto della nozione di numero viene solitamente dato per scontato. Eppure l‟identificazione dei numeri con le loro rappresentazioni decimali è molto diffusa presso gli studenti di ogni ordine e grado di scuola, nonché nella società, anche presso le persone colte. • Uno dei contributi formativi minimi dell‟informatica nei confronti della matematica nella scuola media e/o nel biennio dei licei è quindi proprio una riflessione su “che cosa sono i numeri naturali”. • Tale argomento riguarda quindi da una parte una nozione di base per l‟informatica, come quella di bit e sistema binario, dall‟altra riguarda in modo essenziale una comprensione della matematica che dovrebbe essere patrimonio di tutti. • La numerazione binaria, con i suoi due soli simboli, è percettivamente troppo lontana da quella decimale per essere il primo o unico esempio di base diversa da 10. • È quindi opportuna l‟introduzione di una numerazione come l‟ottale, inquadrata in una riflessione sulla natura dei numeri naturali che parta contemporaneamente da: • la loro rappresentazione unaria (come tacche su un preistorico bastone o osso, o come sassolini, ecc.); • la nozione di cardinale come astrazione emergente dalla corrispondenza biunivoca fra distinti raggruppamenti (oggi diremmo insiemi) di oggetti. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 13 25/05/2011 15.43 E. Giovannetti - 15-02-2011 14 Inoltre: Sistemi di numerazione e lingua. • Rappresentazione unaria: far capire come la nozione di “numero naturale” di grandezza arbitraria si forma nel pensiero umano attraverso l‟idealizzazione della iterabilità illimitata del gesto primordiale dell‟incidere una tacca su un osso, cioè dell‟operazione di successore, e come alcuni gruppi umani “primitivi” non abbiano compiuto tale passo. • Numero cardinale come astrazione: ricordare come alcune lingue “primitive” abbiano serie numerali diverse a seconda del tipo di oggetti da contare; come persino nel giapponese moderno i nomi dei numeri siano accompagnati da suffissi diversi a seconda del tipo di oggetti (lunghi e sottili, oppure piatti, animali esclusi gli uccelli, uccelli, spade giapponesi, ecc.). “Scusa, duemila è un “numero tondo”: scriverlo in ottale come 3720 è artificioso ! ” 25/05/2011 15.43 E. Giovannetti - 15-02-2011 15 • Far capire che una numerazione in base diversa da 10 sembra difficile da usare perché i nomi stessi dei numeri nelle nostre lingue riflettono tale base (con parziali eccezioni nel francese e nel danese). • Se la specie Homo sapiens fosse stata dotata di 8 dita, anche i nomi dei numeri sarebbero ovviamente diversi. • Si possono, prima di far esercitare i ragazzi nell‟aritmetica ottale, inventare per gioco nuovi nomi per i numeri (ad es. ottouno, ottodue, duottitre, quattrotticinque, …) 25/05/2011 15.43 Numeri razionali • Rappresentazione dei numeri razionali in diverse basi, per far capire come “frazione” e “numero con la virgola limitato o periodico” siano solo modi diversi di rappresentare una stessa entità. • Aiutare tale comprensione della matematica citando il fatto che la rappresentabilità di un razionale come numero con la virgola finito dipende dalla base. • Mostrare come per tale ragione nell‟uso del computer possano sorgere elementari problemi di approssimazione (si può ad esempio far vedere come il semplice calcolo di 0.1 + 0.2 possa non produrre esattamente 0.3). • Ciò aiuta a chiarire l‟idea-base di numero razionale come coppia di numeri, come rapporto. E. Giovannetti - 15-02-2011 16 Quanto sono reali i numeri reali ? “Prof, il risultato lo vuole come frazione o come numero?” 25/05/2011 15.43 E. Giovannetti - 15-02-2011 17 • Far capire che un numero irrazionale, se dal punto di vista della geometria euclidea è semplicemente un rapporto fra grandezze (diagonale e lato di un quadrato, circonferenza e raggio), dal punto di vista aritmetico è un‟entità infinita. • Mostrare che tutti i numeri reali singoli con cui si ha a che fare al liceo sono reali calcolabili, cioè c‟ è un procedimento meccanico (algoritmo) per calcolare le loro successive cifre; in tale cornice acquista valore formativo anche la scrittura di un programma per il calcolo di o della radice quadrata: il carattere finito di un reale calcolabile sta quindi nella descrizione finita dell‟algoritmo che lo genera. • Accennare al fatto che tuttavia quasi tutti i numeri reali sono non calcolabili, e tuttavia quasi tutti non indicabili con un nome o una definizione linguistica, tanto è vero che risulta impossibile, al liceo, designarne uno. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 18 3 Funzioni. Sistemi assiomatici. • Nei libri di testo di matematica per i licei vi è spesso confusione fra le definizioni estensionale e intensionale di funzione. • L‟informatica può aiutare a chiarire la differenza fra i due concetti, e mostrare che tutte le funzioni che si studiano al liceo sono calcolabili: in questa cornice ha un senso anche la realizzazione di semplici programmi per il calcolo o lo studio di funzioni. • Per contrasto, tale studio può gettare una luce sulla nozione moderna di funzione e sul carattere altamente ideale – non computabile – di tale nozione. • La funzione che vale 0 sui razionali e 1 sugl‟irrazionali ? • La nozione esplicita di sistema assiomatico è quasi del tutto assente nell‟insegnamento liceale, benché quesiti della maturità riguardanti le geometrie non euclidee vi abbiano fatto riferimento. • La visione della deduzione come calcolo può aiutare a capire la portata di tale nozione, eventualmente anche attraverso l‟uso concreto di semplici strumenti software di deduzione automatica (come la sperimentazione con elementari programmi Prolog). Vedansi connessioni con la filosofia. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 19 25/05/2011 15.43 E. Giovannetti - 15-02-2011 20 Suggerimenti per un curriculum. • Sistemi di numerazione. • Rappresentazione dei numeri nel calcolatore. • Sperimentazione con programmi numerici. • Programmazione di funzioni. • Elementi di logica e quiz logici. •… 25/05/2011 15.43 E. Giovannetti - 15-02-2011 3. Informatica e filosofia. 21 25/05/2011 15.43 E. Giovannetti - 15-02-2011 22 Informatica e storia del pensiero. Informatica e pensiero del „900. • La nozione e la pratica del calcolo, sia aritmetico che logico, e la sua stretta connessione con i modi di rappresentazione (strutture-dati), attraversa tutta la storia dell‟umanità: • dall‟algoritmo di Euclide, alla notazione posizionale e agli algoritmi per le 4 operazioni, ecc.; • dai sillogismi di Aristotele, al “ragionare non è nient‟altro che fare dei calcoli con le proposizioni invece dei numeri” di Hobbes, al “Calculemus! ” dell‟ottimista Leibniz, alle leggi del pensiero di Boole, all‟Ideografia di Frege, fino alla moderna logica formale e alla dimostrazione assistita da computer. • Dall‟abaco alle calcolatrici di Pascal, di Leibniz, … fino alla macchina analitica di Babbage, alla macchina astratta di Turing, al modello di von Neumann … Come ricordato anche nel rapporto AICA: • La nozione di calcolabilità, centrale per l‟informatica, trova la sua definizione rigorosa in connessione con il programma formalista di Hilbert e con i risultati negativi di Gödel. • La nascita dell‟informatica è perciò strettamente legata alle rivoluzioni scientifiche e filosofiche del „900: la nascita della logica formale, Wittgenstein, il neopositivismo, la “svolta linguistica” che mette il linguaggio al centro della speculazione filosofica. • Lo sviluppo dell‟informatica teorica è intrecciato con quello della moderna teoria della dimostrazione. • Occorre quindi mettere in evidenza come nel „900 l‟unità fino ad allora solo intuita fra calcoli numerici e calcoli logici venga pienamente trovata nella nozione di calcolabilità. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 23 25/05/2011 15.43 E. Giovannetti - 15-02-2011 24 4 Che cos‟è la verità ? (P. Pilato) Matematica formale come business. • La nozione di valore di verità o booleano, che a matematici, logici e informatici sembra ovvia, è molto difficile da acquisire. • Ne è testimone la difficoltà che hanno molti studenti del primo anno a capire che possono scrivere direttamente, ad es., return a > b invece di if(a >b) return true else ecc. • Appunto la pratica della programmazione è essenziale per cogliere tale riduzione, operata da Boole, del concetto di verità nell‟ambito della logica proposizionale: materialmente la verità come segnale alto o basso dentro un componente elettronico. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 25 • Certificazioni di correttezza di programmi ottenute con l‟ausilio di proof assistants: pezzi di matematica formale incorporati in prodotti commerciali. • Scriveva a tal proposito Gérard Huet nel 2006: “most industrial, commercial, financial, legal, transportation, health, food, information, etc processes use sophisticated information systems, whose correct and safe operation can only be established through formal verifications […] The endeavour of formal mathematics is a booming business: bank consortia are paying dear money for the production of formal mathematics”. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 26 Informatica e pensiero contemporaneo. Informatica e pensiero contemporaneo. • Teoremi le cui dimostrazioni, ottenute con l‟ausilio del calcolatore, non possono essere controllate dall‟uomo nei dettagli. • Dunque la “verità matematica” sembra poter dipendere dalle teorie fisiche su cui sono basati i computer. • La logica, che è l‟a-priori della matematica e di ogni scienza, viene così a essere dipendente dalla fisica, in un circolo vizioso ? • Cosa succede se la teoria fisica è la meccanica quantistica? Su questi problemi vedasi ad esempio il libro: Gabriele Lolli “La Macchina e le dimostrazioni”. • Visioni “computazionali” del mondo (ad es. Chaitin): • “una teoria scientifica è un programma matematico che calcola i fatti, e il programma più corto è il migliore”; • “comprendere è comprimere”; • l‟universo è un grande calcolatore; • L‟approccio computazionale alla biologia (il DNA come programma), i suoi successi, le sue prospettive (simulazione “in silico” di processi biologici, DNA-computing, ecc.) • Vs. “critica della ragione informatica”, in particolare in fisica e in biologia, di Giuseppe Longo e della scuola epistemologica di Parigi: “lasciare da parte i miti di un universo computazionale, di cervelli digitali, “programmi” genetici ecc., ridicole letture del mondo sulla base dell‟ultima tecnologia disponibile, come ieri la meccanica e poi la macchina a vapore”. Vedi slide seguente. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 27 25/05/2011 15.43 25/05/2011 15.43 E. Giovannetti - 15-02-2011 29 28 Suggerimenti per il curriculum Determinismo e indeterminismo: fisica, filosofia, informatica. • La fisica classica è deterministica: paradigma di Laplace. • Poincaré e “caos deterministico”: sensibilità alle condizioni iniziali, proprietà puramente matematica; poiché il valore di una grandezza, anche in fisica classica, non è un numero reale ma un intervallo risultato di una misura, ne consegue l‟impredicibilità dei sistemi caotici (la non-definizione delle condizioni iniziali al di sotto dell‟intervallo di precisione della misura non è eliminabile). • Il computer è una macchina deterministica e i valori sono discreti, quindi precisi: con le stesse condizioni iniziali la traiettoria del sistema è la stessa. Quindi la simulazione al computer di un sistema caotico non modella la realtà; tuttavia la può imitare (numeri pseudo-casuali, ecc.), ed è indispensabile. Esempio ben noto: le previsioni meteo. • Anche: generazione quantistica di numeri “davvero” casuali. E. Giovannetti - 15-02-2011 • Sviluppo di semplici programmi per algoritmi storici dell‟antichità: Euclide, il crivello di Eratostene. • Semplici programmi Prolog, a partire dai noti sillogismi.. • Notazione posizionale e nozione di logaritmo: un esempio elementare dell‟importanza della rappresentazione usata. • Ricerca sequenziale e ricerca binaria, e confronto fra andamento logaritmico e andamento lineare. • Una definizione generale di calcolabilità. • Nozioni di logica formale e di sistema assiomatico, con riferimento alla geometria. Uso di proof assistants ?? • Logica classica e logica costruttiva, qualche esempio: “esiste uno studente tale che, se passa lui la maturità, la passano tutti”, cioè x. (P(x) y.P(y)); peccato che l‟unica dimostrazione possibile sia non costruttiva … 25/05/2011 15.43 E. Giovannetti - 15-02-2011 30 5 L‟informatica per capire la lingua. Il carattere cinese per “albero” 4. Informatica e lingua. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 • Alberi sintattici per le lingue naturali. • Albero di un‟espressione aritmetica. • Alberi per la sintassi dei linguaggi di programmazione. • Struttura ad albero di un documento HTML. •… 31 25/05/2011 15.43 Albero sintattico: significato 1. E. Giovannetti - 15-02-2011 N F SV N Mario N ComplemNom Art NCo guarda VT la ragazza col E. Giovannetti - 15-02-2011 SN ComplemVer N Art NCo NPr Prep 25/05/2011 15.43 SV SN SN VT NPr 32 Albero sintattico: significato 2. F SN Alberi ovunque. Prep NCo NCo binocolo. Mario 33 25/05/2011 15.43 guarda la ragazza E. Giovannetti - 15-02-2011 . col binocolo 34 Sfruttare possibilità impreviste dello strumento. • L‟elaborazione di testo aiuta a imparare un‟ortografia corretta (ad es. la differenza fra accento acuto e accento grave) e una composizione tipografica decente. • Google può essere uno strumento per consultare un corpus di una lingua straniera. Esempio: “ • La rete come gigantesca biblioteca di Babele. • ... 25/05/2011 15.43 E. Giovannetti - 15-02-2011 35 5. Per finire, informatica e storia d‟Italia … 25/05/2011 15.43 E. Giovannetti - 15-02-2011 36 6 Per finire, nell‟anniversario dell‟Unità d‟Italia … … ricordiamo Luigi Menabrea Presidente del Consiglio del Regno d‟Italia 1867-1869 (Chambéry 1809-1896) ingegnere, scienziato, generale, professore all‟Università di Torino Da fonte Wikipedia: Nel 1840 si svolse a Torino presso l‟Accademia delle Scienze il secondo Congresso degli Scienziati italiani, invitati dal re Carlo Alberto. Attirato dal prestigio e dalla notorietà dell‟Accademia delle Scienze sabauda, al congresso partecipò anche Babbage, che presentò per la prima volta ad un pubblico scientifico il suo progetto di “macchina analitica”, equivalente meccanico (benché allora non costruito) dei moderni calcolatori. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 37 Nel suo articolo, pubblicato nel 1843, Ada descriveva la macchina come uno strumento programmabile e, con incredibile lungimiranza, prefigurava il concetto di intelligenza artificiale, spingendosi ad affermare che la macchina analitica sarebbe stata cruciale per il futuro della scienza, anche se non riteneva che la macchina potesse divenire pensante similmente agli esseri umani. Nota. Anche il giovane Cavour, nel suo viaggio a Londra del 1835, aveva conosciuto Babbage e ad una cena a casa di questi aveva incontrato Ada Byron. (Fonte: Rosario Romeo, Vita di Cavour, Laterza 1984) E. Giovannetti - 15-02-2011 La presentazione appassionò gli scienziati italiani e proseguì in seminari ristretti. In particolare, Luigi Menabrea si dedicò successivamente a una descrizione del progetto di Babbage che pubblicò in francese nel 1842 presso la "Bibliothèque Universelle de Genève", in quello che può essere considerato il primo lavoro scientifico nella disciplina dell'informatica: "Notions sur la machine analytique de Charles Babbage". L‟articolo suscitò l‟interesse di Ada Lovelace, figlia del famoso poeta Byron. Fra Menabrea e Ada si instaurò una corrispondenza, in cui i due si scambiarono idee e sogni sulle possibilità delle macchine analitiche; Ada, su incitamento di Menabrea, tradusse in inglese l‟articolo di questi, ampliandolo con le sue note, più lunghe dell‟articolo originale stesso. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 38 L‟articolo di Menabrea ... Ada Byron Lovelace: il primo programmatore della storia ! 25/05/2011 15.43 Luigi Menabrea e … 39 Già nell‟articolo di Menabrea si utilizzava, per descrivere il funzionamento della macchina, una scrittura simbolica simile a un linguaggio di programmazione. La tabella in cui è descritta, a titolo di esempio, la sequenza di operazioni che la macchina deve eseguire per risolvere un sistema lineare di due equazioni in due incognite è identica strutturalmente a un foglio contenente la descrizione dei medesimi calcoli fatta usando il linguaggio di programmazione Bell disponibile per il calcolatore IBM 650. Menabrea individua chiaramente il fatto che un‟istruzione deve contenere due informazioni: una sulla operazione da eseguire, e una sugli operandi coinvolti; e questi ultimi sono indicati con il nome "variabili" nel senso dato a questo termine dall‟Informatica. 25/05/2011 15.43 E. Giovannetti - 15-02-2011 40 A … fino alla storia dell‟Olivetti … Conclusione Due note citazioni, riportate da Luciano Gallino in “La scomparsa dell‟Italia industriale”: “Nel campo dell‟elettronica, ove soltanto le più grandi fabbriche americane hanno da anni la precedenza, lavoriamo metodicamente da quattro anni dedicandoci ad un ramo nuovo. Una nuova sezione di ricerca potrà sorgere nei prossimi anni per sviluppare gli aspetti scientifici dell‟elettronica […] Noi non potremo essere assenti da questo settore per molti aspetti decisivo.” Adriano Olivetti, 1955. L‟informatica nei licei potrebbe essere non solo strumento tecnico trasversale, ma anche disciplina di elevato valore formativo, in dialogo soprattutto con la matematica e con la filosofia, ma anche con l‟italiano, le lingue, la biologia. Non si tratta di un compito facile, ma forse ne vale la pena. “la società di Ivrea è strutturalmente solida e potrà supe- rare il suo momento critico. Sul suo futuro pende però una minaccia, un neo da estirpare: l‟essersi inserita nel settore elettronico, per il quale occorrono investimenti che nessuna azienda italiana può affrontare.” Vittorio Valletta, 1964 25/05/2011 15.43 E. Giovannetti - 15-02-2011 41 25/05/2011 15.43 E. Giovannetti - 15-02-2011 42 7