Olimpiadi di Problem Solving: dalla scuola primaria alla secondaria
Transcript
Olimpiadi di Problem Solving: dalla scuola primaria alla secondaria
Olimpiadi di Problem Solving: dalla scuola primaria alla secondaria Giorgio Casadei e Antonio Teolis Dipartimento di Scienze dell’Informazione – Università di Bologna Viene descritto il progetto del MIUR per le organizzazione di competizioni di problem solving a tre livelli scolastici: termine della primaria, termine della secondaria di primo grado e termine del primo biennio delle superiori. Questa presentazione può essere riassunta per punti nel modo seguente. Perché. Nella scuola italiana si ritiene che la percezione dell’Informatica sia inadeguata e gli impegnativi e numerosi interventi di formazione e aggiornamento degli insegnanti in servizio finora organizzati hanno raggiunto solo parzialmente l’obiettivo di migliorare questa situazione. Chi. Non solo gli insegnanti, ma principalmente e direttamente gli studenti della scuola del primo ciclo e del primo biennio della secondaria superiore. Che cosa. Migliorare abilità e competenze generali di problem solving sfruttando le esperienze maturate con attività di progetto, scrittura e verifica di correttezza di programmi per computer. Come. Promuovendo competizioni che coinvolgono direttamente gli studenti organizzati in squadre di 4 alunni. Quando. Vengono organizzate sessioni di allenamento da ottobre a febbraio; seguono tre livelli di competizioni: selezioni di istituto e regionali seguite da prove finali a livello nazionale. 1. Informatica come disciplina. Nella maggior parte delle scuole italiane, l’Informatica viene percepita più come tecnologia e insieme di servizi, piuttosto che come una disciplina scientifica. Per la maggior parte delle persone coinvolte è naturale pensare a questa equivalenza Informatica = ITC = Servizi [posta elettronica, browser, word processing, etc]. I corsi di formazione e aggiornamento, organizzati fin dai primi anni di diffusione del computer, hanno solo parzialmente migliorato la situazione. Di recente, la partecipazione dell’Italia alle Olimpiadi Internazionali di Informatica ha toccato solo marginalmente la popolazione studentesca. Con la proposta di organizzare le Olimpiadi di Problem Solving per la scuola del primo ciclo e per il A. Andronico, L. Colazzo (Eds.): DIDAMATICA 2009 – ISBN 978-88-8443-277-3 DIDAMATICA 2009 primo biennio della secondaria superiore si pensa di raggiungere tre obiettivi principali: • far conoscere l’Informatica come disciplina scientifica (anche attraverso gli eventi che documentano l’emergere della disciplina nella storia della scienza); • far acquisire agli studenti competenze e abilità generali di problem solving mediante esercizi di astrazione e formalizzazione relativi ad attività di programmazione; • aumentare il bagaglio delle risorse e degli strumenti scientifici e culturali degli strumenti. La preparazione degli studenti per partecipare a queste competizioni costituisce una opportunità e un incentivo per introdurre, discutere, insegnare (e apprendere in un contesto gradevole e in modo formale) le idee di base, i principi e le metodologie proprie dell’Informatica. In questa prospettiva sono rilevanti i riferimenti alla storia della disciplina. In particolare è significativo far osservare che l’Informatica non è nata (come il computer) durante gli anni 1940 – 1950, per ottenere esecuzioni rapide di calcoli complessi, ma mostrare che la disciplina è emersa, dopo una storia durata migliaia di anni, come risposta alle esigenze di risolvere problemi di natura etica, legale, sociale, economica, filosofica, matematica e logica. Con queste premesse, l’Informatica dovrebbe essere percepita come un mezzo per formalizzare, elaborare e risolvere problemi in ogni area. Una migliore percezione dell’Informatica può essere acquisita nella scuola mostrando il suo emergere come disciplina autonoma dalla confluenza di due tipologie di attività: • la prima è fondamentalmente condivisa con la filosofia e la matematica; • la seconda appartiene ai campi della fisica e dell’ingegneria. La sintesi avviene con lo sviluppo di • strumenti concettuali (i linguaggi di programmazione), • metodi (algoritmi e tecniche di programmazione), • manufatti (il “computer universale” e il software). Le pietre miliari dell’evoluzione dell’Informatica sono riassumibili con quattro aggettivi: digitale, effettivo, automatico, intelligente 1. rappresentazione e memorizzazione digitale dell’informazione, (300001000 a.C. 1500 d.C. – oggi). A partire dall’alfabeto per le parole e dalle cifre per i numeri: Ebla, Hammurabi, Iliade, Odissea, Gutenberg 2. definizione di regole esplicite per la elaborazione effettiva dell’informazione (digitale), (VI secolo a.C.-1936-oggi). Retorica, 2 Olimpiadi di Problem Solving: dalla scuola primaria alla secondariaErrore. Nel documento non esiste testo dello stile specificato. dialettica e logica: da Aristotele e Crisippo a Leibniz, Boole, Frege, Hilbert, Goedel e Turing. 3. progettazione e costruzione di sistemi (computer) capaci di elaborare l’informazione (digitale) in modo (effettivo e ) automatico, (1822-1945oggi). Dagli automi meccanici al computer: Ctesibio, Leonardo, Jacquard, Babbage, Zuse e Von Neumann. 4. comunicazione intelligente tra interlocutori umani e automatici. (1952 oggi) Dalla automazione del lavoro d’ufficio alle applicazioni della Intelligenza Artificiale. 2. Informatica come strumento concettuale Per alcuni anni in alcune scuole dell’Emilia-Romagna è stato svolto un progetto denominato Sapere, saper fare, saper far fare: dalla conoscenza alla competenza. Il titolo mette in evidenza il contenuto e l’obiettivo del corso. Allenamenti sul saper fare implicano un rafforzamento del sapere; così gli allenamenti sul saper far fare implicano un rafforzamento del saper fare. Saper scrivere un programma (e ottenerne l’esecuzione corretta da parte di un computer) significa avere abilità e competenza di saper far fare; quindi scrivere programmi è un buon allenamento per saper fare e quindi per il problem solving. La parte significativa delle attività connesse a questo progetto sono orientate a: • strutture dati, astrazione e formalizzazione • scomposizione di problemi in sottoproblemi. Le attività proposte hanno l’obiettivo di costruire e far crescere abilità (effettive e misurabili) per • capire e formalizzare problemi, • scoprire e descrivere procedimenti (effettivi) per la soluzione dei casi in oggetto, • eseguire i calcoli e valutare le (ipotesi di) soluzioni ottenute. 3. Linee guida del progetto 3 DIDAMATICA 2009 Per rendere esplicito il contenuto del progetto, si deve far riferimento al ruolo che ha la padronanza del linguaggio (naturale) nei processi di comprensione di situazioni, eventi e problemi che si presentano nelle più diverse situazioni. La conoscenza di un linguaggio rende disponibili gli schemi cognitivi che consentono di riconoscere una situazione problematica, quindi: • una conoscenza più approfondita del linguaggio comporta la padronanza di schemi più efficaci per la comprensione e la interpretazione di problemi; • la conoscenza di più linguaggi (strutturalmente diversi) implica la disponibilità di un maggior numero di schemi interpretativi e quindi una maggiore flessibilità e pluralità interpretativa. In definitiva, una solida conoscenza di parecchi linguaggi diventa un vantaggio competitivo nelle attività di problem solving. 4. Characteristica universalis (quo facto…) Innanzitutto noi proponiamo di rappresentare la conoscenza in modo formale, usando la struttura dati detta termine con nomi (costanti e variabili), come in uso nel linguaggio Prolog. In questo modo viene reso minimo il numero di regole da usare per formalizzare la conoscenza; infatti, col formalismo del termine è possibile rappresentare tabelle, alberi semplici (genealogici e/o classificatori), grafi e alberi AND/OR. Nella tabella seguente sono riportati alcuni esempi significativi di tematiche affrontabili con questi tipi di rappresentazione dell’informazione. Schemi Tabelle Alberi semplici Grafi Alberi AND/OR Tipologie di applicazioni Rappresentazione strutturata informazione Domande e risposte per unificazione Operazioni su insiemi Problemi primitivi (o elementari) Relazioni logiche Classificazioni Tassonomie Percorsi (minimi) Diagrammi di precedenza Diagrammi Pert Formule elementari Metodo top down Procedure e deduzioni di 4 Olimpiadi di Problem Solving: dalla scuola primaria alla secondariaErrore. Nel documento non esiste testo dello stile specificato. Ricorsione 4. Calculus ratiocinator (… calculemus) La conoscenza di un linguaggio di programmazione e la pratica della scrittura di programmi per computer sono un metodo semplice ed efficace per verificare in modo effettivo il possesso della padronanza di competenze reali per capire e formalizzare un problema e (quindi) per trovare e descrivere un procedimento risolutivo (per mezzo di un linguaggio di programmazione). L’utilizzo di un linguaggio di programmazione come strumento per formalizzare e comunicare (indifferentemente con un interlocutore umano o con un computer) consente di scomporre la fase del problem solving in tre momenti 1) Ipotizzare un metodo effettivo di soluzione 2) Descrivere in modo effettivo quel metodo 3) Verificare che il metodo funziona (su casi di prova “ben scelti”) Non ci si limita a dichiarare l’obiettivo (capire il problema), ma si indica una strategia per capire e per verificare che si è capito. In dettaglio, i passi della strategia suggerita sono i seguenti. Ipotizzare il metodo effettivo (trovare il procedimento risolutivo): Generalizzare e formalizzare il problema, Individuare casi di prova significativi, Scomporre (eventualmente) il problema in sottoproblemi. Descrivere in modo effettivo il metodo(scrivere il programma) Utilizzare un linguaggio di programmazione e Scrivere un programma Verificarel’efficacia del processo (far “girare” il programma e ottenere dei risultati) Verifica positiva, il processo si conclude positivamente con la risoluzione del problema. Verifica negativa, il processo non si è concluso e il metodo dà il meglio di sé perché consente di Controllare la descrizione (cioè il programma) Criticare le ipotesi (cioè il metodo) Criticare il problema (cioè il rapporto fra esigenza e problema). 5 DIDAMATICA 2009 Con la diffusione del computer, il problem solving algoritmico ha acquisito una caratterizzazione specifica dovuta alla programmazione. Il contributo dell’informatica è quello di proporre attività che siano assimilabili a un allenamento formalmente codificato per • • Accumulare esperienza Che diventi competenza specifica. Ovviamente, questo obiettivo si basa sulla premessa di considerare simili le due attività di i) trovare (e capire) procedimenti risolutivi per un problema e ii) scrivere un programma per computer (corretto) per trovare la soluzione di un problema. Ma il grado di somiglianza di queste due attività non è invariante rispetto alla scelta del linguaggio di programmazione. A nostro parere, i linguaggi logico dichiarativi si prestano in modo particolare, per svolgere le attività di allenamento sopra richiamate, per diversi motivi; infatti essi sono: • molto simili al linguaggio naturale (nomi, termini, regole, enunciati e frasi condizionali); • facilmente “scalabili” in funzione della difficoltà dei problemi da trattare, • di uso generale (combinatoria, analisi del linguaggio naturale, sistemi esperti, I.A.). Questi vantaggi sono evidenti quando si pensa che una qualunque frase condizionale (un periodo ipotetico), una qualsiasi regola dell’algebra o della geometria, un articolo di legge o la scomposizione di un problema in sottoproblemi vengono tutti descritti con la medesima struttura formale. Il metodo top down per il problem solving può quindi essere insegnato e appreso indipendentemente dalla disciplina in cui dovrà essere applicato. 5. Organizzazione complessiva delle competizioni Le competizione sono organizzate per gruppi o squadre; ogni squadra è composta da 4 studenti; le scuole possono formare le singole squadre anche con studenti provenienti da classi diverse. Durante le fasi di allenamento non 6 Olimpiadi di Problem Solving: dalla scuola primaria alla secondariaErrore. Nel documento non esiste testo dello stile specificato. c’è alcun limite al numero di squadre per scuola. Nelle gare ufficiali il numero di squadre per scuola deve essere maggiore di 2 e minore di 9. Per l’anno scolastico in corso sono previste competizioni solo per la scuola primaria e per la secondaria di primo grado. E’ previsto l’utilizzo sistematico di Internet per • distribuire materiale didattico per orientare la preparazione di docenti e alunni sugli argomenti delle gare; • consentire allenamenti e test di autovalutazione, • gestire tutte le fasi relative alle prove ufficiali (distribuzione dei temi, raccolta e valutazione dei risultati. Si prevede che ogni scuola abbia un laboratorio con computer connessi a Internet. Ogni studente potrà collegarsi al sito dedicato a questo progetto. Sul sito sarà possibile trovare materiale didattico per la preparazione; è auspicabile che ogni docente si senta coinvolto nel progetto organizzando la partecipazione degli studenti e collaborando alla preparazione del materiale da mettere a disposizione sul sito.. 6. Il programma per l’anno scolastico 2008/2009 Calendario delle gare. Gennaio, febbraio e marzo: allenamenti. Marzo (31) e Aprile (2) Gare regionali. Maggio (5 e 7) Gara nazionale. Maggio ( ? ) Finalissima a Roma delle migliori 5 squadre della gara nazionale. 7. Conclusione Lo spirito informatore di questo progetto si basa sulla convinzione che l’Informatica sia più una idea rivoluzionaria (mettere in evidenza ciò che può essere fatto in modo effettivo) piuttosto che (solo) un insieme (estremamente utile) di servizi e strumenti. A supporto di questa convinzione, vengono riportate alcune citazioni. 7 DIDAMATICA 2009 “Per me, uno può dire di aver capito qualcosa solo se riesce a descriverlo in un programma. (Lui deve riuscirci, non un altro!).” (G. J. Chaitin. Meta Math!, Pantheon, New York, 2005. “… programmare qualcosa ti forza a capirlo meglio, ti forza a capirlo veramente, dal momento che devi spiegarlo ad una macchina.” M. Hutter. Universal Artificial Intelligence: Sequential Decisions Based on Algorithmic Probabilità, Sprinter, Berlino, 2004. “Quo facto, quando orientur controversiae, non magis disputatione opus erit inter duos philosophos, quam inter duos computistas. Sufficiet enim calamos in manus sumere sedereque ad abbacos et sibi mutuo (accito si placet amico) dicere, calculemus”. Gottfried Wilhelm von Leibniz: De scientia universalis seu calculo philosophico 8. Bibliografia Simone Martini: Elogio di Babele in Mondo Digitale (Rivista AICA), n. 2. giugno 2008. 8