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