Tesi: Realizzazione di un tool per CoFFEE. per la gestione delle prove Invalsi.

Diario di lavoro

Cosa bisogna realizzare

Il tool deve permettere di importare i test Invalsi per farli svolgere agli studenti della propria classe.

  • Idee generali
    • Dato che nei test Invalsi possono essere presenti formule matematiche, sarà necessario poterle interpretare nel modo giusto.
    • Essendo un vero test didattico, è necessario che le domande vengano mostrate agli studenti in ordine casuale.
    • Il docente dovrà avere un report delle risposte correte degli studenti.

Scelte per il formato delle domande

  • Analisi delle prove Invalsi

Per poter comprendere al meglio in che modo vengono svolti i test, grazie al sito Invalsi ho potuto valutare quali sono le tipologie di domande e risposte (nonchè le risorse) necessarie per gli esercizi dei test.
Inoltre, sui siti Engheben, Pearson, Laura Properzi è stato possibile reperire altre prove complete e/o esercitazioni.
Dal punto di vista delle tipologie di domande , in generale si avrà a che fare con:

  • Domande a scelta multipla:

Con una, due, tre risposte valide (Quindi sia risposta singola che multipla) Vero/Falso

  • Cloze a scelta multipla:
    • Riempimento di frasi partendo da un insieme di possibili risposte
    • Riempimento di formule matematiche e/o risultati a partire da un insieme di possibili risposte
  • Matching:
    • Elementi suddivisi in colonne, da associare uno-a-uno tra colonne diverse.
  • Risposta breve:
    • Inserimento di una risposta aperta singola (risposta ad un quesito).
    • Inserimento di più risposte aperte (risposte a più quesiti o riempimento testo).
  • Risposta aperta:
    • Inserimento di testo per rispondere ad un quesito.

Fonti Invalsi ufficiali utilizzate:ITA_Obbligo ITA_5Sup [1] [2] [3]
Dal punto di vista dei contenuti bisogna tener conto di :

  • Formule matematiche
  • Immagini
  • Tabelle
  • E ovviamente testo.

  • Formati valutati

I formati valutati sono principalmente quelli supportati dalla piattaforma MOODLE, una delle più utilizzate piattaforme di E-Learning.

  • GIFT
  • AIKEN
  • BLACKBOARD V6+
  • COURSE TEST MANAGER
  • EMBEDDED ANSWERS
  • LEARNWISE
  • MISSING WORD
  • WEBCT FORMAT
  • WORDTABLE FORMAT
  • HOT POTATOES
  • MOODLE XML

Dopo averli valutati, i formati che più si avvicinano a ciò di cui ho bisogno sembrano essere Moodle XML e Hot Potatoes.

  • Per poter utilizzare il formato Hot Potatoes è necessario utilizzare un applicazione proprietaria free, reperibile qui.
  • Per poter scrivere dei quiz con Moodle XML basta seguire le direttive scritte qui. Inoltre è da segnalare questo "Word Template" per creare quiz Moodle XML da un Word Processor (qui il link).

In entrambi i formati si ha a che fare con dei file XML.


Formule matematiche: come le visualizziamo?

  • Linguaggi matematici (e non) da tener presente:
  • MathML

Dopo aver cercato dei metodi per poter visualizzare la "matematica" nel tool, il miglior metodo, nonchè uno standard W3C, risulta essere l'utilizzo di MathML , un linguaggio di Markup matematico derivato dall'XML.

Si tratta di un linguaggio di Markup per poter visualizzare, tramite linguaggio basato su TEX, del testo di tipo scientifico, formule, grafici, immagini, ecc...
Qui ci sono istruzioni per poter utilizzare formule matematiche.


  • Visualizzazione delle formule
  • Mathran

Inizialmente avevo pensato di utilizzare questo filtro php che interpretasse del codice TeX trasformandolo in una stringa php, e poi trasformarlo successivamente in pagina web per visualizzarlo nel tool.
Dopo aver valutato le necessarie modifiche e conversioni, questa soluzione è stata scartata perché troppo articolata.

  • MathJax

Successivamente, in seguito ad ulteriori ricerche, ho deciso di adottare MathJax per la visualizzazione matematica nelle pagine web e nel tool.
Questa libreria JavaScript permette di far visualizzare formule e grafici matematici sul web facendoli interpretare come fossero parte del testo, ed accetta come input sia MathML che linguaggio di tipo TeX.
Ovviamente è necessario configurare MathJax per decidere come visualizzare il contenuto matematico all'interno dei vari browser. Gli output disponibili sono:

  • MML (MathML puro)
  • HTML/CSS
  • SVG

Ogni browser reagisce diversamente a MathML, quindi è conveniente settare le scelte di output soltanto se con il browser che usiamo non è possibile visualizzare le formule.


  • Matematica nel tool

Prima di mettere effettivamente mano ai vari quiz per convertirli (e quindi visualizzarli nel tool), ho preferito preparare l'ambiente in cui dovranno essere visualizzate le domande.
Dato che CoFFEE utilizza SWT per le componenti grafiche (qui una guida per comprendere come funziona), ho deciso di utilizzare un Widget Browser (basato su Internet Explorer), integrandolo nel Composite di Controller [Docente/Server] e Discusser [Studente/Client].
Dato che le domande e le possibili risposte ad ogni quesito saranno estrapolate e visualizzate come parte di una pagina web, ho ritenuto comodo creare una pagina xhtml con body variabile (tramite una classe java) in modo da permettere di visualizzare le domande e le risposte supportando la matematica in esse. Allego il codice del semplice metodo:


 public String CreateHeader(String question){
  questionFromHP = question;
  header = ""
  +	"<?xml version="1.0" encoding="UTF-8"?>n"
  +	"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">n"
  +    "<html>"
  +	"<html xmlns="http://www.w3.org/1999/xhtml"n"
  + 	"xml:lang="en">n"
  +	"<head>n"
  +    "<meta http-equiv="X-UA-Compatible" content="IE=edge"/>n"
  +    "<meta http-equiv="content-type" content="text/html;charset=utf-8" />"
  +	"<script type="text/x-mathjax-config">n"
  +	"MathJax.Hub.Config({n"
  +	"	tex2jax: { inlineMath: '$','$'],['\(','\)' }n"
  +	"		});n"
  +	"	</script>n"
  +	"	<script type='text/javascript' src='C:invalsi_pdfMathJaxMathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>n"
  +	"</head>nn"
  +	"<body>n"
  + 	questionFromHP
  +	"n</body>n"
  +	"</html>";
  return header;
 }

dove question sarà il testo da visualizzare nel body.


  • Il Widget Browser (problemi nella visualizzazione matematica)

Problema n.1 : La codifica

Per poter visualizzare la pagina con i caratteri matematici nel modo corretto, la codifica da utilizzare è la "UTF-8" (Quindi il file letto dal tool viene aperto forzando l'utilizzo di quest'ultima).
In un primo momento ho utilizzato "<meta charset="UTF-8" />" nell'header ma il file veniva letto come ANSI.
Successivamente ho utilizzato "<?xml version="1.0" encoding="UTF-8"?>". Il file viene letto in UTF-8 ma nel momento della visualizzazione viene scelta dal Browser come codifica ideale la ANSI...

Dopo varie prove siamo giunti alla conclusione che è necessario inserire anche "<meta http-equiv="content-type" content="text/html;charset=utf-8"/>", e finalmente viene visualizzato il codice nel modo corretto!

Problema n.2 : Font non trovate

Una volta caricata in memoria la pagina html (sottoforma di String), inizialmente avevo utilizzato il metodo del Browser SWT "setText(String html)" per far visualizzare il testo nel Widget. Il risultato è stato un inutile caricamento di una decina di secondi per cercare delle font di MathJax, dopodiché, non avendole trovate, il Browser ha deciso (?!) di utilizzare un WebFont, causando errori di visualizzazione in alcuni casi particolari di formule.

Ho quindi tentato di visualizzare la pagina come se fosse un indirizzo, e in quel caso viene tutto caricato correttamente (tramite il metodo "setUrl(String url)"

Purtroppo però, la pagina risiedeva in memoria come stringa! Quindi per poterla utilizzare come Url è stato necessario salvarla su un file html (successivamente valuterò il path definitivo) e poi ricaricarlo tramite il metodo "setUrl" passandogli il path. [ovviamente è stato necessario effettuare la creazione della pagina, salvataggio e ricaricamento del file sia su Controller che su Discusser].

N.B.: è possibile che vengano eseguite modifiche anche sostanziali al contenuto precedente!

Importazione delle prove nel Tool

...work in progress...

Seminari