Un software didattico per imparare la programmazione logica a scuola Pierpaolo Di Bitonto, Teresa Roselli, Veronica Rossano Dipartimento di Informatica Università degli Studi di Bari Via Orabona, 4 70126 Bari {dibitonto, roselli, rossano}@di.uniba.it La cultura dell informatica ha coinvolto tutte le scuole di ogni ordine e grado. Il curricolo delle scuole del primo ciclo menziona la tecnologia come uno degli obiettivi formativi fondamentali. Ma quando la tecnologia coincide con l informatica? Sono poche le esperienze di uso dei linguaggi di programmazione procedurali nelle scuole del primo ciclo, ancor meno le esperienze d uso dei linguaggi di programmazione logica. Il lavoro presenta il software didattico KidsPro che mira a far acquisire abilità di problem solving attraverso l uso dell approccio dichiarativo e del linguaggio di programmazione logica Prolog. I risultati dello studio pilota condotto evidenziano l efficacia, l usabilità del sistema e l efficacia dell approccio dichiarativo rispetto all approccio procedurale nella risoluzione di un problema. 1. Introduzione L informatica a scuola ormai è una necessità più che una realtà. Ma quante sono le realtà scolastiche in cui si insegna veramente l informatica? Cosa significa acquisire le competenze nel campo dell informatica a scuola? Le risposte è possibile trovarle nei documenti ministeriali. Nelle Indicazioni per il curricolo per la scuola dell infanzia e per il primo ciclo d istruzione [MIP, 2007] del Ministero della Pubblica Istruzione è menzionato il settore Tecnologia (piuttosto che Informatica) e gli obiettivi di apprendimento al termine della classe quinta della scuola primaria sono: interpretare il mondo fatto dall uomo: a. individuare le funzioni di un artefatto o di una semplice macchina, rilevare le caratteristiche e distinguere la funzione dal funzionamento; b. comporre e scomporre oggetti nei loro elementi; c. rappresentare oggetti e processi con disegni e modelli. Nella maggior parte delle realtà scolastiche lo studio della Tecnologia nella scuola primaria si limita a raggiungere il punto a, cioè a presentare il computer e il suo funzionamento piuttosto che i processi di ragionamento che portano alla realizzazione di un programma che consente al computer di svolgere compiti specifici (l informatica). A tal proposito nell ultima riunione (ottobre 2008) del Gruppo Italiano dei Docenti Universitari di Informatica (GRIN) A. Andronico, L. Colazzo (Eds.): DIDAMATICA 2009 ISBN 978-88-8443-277-3
DIDAMATICA 2009 è stato istituito un gruppo di studio per la realizzazione di una Proposta di un syllabus di elementi di informatica per il primo ciclo con l obiettivo di introdurre concetti di programmazione già dai primi anni di scuola. Gli obiettivi per le classi quarta e quinta sono così definiti: elementi di Informatica; a. linguaggi logici e semplici procedure informatiche; b. rappresentazione dei dati mediante grafici e tabelle; c. scrittura di semplici programmi. Obiettivo primario è quello di introdurre in queste classi l uso della programmazione e, più in particolare della programmazione logica, progetto promosso dal prof. G. Casadei dell Università di Bologna. Tale premessa, unita all esperienza maturata dagli autori nel corso degli anni nell uso del paradigma ipermediale per lo sviluppo di ambienti di apprendimento da integrare a supporto delle normali attività curricolari [Roselli et al. 2006, Roselli et al. 2007], hanno portato alla definizione e realizzazione di un prototipo di software didattico per l apprendimento dei concetti della programmazione logica e del linguaggio Prolog per la realizzazione di piccoli e semplici programmi. Il lavoro presenta il software didattico KidsPro realizzato e un primo studio pilota condotto al fine di valutarne efficacia e usabilità. 2. Motivazioni Da sempre l approccio utilizzato nella scuola primaria in merito all insegnamento della programmazione si è basato sull approccio procedurale e imperativo. Non è nuovo, infatti, l uso dei flowchart per la rappresentazione grafica anche di temi e/o racconti. Poche sono le realtà scolastiche in cui l uso del flowchart è coincidente con il concetto informatico di rappresentazione grafica di una soluzione algoritmica. In letteratura esistono alcune esperienze di software educativi per l'insegnamento dei linguaggi procedurali [Aedo et al., 2000, Kahn, 1996, Fernaeus, 2006, Horn, 2007], ma non molti si rivolgono alla scuola del primo ciclo. Obiettivo primario della proposta che sta per essere formalizzata da un gruppo di docenti universitari del GRIN è quello di introdurre la programmazione logica nelle scuole del primo ciclo. La differenza sostanziale tra l approccio procedurale (e quindi l uso di linguaggi imperativi) e l approccio logico (e quindi l uso dei linguaggi dichiarativi) è che nel primo caso il programma è caratterizzato da un insieme di istruzioni che esprimono come ottenere un determinato risultato; nel secondo caso il programma è caratterizzato da un insieme di affermazioni che descrivono uno specifico stato del mondo e delle regole che mettono in relazione i dati di input e i dati di output. A tal proposito è importante menzionare il progetto Saper far fare [Casadei, 2008] del prof. G. Casadei dell Università di Bologna che si pone come obiettivi quello di diffondere la cultura informatica nelle scuole del primo 2
Un software didattico per imparare la programmazione logica a scuola ciclo in termini di: sviluppo delle capacità metacognitive attraverso la gestione dell errore; sviluppo delle capacità di collaborazione e cooperazione con il lavoro di gruppo; promozione dell uso critico e consapevole delle risorse mediante la valutazione dei processi. Questo è possibile utilizzando i linguaggi logico-dichiarativi che consentono facilmente di definire soluzioni per classi di problemi e di scrivere un programma che risolva il problema proposto. I linguaggi logico-dichiarativi sono preferibili ai linguaggi procedurali perché, innanzitutto, sono molto simili al linguaggio naturale, e in più sono facilmente scalabili in funzione della difficoltà dei problemi da trattare. Tali premesse hanno portato, quindi, alla realizzazione di un software didattico per lo sviluppo delle competenze di problem solving attraverso l uso di un linguaggio dichiarativo. Il linguaggio utilizzato è il Prolog, uno dei linguaggi dichiarativi più usati e più semplice da utilizzare. 3. Il software KidsPro Il progetto del software didattico KidsPro nasce dall esigenza di introdurre i concetti della programmazione logica nella scuola del primo ciclo mediante un software didattico di supporto all insegnamento. L obiettivo finale dell impiego del software nella scuola del primo ciclo è quello di far acquisire e sviluppare capacità di problem solving attraverso l uso e l approfondimento del linguaggio di programmazione dichiarativo Prolog. Gli obiettivi operativi a cui il software intende rispondere sono: approfondire le conoscenze dei concetti della logica matematica; acquisire conoscenze sul linguaggio di programmazione Prolog; acquisire competenze nell uso del linguaggio Prolog; Nella progettazione del software si è ritenuto opportuno sviluppare una parte tutoriale che contenesse i concetti teorici necessari all introduzione di un linguaggio logico, e del Prolog in particolare, utilizzando l approccio ipermediale. La struttura dell ipermedia è di tipo gerarchico, come illustrato in figura 1, la più adeguata alla tipologia dell utente a cui il software si rivolge. Ognuna delle tre unità didattiche mira a far acquisire conoscenze e abilità che rispecchiano gli obiettivi operativi dichiarati del software. Fig. 1. Section Design della metodologia I.H.D.M. [Roselliet al., 2000] 3
DIDAMATICA 2009 Particolare attenzione è stata posta alla costruzione dei contenuti vista la categoria d utenza a cui il sistema software si rivolge. Per la prima unità La Logica (Fig. 2 a) è stato utilizzato il contenuto di un software didattico Logiocando che, sottoposto a valutazioni, ha dato ottimi risultati sperimentali [Roselli, 2007]. Per la seconda unità Il Prolog (Fig. 2 b) è stata utilizzata la sintassi del linguaggio opportunamente semplificata. E infine, per la terza unità Il Laboratorio sono stati realizzati semplici esercizi che consentissero agli utenti di sviluppare abilità di problem solving usando l approccio dichiarativo. Figura 2. Alcuni screenshot del software (a. La logica b. Il linguaggio Prolog) Per aiutare la comprensione, ogni concetto è stato illustrato mediante un esempio grafico e animato in modo da mostrare tutti i passi necessari per l uso del linguaggio dichiarativo. Per ogni esempio è stato curato sia l aspetto grafico, scegliendo icone significative, forme e colori appropriati, sia l aspetto contenutistico, scegliendo opportunamente esempi vicini all esperienza e all interesse degli utenti. 4. Lo studio pilota L obiettivo dello studio pilota è stato misurare la differenza tra l uso dell approccio procedurale e quello logico nella risoluzione di classi di problemi da parte di alunni della scuola primaria. Lo studio si è avvalso del tutorial KidsPro di cui è stata valutata sia l efficacia che l usabilità. 4.1 I partecipanti I partecipanti allo studio pilota sono stati 23 alunni della IV classe del II Circolo Didattico "V. Caputi di Bisceglie (Bari). Prima dello studio pilota i partecipanti sono stati motivati dalla loro insegnante di matematica all uso di un software didattico in grado di mostrare loro un nuovo modo di usare il computer. 4
Un software didattico per imparare la programmazione logica a scuola 4.2 La valutazione dell efficacia 4.2.1 Il disegno sperimentale Per la valutazione dell efficacia è stata adottata la metodologia Within- Subject, tutti i partecipanti cioè sono stati esposti a tutte le condizioni sperimentali. 4.3 La procedura Lo studio è stato organizzato in sei sedute suddivise in due settimane, ovvero tre incontri a settimana. Il primo incontro è stato dedicato alla compilazione del pre-test utile per misurare le competenze degli alunni in relazione all uso dell approccio procedurale nella risoluzione di problemi. Durante tale incontro è stato presentato l obiettivo dello studio illustrando quello che ci si aspettava che gli utenti sapessero fare dopo l uso del software. Sono, inoltre, state date tutte le informazioni necessarie all uso del software. I successivi quattro incontri sono stati dedicati all utilizzo del software nel laboratorio didattico della scuola. Gli utenti sono stati lasciati liberi di navigare nel sistema con la supervisione dell insegnante e di alcuni componenti del gruppo di ricerca. L ultimo incontro è stato dedicato alla compilazione del post-test. 4.4 I risultati Per misurare l efficacia i test sono stati organizzati in modo tale da poter effettuare una valutazione sia dal punto di vista quantitativo che qualitativo. Per l aspetto quantitativo si è scelto di utilizzare il test di Wilcoxon [Wilcoxon, 1945] che è un test non parametrico che verifica la presenza di differenze statisticamente significative tra due serie di giudizi per campioni appaiati. Le computazioni sono sintetizzate nella tabella seguente: Tabella 1. Dati e risultati del test sperimentali Ipotesi sperimentali H 0 : Approccio procedurale = Approccio logico H 1 : Approccio procedurale < Approccio logico Risultati sperimentali Somma dei ranghi W=160 Se n >20 la distribuzione di W tende a diventare normale Valore del Test Zw= 2,43 Valore critico Zα= 1,96 Livello di significatività α = 0,05 5
DIDAMATICA 2009 Come risulta dalla tabella 1, il valore Zw risulta maggiore del valore Zα e quindi è possibile rifiutare l ipotesi nulla, ovvero l uguaglianza tra i due approcci, e accettare l ipotesi sperimentale che conferma quanto previsto: l approccio logico ha consentito di avere risultati migliori rispetto all uso dell approccio procedurale. Per ciò che concerne l aspetto qualitativo sono state incluse nel post test delle domande che miravano ad esplorare la presa di coscienza di ciascun discente sul fatto che è proprio l utente, attraverso il trasferimento della propria conoscenza, ad addestrare una macchina, nello specifico il computer, su un determinato argomento di sua conoscenza, e non il contrario. Un esempio di quesito è mostrato in figura 3. Supponiamo di voler sapere chi è il portiere dell Inter, di cosa ha bisogno di conoscere il computer affinché ce lo possa dire? 9% 61% 30% Di Niente Dei nomi dei calciatori dell'inter Dei nomi dei calciatori dell'inter e dei rispettivi ruoli Figura 3. Un esempio di quesito per la valutazione qualitativa dell efficacia La risposta degli utenti è stata sufficientemente soddisfacente per tutti i quesiti, infatti, come si può notare nel grafico al 30 % degli utenti sfugge il dettaglio di dover dare tutte le informazioni necessarie al computer per riconoscere il portiere della squadra, e una piccolissima percentuale invece ha completamente sbagliato la risposta. Le risposte agli altri quesiti rispecchiano quanto mostrato in figura 3. 4.2 La valutazione dell usabilità Per la valutazione dell usabilità del software KidsPro è stato utilizzato un questionario sull usabilità composto da 26 domande a risposta multipla e 4 domande a risposta aperta. Gli aspetti misurati sono relativi alla reazione all interazione con il sistema, all opinione sulle videate, alla terminologia e alla quantità e qualità dell informazione fornita dal sistema. 4.2.1 La Procedura Per raccogliere i dati relativi all usabilità del sistema è stato innanzitutto somministrato un questionario iniziale in cui si misurava la familiarità degli utenti 6
Un software didattico per imparare la programmazione logica a scuola con le tecnologie. Questo consente di leggere ed interpretare meglio i dati. Successivamente alle sessioni di lavoro è stato chiesto agli utenti di compilare il questionario sull usabilità. 4.2.2 I Risultati L esame dei dati evidenzia che il software didattico è stato sostanzialmente apprezzato. Nella figura 4 sono stati riportati i grafici relativi ai diversi aspetti di usabilità misurati: soddisfazione d uso, aspetto grafico, terminologia, navigabilità. Soddisfazione d uso Aspetto Grafico 12% 24% 7% 26% 62% 69% Positiva Indifferente Negativa Positiva Indifferente Negativa Terminologia 5% Navigabilità 4% 35% 33% 60% 63% Positiva Indifferente Negativa Positiva Indifferente Negativa Figura 4. Misure di usabilità In particolare, la terminologia è stata considerata adeguata dalla maggior parte degli utenti, anche se si è riscontrata qualche incertezza nella comprensione di alcuni termini specifici del linguaggio Prolog. L uso degli esempi, che hanno consentito di chiarire i concetti teorici più ardui, è stato molto apprezzato. Giudizi positivi sono stati raccolti sia per l aspetto navigazionale, che è risultato chiaro e funzionale, che per l aspetto grafico che è risultato gradevole per gli utenti. 7
DIDAMATICA 2009 5. Conclusioni e sviluppi futuri Lo studio pilota condotto sul software KidsPro ha registrato risultati soddisfacenti sia in termini di apprendimento, un buon numero di utenti ha imparato a scrivere fatti e obiettivi in Prolog; che in termini di usabilità, gli utenti erano entusiasti durante l interazione con il sistema e hanno apprezzato gli esempi e le animazioni associate. L analisi dei risultati dello studio ha rilevato che gli utenti per la risoluzione di un problema hanno utilizzato con maggiore immediatezza l approccio logico rispetto all approccio procedurale. Tale risultato è stato rilevato ponendo nei test (pre e post) due problemi identici da risolvere con l approccio procedurale nel pretest e con l approccio logico nel post test. I risultati hanno rilevato, da un lato, una scarsa abilità nell applicazione dei flowchart nella risoluzione di un problema, nonostante la conoscenza approfondita della simbologia; dall altro, un ottima capacità di scrittura dei fatti in Prolog per la descrizione del dominio del problema. In conclusione l esperienza condotta ha dimostrato che l uso del software didattico KidsPro può essere utile nell introduzione dei concetti della programmazione logica nella scuola del primo ciclo. Alcuni dei problemi riscontrati, ad esempio l uso di termini informatici troppo specifici, saranno risolti al fine di ripetere lo studio sperimentale con un campione di utenti più numeroso e indagare anche sugli aspetti relativi alla costruzione delle regole in Prolog. Un altro aspetto interessante in via di sviluppo è la realizzazione di un laboratorio Prolog embedded nell ambiente tutoriale. Questo consentirà agli utenti del sistema di poter creare ed eseguire i propri programmi mettendo alla prova le proprie abilità senza dover abbandonare l ambiente. Ringraziamenti Si ringrazia, in primo luogo, il prof. G. Casadei dell Università di Bologna per la disponibilità mostrata. Si ringraziano, inoltre, il dirigente scolastico del II Circolo Didattico V. Caputi di Bisceglie (Bari) e le insegnanti per averci consentito di effettuare questo studio pilota. Bibliografia [Aedo et al., 2000] Aedo I., Dìaz P., Fernandez C., Martin G M., Berlanga A. Assessing the Utility of an Interactive of Electronic Book for Learning the PASCAL Programming Language. IEEE Transactions on Education, 43, 3, 2000, 403-413. [Casadei, 2008] G. Casadei, http://www3.csr.unibo.it/~casadei/progetto_saper_far_fare.html 8
Un software didattico per imparare la programmazione logica a scuola [Fernaeus, 2006] Fernaeus Y., Kindborg M., Scholz R. Rethinking children's programming with contextual signs. Proc. of Interactions Design and Children, Tampere, Finland, 2006, 121 128. [Kahn, 1996] Kahn K. Toontalk an animated programming environment for children, Journal of Visual Languages and Computing, 7, 2, 1996, 197-217 [Horn, 2007] Horn M., Jacob R.J.K. Tangible programming in the classroom with tern. Proc. of Conference on Human Factors in Computing Systems, ACM Press, San Jose, USA, 2007, 1965-1970. [MIP, 2007] Ministero della Pubblica Istruzione, Indicazioni per il curricolo per la scuola dell infanzia e per il primo ciclo d istruzione, Roma 2007 http://www.pubblica.istruzione.it/normativa/2007/allegati/dir_310707.pdf [Roselli et al., 2000] Roselli T., Loverro S., Catanese C., Pragnell M.V., Sammito G. WWW-Based Cooperative Learning. Proc. of ACM Symposium on Applied Computing, SAC 2000, Como, Italy, 2000, 1014 1020. [Roselli et al., 2006] Pragnell M. V., Roselli T., Rossano V. Can a Hypermedia Cooperative e-learning Environment Stimulate Constructive Collaboration? Journal of Educational Technology & Society, 9, 2, 119-132, 2006. [Roselli et al., 2007] Lanzilotti R., Roselli T., An Experimental Evaluation of Logiocando, an Intelligent Tutoring Hypermedia System. International Journal of Artificial Intelligence in Education (IJAIED), IOS Press, 17, 1, 2007, 41-56. [Woodson,1992] W.E. Woodson, Human Factors Design Handbook, Ed. McGraw- Hill, 1992. [Wilcoxon, 1945] F., Wilcoxon, Individual comparisons by ranking methods. Biometrics, 1, 1945, 80-83. 9