SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
E perché non
un'automa?
automaun
uno
un'
CONSONANTIVOCALI
MASCHILEFEMMINILE
}
Stefano Penge
Creative Commons 3.0 Attribuzione – Non Commerciale – Condividi allo stesso modo
https://creativecommons.org/licenses/by-nc-sa/3.0/it/legalcode
Questa presentazione
● Questa presentazione descrive un ipotetica attività di "coding" da fare in
classe (perché non si dica che siamo capaci solo di criticare )
● Il dominio è quello della lingua Italiana, scelto perché scarseggiano gli
esempi.
● L'obiettivo è costruire insieme un automa linguistico, cioè un programma
in grado di simulare un parlante della lingua Italiana, in una situazione
specifica molto semplice: premettere l'articolo ad un nome.
● Questa proposta non è nuova. Circa venticinque anni fa era in corso in
Italia una riflessione sui possibili usi dei computer e dei linguaggi di
programmazione nell'apprendimento della lingua.
● E' uno dei limiti della modalità corrente di fare coding: dimenticare la storia
Quali sono gli obiettivi del "coding"
1. Quello di sviluppare il Computational Thinking
2. Quello di preparare le nuove generazioni ai nuovi
lavori
3. Quello di far costruire ai ragazzi delle storie in maniera
alternativa alla scrittura
4. Quello di vaccinare i giovani contro lo strapotere delle
multinazionali ICT
5. Quello di dare ad ognuno le competenze minime per
scriversi un programma per risolvere i propri problemi
6. Quello di affrontare la didattica di qualsiasi disciplina
in maniera costruttivista
Il contesto
●
L'oggetto è costituito da conoscenze di base, che fanno parte del programma
della terza classe della scuola primaria.
●
Tuttavia i concetti utilizzati nell'attività sono probabilmente troppo complessi
per quell'età, almeno nella forma qui proposta.
●
Si può quindi ipotizzare che si tratti di una ripresa di quelle conoscenze da
parte di un gruppo di ragazzi più grandi, per esempio nella secondaria
inferiore.
●
Si può immaginare che lo scopo sia quello di costruire un programma che aiuti
i bambini più piccoli, o di un'altra lingua-madre; oppure può essere il punto di
partenza per un confronto tra lingue diverse nel quadro delle attività di
apprendimento della seconda lingua.
●
Spetti ad ogni docente trovare il momento ed il modo di introdurre un'attività
nella sua classe, riducendola, modificandola, adattandola al contesto reale.
A che serve
● Non si tratta di un'attività per imparare cosa sono gli
articoli e come si usano. Queste conoscenze, almeno
in forma generale, si considerano acquisite.
● Costruire un automa in grado di assegnare la forma
giusta di articolo ad un nome è soprattutto un modo di
riflettere sulle competenze linguistiche apprese, di
scomporle, di rappresentarle in modo da essere in
grado di applicarle anche a casi particolari.
● E' anche, o soprattutto, un modo di acquisire
consapevolezza della lingua.
Modello didattico
● A differenza di altri esempi (quiz, giochi) il modello è
esplicitamente quello dell'insegnamento al computer
da parte dello studente, o meglio da parte di un
gruppo di studenti.
● Il punto non è come trasmettere conoscenze agli
studenti; il punto è come un gruppo di studenti arriva
a costruire una conoscenza stabile, condivisibile,
rappresentata in una forma pubblica, a partire da
elementi sparsi, non strutturati, contraddittori o
apparentemente tali.
Il/la docente
● Il suo ruolo non è quello del trasmettitore, ma nemmeno
quello del tutor che sovraintende alle attività di
programmazione.
● Il/la docente è la guida, che apre la discussione, aiuta a
vagliare le ipotesi, suggerisce parallelismi e
approfondimenti.
● Il/la docente deve, naturalmente, avere un'ampia competenza
sulla lingua (sulle lingue) e sulla glottodidattica, ma anche
sulla programmazione.
● Deve essere in grado di proporre delle tecniche alternative, di
spiegarne i vantaggi e gli svantaggi.
Obiezione 1
● "Queste discussioni e questi ragionamenti si
sarebbe potuti fare tranquillamente senza un
computer, magari usando carta e matita".
Ma senza uno strumento pratico per costruire un
modello funzionante (un automa) non è possibile
sperimentare davvero quel modello.
Senza sperimentazione diretta, la lingua viene
presentata come un proprietà di qualcun altro –
mentre è patrimonio di tutti.
Obiezione 2
● "Queste discussioni e questi ragionamenti si
sarebbe potuti fare utilizzando un programmino
già fatto da qualche docente volenteroso."
Una cosa è costruire un modello, un'altra è
utilizzarlo senza sapere come è fatto dentro.
Si può, e si deve, discutere sul punto di partenza e
di arrivo del processo di costruzione: non si può
partire da zero e non si può pretendere di costruire
un programma perfetto.
L'ambiente
● Non è stato usato un ambiente visuale (come Scratch o Snap!) proprio
per facilitare la lettura del codice sorgente, il suo commento, la sua
modifica, il riuso di parti.
● Il codice presentato è scritto con Kojo, un ambiente didattico basato sul
linguaggio funzionale Scala e ricco di strumenti interessanti, tra cui un
sottoinsieme di istruzioni logo-like per muovere un robot sullo schermo.
http://www.kogics.net/sf:kojo
http://www.scala-lang.org/
http://minimalprocedure.pragmas.org/writings/kojo-scala-appunti/kojo-scal
a-appunti.html
Concetti generali
● Grammatica e vocabolario (regole e fatti)
● Fonetica e pragmatica
● Automa linguistico
● Conoscenze (base di)
● Algoritmi
● Modello
● Categorizzazione
● Eccezioni
● ...
Concetti computazionali
● Funzione e catene di funzioni
● Classe
● Oggetto
● Lista
● Stringhe e sottostringhe
● Mappatura di funzioni
● For comprenhension
● Match
● Ricorsione
Versioni
● 4 versioni diverse, ognuna delle quali estende
l'obbiettivo della precedente, o generalizza la
strategia per il suo raggiungimento
● Versione 0: articolo maschile indeterminativo; la
conoscenza è espressa nella forma di un
vocabolario esplicito nome← →articolo
● Il programma è in grado di cercare la soluzione
(già pronta) in un elenco
Versione 0
// vocabolario:
val vocabolario = Map
(
"gnomo"->"lo",
"serpente"->"un",
"squalo"->"uno",
"albero"->"un"
)
val nome = "gnomo"
val risultato =
vocabolario.get(nome)
risultato match {
case Some(r) =>
println(r + " " + nome)
case None =>
println("Boh!")
}
Oltre gli elenchi: versione 1
● Si discutono i limiti della versione precedente
(è realizzabile? Come? Esiste, o può esistere,
un elenco completo?)
● Si prova a cambiare approccio: si costruisce
una grammatica.
● Si definiscono i possibili casi in funzione
dell'iniziale del nome (vocale, semivocale,
consonante, gruppi di consonanti)
Il progetto
● Si creano delle strutture di informazioni semplici
(delle liste) per i tipi di articoli, per i tipi di lettere.
● Si definiscono delle regole: inizia per vocale, inizia
per "vocale strana", inizia per consonante, inizia
per "consonante strana"
● A queste regole vengono agganciati gli articoli
indeterminativi corretti
● Resta da vedere come fare per insegnare al
programma a riconoscere le iniziali delle parole
Gli strumenti
● Per categorizzare le parole, si possono
confrontare le loro iniziali con la lista delle
lettere che abbiamo definito sopra
● Vengono usati tre costrutti del linguaggio:
startsWith, che verifica se una parola inizia
con una lettera, filter, che permette di
applicare un filtro ad una lista e isEmpty che
permette di controllare se il risultato è vuoto.
Le conoscenze
● Le categorie sono espresse come liste
semplici:
val artInDetList = List("un","uno")
val consonantiNormaliList = List
("b","c","d","f","g","h","l","m","n","p","q","r","s","
t","v")val consonantiStraneList = List
("z","gn","pn","ps","sb","sc","sf","sg","sl","sm","sn"
,"sp","sq","st","sv")
val vocNormaliList = List("a","e","i","o","u")
val vocStraneList = List("ia","ie","io","iu")
Le regole
● Le regole sono espresse come funzioni:
def iniziaPerVocale (nome: String) : Boolean = {
!vocNormaliList.filter(
nome.startsWith(_)
).isEmpty
}
Le versioni
● La versione 2 prende in esame anche gli articoli
determinativi
● La versione 3 prende in esame il genere e l'elisione
● Il codice diventa sempre più complesso e sono
introdotti nuovi costrutti (match, map,
foldLeft) e nuovi concetti (confronto,
applicazione di una funzione, ricorsione)
● Le versioni complete dei codici sorgenti sono
disponibili sotto licenza GPL 3.0
Le discussioni
● Più importanti del codice sono le discussioni
che accompagnano l'inizio della scrittura del
codice e la sua valutazione finale
● Sono discussioni che partono tanto dalla lingua
naturale che da quella artificiale
● Si possono indicare alcune piste, che però sta al
docente esplorare insieme alla sua classe, in
funzione della sua sensibilità, della sua
preparazione, dei suoi obiettivi
Suggerimenti
● Perché è così importante l'iniziale di una parola? Quanto sono frequenti le
parole che iniziano per vocale? E che significa "parola di genere femminile?
● Perché l'allitterazione è evitata in alcune lingue, ma non in altre simili? E perché
invece in poesia è considerata una tecnica efficace?
● Che differenza c'è tra un errore in un programma e un errore in un testo scritto
in un linguaggio naturale? Anche lì ci sono errori di ortografia, di sintassi, di
struttura. Quali sono quelli più gravi? Che significa, per un errore, essere
"grave"?
● Quanto è importante la leggibilità? Che impatto ha sulla "vita" di un testo, sul
suo passare da un autore ad un altro? E cosa implica la modifica di un testo
scritto da altri? E' la stessa cosa se parliamo di romanzi, articoli di Wikipedia o
di programmi?
● Si può tradurre il programma scritto in altri linguaggi? In tutti? Le lingue naturali
sono come quelle artificiali? Tutto si può tradurre?
Altri linguaggi
● Lo stesso programma si poteva scrivere in altri linguaggi,
più o meno semplici da imparare a usare, più o meno adatti
(anche in Scratch :-) )
● Qui vengono presentati altri due esempi, uno in
LibreLogo (interprete Logo scritto in Python che gira
"dentro" LibreOffice Writer) e uno in Prolog (linguaggio per
la programmazione logica).
● Ognuno può scegliere il linguaggio più adatto alla sua
situazione, o più congeniale; oppure può confrontare le
maniere diverse di affrontare l'obiettivo e i problemi che si
incontrano sulla strada
LibreLogo: un frammento
TO inizia_consonante :parola
:consonanti =
[“b”,“c”,“d”,“f”,“g”,“h”,“l”,“m”,“n”,“p”,“q”,“r”,“s”,“t
”,“v”]
:iniziale = trova_iniziale(:parola,0)
FOR :lettera IN :consonanti [
IF (:iniziale == :lettera)[ OUTPUT TRUE ]
]
OUTPUT FALSE
END
Prolog: un frammento
inizia_per_consonante_normale(Parola) :-
/* inizia con consonante seguita da vocale ? */
atom_chars(Parola,Lista_caratteri),
[Iniziale|Seconda] = Lista_caratteri,
consonanti(consonanti_normali,Lista_consonanti),
member(Iniziale,Lista_consonanti),
vocali(vocali_normali,Lista_vocali),
member(Seconda,Lista_vocali).
Sviluppi
● Si possono immaginare, oltre a modifiche e
personalizzazioni, infiniti sviluppi
● Altri casi simili (aggettivi dimostrativi)
● Altre lingue romanze
● Lingue immaginarie
● ...
Riferimenti
Alcuni testi pubblicati venticinque anni fa possono essere ancora utili (ammesso che si riesca a
trovarli). Per esempio:
G.Casadei, P.Cuppini, A. Palareti, Informatica per le discipline umanistiche. Applicazioni
didattiche del Prolog, Bologna, Zanichelli, 1989.
V.Midoro, Il filo di Arianna - Introduzione al Prolog, Torino, SEI, 1987.
Sui tre linguaggi utilizzati si possono leggere alcune introduzioni in Italiano:
Kojo/Scala (Massimo Ghisalberti):
http://minimalprocedure.pragmas.org/writings/kojo-scala-appunti/kojo-scala-appunti.html
LibreLogo (Andreas Formiconi)
http://iamarf.ch/unifi/Piccolo-manuale-LibreLogo.pdf
Prolog (Stefano Penge)
http://www.lynxlab.com/staff/steve/public/cma/prolog_intro_tutorial.pdf
Conclusioni
● Quello che mi interessava di più era presentare in maniera il più
possibile concreta una risposta alla domanda iniziale: quali
(pos)sono (essere) gli obiettivi del coding?
● Quella qui presentata è un'attività che non ha per scopo
l'introduzione del pensiero computazionale, ma la riflessione
sulla lingua, la formulazione di ipotesi e la loro
sperimentazione.
● Sono convinto che questo approccio si possa adottare in tanti
campi diversi. Sono tutti modi di mostrare l'utilità enorme che
potrebbe avere l'utilizzo di uno strumento di programmazione
adatto per migliorare i processi di apprendimento di gruppo.

Más contenido relacionado

Destacado

Verso ambienti di apprendimento
Verso ambienti di apprendimentoVerso ambienti di apprendimento
Verso ambienti di apprendimentoGiovanni Marconato
 
Intelligenza numerica
Intelligenza numericaIntelligenza numerica
Intelligenza numericaimartini
 
Kntnt om content marketing för Sveriges kommunikationsbyråer
Kntnt om content marketing för Sveriges kommunikationsbyråerKntnt om content marketing för Sveriges kommunikationsbyråer
Kntnt om content marketing för Sveriges kommunikationsbyråerKntnt
 
Guida rapida di dropbox
Guida rapida di dropboxGuida rapida di dropbox
Guida rapida di dropboxMarco Tuveri
 
Catálogo de productos Neocenter 2016
Catálogo de productos Neocenter 2016Catálogo de productos Neocenter 2016
Catálogo de productos Neocenter 2016Neocenter SA de CV
 
Do More 24 2017 Capacity Building and Strategy Training Series: Session 3
Do More 24 2017 Capacity Building and Strategy Training Series: Session 3Do More 24 2017 Capacity Building and Strategy Training Series: Session 3
Do More 24 2017 Capacity Building and Strategy Training Series: Session 3United Way of the National Capital Area
 
Time to Re-Visit Your Cloud Contact Center Decision
Time to Re-Visit Your Cloud Contact Center DecisionTime to Re-Visit Your Cloud Contact Center Decision
Time to Re-Visit Your Cloud Contact Center DecisionIntelePeer
 
Intelligenza numerica
Intelligenza numericaIntelligenza numerica
Intelligenza numericaiva martini
 
TRIACCA Elisa, Bravi in matematica (Tesi di laurea)
TRIACCA Elisa, Bravi in matematica (Tesi di laurea)TRIACCA Elisa, Bravi in matematica (Tesi di laurea)
TRIACCA Elisa, Bravi in matematica (Tesi di laurea)GIOVANNI LARICCIA
 
Programma Medio Evento sulla Stampante 3D
Programma Medio Evento sulla Stampante 3DProgramma Medio Evento sulla Stampante 3D
Programma Medio Evento sulla Stampante 3Dcarla asquini
 
Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)
Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)
Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)Kntnt
 
Le condizioni dell'apprendimento e la strada stetta della didattica
Le condizioni dell'apprendimento e la strada stetta della didatticaLe condizioni dell'apprendimento e la strada stetta della didattica
Le condizioni dell'apprendimento e la strada stetta della didatticaGiovanni Marconato
 
1er Encuentro Nacional de Política Social y Programas Sociales en el Municipio
1er Encuentro Nacional de Política Social y Programas Sociales en el Municipio1er Encuentro Nacional de Política Social y Programas Sociales en el Municipio
1er Encuentro Nacional de Política Social y Programas Sociales en el MunicipioPAGGMunicipal
 

Destacado (20)

Verso ambienti di apprendimento
Verso ambienti di apprendimentoVerso ambienti di apprendimento
Verso ambienti di apprendimento
 
Intelligenza numerica
Intelligenza numericaIntelligenza numerica
Intelligenza numerica
 
Spazi per sperare
Spazi per sperareSpazi per sperare
Spazi per sperare
 
Kntnt om content marketing för Sveriges kommunikationsbyråer
Kntnt om content marketing för Sveriges kommunikationsbyråerKntnt om content marketing för Sveriges kommunikationsbyråer
Kntnt om content marketing för Sveriges kommunikationsbyråer
 
Nov. 6, 2016 web
Nov. 6, 2016 webNov. 6, 2016 web
Nov. 6, 2016 web
 
Guida rapida di dropbox
Guida rapida di dropboxGuida rapida di dropbox
Guida rapida di dropbox
 
Catálogo de productos Neocenter 2016
Catálogo de productos Neocenter 2016Catálogo de productos Neocenter 2016
Catálogo de productos Neocenter 2016
 
Jhenine's 18th birthday
Jhenine's 18th birthdayJhenine's 18th birthday
Jhenine's 18th birthday
 
Safe
SafeSafe
Safe
 
Disney ppt
Disney pptDisney ppt
Disney ppt
 
Do More 24 2017 Capacity Building and Strategy Training Series: Session 3
Do More 24 2017 Capacity Building and Strategy Training Series: Session 3Do More 24 2017 Capacity Building and Strategy Training Series: Session 3
Do More 24 2017 Capacity Building and Strategy Training Series: Session 3
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitae
 
Time to Re-Visit Your Cloud Contact Center Decision
Time to Re-Visit Your Cloud Contact Center DecisionTime to Re-Visit Your Cloud Contact Center Decision
Time to Re-Visit Your Cloud Contact Center Decision
 
Intelligenza numerica
Intelligenza numericaIntelligenza numerica
Intelligenza numerica
 
TRIACCA Elisa, Bravi in matematica (Tesi di laurea)
TRIACCA Elisa, Bravi in matematica (Tesi di laurea)TRIACCA Elisa, Bravi in matematica (Tesi di laurea)
TRIACCA Elisa, Bravi in matematica (Tesi di laurea)
 
Programma Medio Evento sulla Stampante 3D
Programma Medio Evento sulla Stampante 3DProgramma Medio Evento sulla Stampante 3D
Programma Medio Evento sulla Stampante 3D
 
Il Sillogismo
Il SillogismoIl Sillogismo
Il Sillogismo
 
Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)
Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)
Hammer & Hanborg: Jakten på den digitala superprofilen (Kntnt Frukost 28)
 
Le condizioni dell'apprendimento e la strada stetta della didattica
Le condizioni dell'apprendimento e la strada stetta della didatticaLe condizioni dell'apprendimento e la strada stetta della didattica
Le condizioni dell'apprendimento e la strada stetta della didattica
 
1er Encuentro Nacional de Política Social y Programas Sociales en el Municipio
1er Encuentro Nacional de Política Social y Programas Sociales en el Municipio1er Encuentro Nacional de Política Social y Programas Sociales en el Municipio
1er Encuentro Nacional de Política Social y Programas Sociales en el Municipio
 

Similar a Un automa linguistico

Didattica digitale -Language teaching and technology sciubba20131116kuleuven
Didattica digitale -Language teaching and technology sciubba20131116kuleuvenDidattica digitale -Language teaching and technology sciubba20131116kuleuven
Didattica digitale -Language teaching and technology sciubba20131116kuleuvenEleonora Sciubba
 
Informatica umanistica 2016 - 4
Informatica umanistica   2016 - 4Informatica umanistica   2016 - 4
Informatica umanistica 2016 - 4Stefano Lariccia
 
Slide per Vivere in Italia - incontro i_ metodi_lessana
Slide per Vivere in Italia - incontro i_ metodi_lessanaSlide per Vivere in Italia - incontro i_ metodi_lessana
Slide per Vivere in Italia - incontro i_ metodi_lessanaIIS Falcone-Righi
 
Scrivere%20un%20tema%20 2004
Scrivere%20un%20tema%20 2004Scrivere%20un%20tema%20 2004
Scrivere%20un%20tema%20 2004iva martini
 
Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0Pier Giuseppe
 
Nuove Tecnologie E Didattica
Nuove Tecnologie E DidatticaNuove Tecnologie E Didattica
Nuove Tecnologie E DidatticaIvan
 
Metodologie e strumenti per la didattica digitale integrata
Metodologie e strumenti per la didattica digitale integrataMetodologie e strumenti per la didattica digitale integrata
Metodologie e strumenti per la didattica digitale integrataMario Maestri
 
Informaticaumanistica 2016-5
Informaticaumanistica 2016-5Informaticaumanistica 2016-5
Informaticaumanistica 2016-5Stefano Lariccia
 
Presentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria PerifanouPresentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria PerifanouGrahamAttwell
 
Liberamente Latino Presentazione della Tesi di Laurea Triennale
Liberamente Latino Presentazione della Tesi di Laurea TriennaleLiberamente Latino Presentazione della Tesi di Laurea Triennale
Liberamente Latino Presentazione della Tesi di Laurea TriennaleLetizia
 
Modelli e strumenti inclusione didattica e sociale
Modelli e strumenti inclusione didattica e socialeModelli e strumenti inclusione didattica e sociale
Modelli e strumenti inclusione didattica e socialeUniversity of Bologna
 
Le parole sono importanti
Le parole sono importantiLe parole sono importanti
Le parole sono importantiLorenzo Fabbri
 
CristianaLancioni_English_Education_ LESSON1.pptx
CristianaLancioni_English_Education_ LESSON1.pptxCristianaLancioni_English_Education_ LESSON1.pptx
CristianaLancioni_English_Education_ LESSON1.pptxlancionicristiana
 
CristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptx
CristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptxCristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptx
CristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptxlancionicristiana
 
Sottogruppo 2 Interlingua
Sottogruppo 2   InterlinguaSottogruppo 2   Interlingua
Sottogruppo 2 InterlinguaElena Pezzi
 

Similar a Un automa linguistico (20)

Didattica digitale -Language teaching and technology sciubba20131116kuleuven
Didattica digitale -Language teaching and technology sciubba20131116kuleuvenDidattica digitale -Language teaching and technology sciubba20131116kuleuven
Didattica digitale -Language teaching and technology sciubba20131116kuleuven
 
Informatica umanistica 2016 - 4
Informatica umanistica   2016 - 4Informatica umanistica   2016 - 4
Informatica umanistica 2016 - 4
 
Scrittura collaborativa e costruzione del sapere
Scrittura collaborativa e costruzione del sapereScrittura collaborativa e costruzione del sapere
Scrittura collaborativa e costruzione del sapere
 
Slide per Vivere in Italia - incontro i_ metodi_lessana
Slide per Vivere in Italia - incontro i_ metodi_lessanaSlide per Vivere in Italia - incontro i_ metodi_lessana
Slide per Vivere in Italia - incontro i_ metodi_lessana
 
Scrivere%20un%20tema%20 2004
Scrivere%20un%20tema%20 2004Scrivere%20un%20tema%20 2004
Scrivere%20un%20tema%20 2004
 
Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0
 
Rb giornate 2017
Rb giornate 2017Rb giornate 2017
Rb giornate 2017
 
Nuove Tecnologie E Didattica
Nuove Tecnologie E DidatticaNuove Tecnologie E Didattica
Nuove Tecnologie E Didattica
 
Metodologie e strumenti per la didattica digitale integrata
Metodologie e strumenti per la didattica digitale integrataMetodologie e strumenti per la didattica digitale integrata
Metodologie e strumenti per la didattica digitale integrata
 
Informaticaumanistica 2016-5
Informaticaumanistica 2016-5Informaticaumanistica 2016-5
Informaticaumanistica 2016-5
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
 
Presentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria PerifanouPresentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria Perifanou
 
La competenza grammaticale
La competenza grammaticaleLa competenza grammaticale
La competenza grammaticale
 
Liberamente Latino Presentazione della Tesi di Laurea Triennale
Liberamente Latino Presentazione della Tesi di Laurea TriennaleLiberamente Latino Presentazione della Tesi di Laurea Triennale
Liberamente Latino Presentazione della Tesi di Laurea Triennale
 
Alessandria brasca e mandelli lingua italiana
Alessandria brasca e  mandelli lingua italianaAlessandria brasca e  mandelli lingua italiana
Alessandria brasca e mandelli lingua italiana
 
Modelli e strumenti inclusione didattica e sociale
Modelli e strumenti inclusione didattica e socialeModelli e strumenti inclusione didattica e sociale
Modelli e strumenti inclusione didattica e sociale
 
Le parole sono importanti
Le parole sono importantiLe parole sono importanti
Le parole sono importanti
 
CristianaLancioni_English_Education_ LESSON1.pptx
CristianaLancioni_English_Education_ LESSON1.pptxCristianaLancioni_English_Education_ LESSON1.pptx
CristianaLancioni_English_Education_ LESSON1.pptx
 
CristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptx
CristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptxCristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptx
CristianaLancioni LESSON1._Preparazione_Concorso_Docenti_2024pptx
 
Sottogruppo 2 Interlingua
Sottogruppo 2   InterlinguaSottogruppo 2   Interlingua
Sottogruppo 2 Interlingua
 

Más de Stefano Penge

Valutare (nel, con il) digitale
Valutare  (nel, con il) digitaleValutare  (nel, con il) digitale
Valutare (nel, con il) digitaleStefano Penge
 
Verso un uso consapevole dei dati digitali nell'educazione
Verso un uso  consapevole dei dati digitali nell'educazioneVerso un uso  consapevole dei dati digitali nell'educazione
Verso un uso consapevole dei dati digitali nell'educazioneStefano Penge
 
Programma o sarai programmato
Programma o sarai programmatoProgramma o sarai programmato
Programma o sarai programmatoStefano Penge
 
Creiamo una app Android con gli Opendata di Ipocad
Creiamo  una app Android con gli Opendata di IpocadCreiamo  una app Android con gli Opendata di Ipocad
Creiamo una app Android con gli Opendata di IpocadStefano Penge
 
SCE2014_ACADEMY_Lynx
SCE2014_ACADEMY_LynxSCE2014_ACADEMY_Lynx
SCE2014_ACADEMY_LynxStefano Penge
 
Opendata e lavoro: un'Introduzione
Opendata e lavoro: un'IntroduzioneOpendata e lavoro: un'Introduzione
Opendata e lavoro: un'IntroduzioneStefano Penge
 
Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...
Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...
Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...Stefano Penge
 
Filckr apprendimento informale
Filckr apprendimento informaleFilckr apprendimento informale
Filckr apprendimento informaleStefano Penge
 
Per un museo del codice sorgente
Per un museo del codice sorgentePer un museo del codice sorgente
Per un museo del codice sorgenteStefano Penge
 
I programmi sono testi?
I programmi sono testi?I programmi sono testi?
I programmi sono testi?Stefano Penge
 
Programmi, linguaggi e narrazione
Programmi, linguaggi e narrazioneProgrammi, linguaggi e narrazione
Programmi, linguaggi e narrazioneStefano Penge
 
Una felice scoperta Lévy e l'estetica del codice sorgente
Una felice scoperta Lévy e l'estetica del codice sorgenteUna felice scoperta Lévy e l'estetica del codice sorgente
Una felice scoperta Lévy e l'estetica del codice sorgenteStefano Penge
 
Dalla fruizione alla produzione: un modello di e-learning
Dalla fruizione alla produzione: un modello di e-learningDalla fruizione alla produzione: un modello di e-learning
Dalla fruizione alla produzione: un modello di e-learningStefano Penge
 
Social tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitaleSocial tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitaleStefano Penge
 
Evoluzione dei modelli di classificazione ed evoluzione delle piattaforme
Evoluzione dei modelli di classificazione ed evoluzione delle piattaformeEvoluzione dei modelli di classificazione ed evoluzione delle piattaforme
Evoluzione dei modelli di classificazione ed evoluzione delle piattaformeStefano Penge
 
Attori, ambienti e oggetti: un modello integrato
Attori, ambienti e oggetti: un modello integratoAttori, ambienti e oggetti: un modello integrato
Attori, ambienti e oggetti: un modello integratoStefano Penge
 

Más de Stefano Penge (20)

Valutare (nel, con il) digitale
Valutare  (nel, con il) digitaleValutare  (nel, con il) digitale
Valutare (nel, con il) digitale
 
Verso un uso consapevole dei dati digitali nell'educazione
Verso un uso  consapevole dei dati digitali nell'educazioneVerso un uso  consapevole dei dati digitali nell'educazione
Verso un uso consapevole dei dati digitali nell'educazione
 
Rodari digitale
Rodari digitaleRodari digitale
Rodari digitale
 
Programma o sarai programmato
Programma o sarai programmatoProgramma o sarai programmato
Programma o sarai programmato
 
Creiamo una app Android con gli Opendata di Ipocad
Creiamo  una app Android con gli Opendata di IpocadCreiamo  una app Android con gli Opendata di Ipocad
Creiamo una app Android con gli Opendata di Ipocad
 
Mako
MakoMako
Mako
 
dietro_il_coding_2
dietro_il_coding_2dietro_il_coding_2
dietro_il_coding_2
 
SCE2014_ACADEMY_Lynx
SCE2014_ACADEMY_LynxSCE2014_ACADEMY_Lynx
SCE2014_ACADEMY_Lynx
 
Opendata e lavoro: un'Introduzione
Opendata e lavoro: un'IntroduzioneOpendata e lavoro: un'Introduzione
Opendata e lavoro: un'Introduzione
 
Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...
Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...
Preparare il futuro: finanziamenti pubblici per idee innovative basata sull'o...
 
Collaborare online
Collaborare onlineCollaborare online
Collaborare online
 
Filckr apprendimento informale
Filckr apprendimento informaleFilckr apprendimento informale
Filckr apprendimento informale
 
Per un museo del codice sorgente
Per un museo del codice sorgentePer un museo del codice sorgente
Per un museo del codice sorgente
 
I programmi sono testi?
I programmi sono testi?I programmi sono testi?
I programmi sono testi?
 
Programmi, linguaggi e narrazione
Programmi, linguaggi e narrazioneProgrammi, linguaggi e narrazione
Programmi, linguaggi e narrazione
 
Una felice scoperta Lévy e l'estetica del codice sorgente
Una felice scoperta Lévy e l'estetica del codice sorgenteUna felice scoperta Lévy e l'estetica del codice sorgente
Una felice scoperta Lévy e l'estetica del codice sorgente
 
Dalla fruizione alla produzione: un modello di e-learning
Dalla fruizione alla produzione: un modello di e-learningDalla fruizione alla produzione: un modello di e-learning
Dalla fruizione alla produzione: un modello di e-learning
 
Social tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitaleSocial tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitale
 
Evoluzione dei modelli di classificazione ed evoluzione delle piattaforme
Evoluzione dei modelli di classificazione ed evoluzione delle piattaformeEvoluzione dei modelli di classificazione ed evoluzione delle piattaforme
Evoluzione dei modelli di classificazione ed evoluzione delle piattaforme
 
Attori, ambienti e oggetti: un modello integrato
Attori, ambienti e oggetti: un modello integratoAttori, ambienti e oggetti: un modello integrato
Attori, ambienti e oggetti: un modello integrato
 

Último

Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 

Último (18)

Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 

Un automa linguistico

  • 1. E perché non un'automa? automaun uno un' CONSONANTIVOCALI MASCHILEFEMMINILE } Stefano Penge Creative Commons 3.0 Attribuzione – Non Commerciale – Condividi allo stesso modo https://creativecommons.org/licenses/by-nc-sa/3.0/it/legalcode
  • 2. Questa presentazione ● Questa presentazione descrive un ipotetica attività di "coding" da fare in classe (perché non si dica che siamo capaci solo di criticare ) ● Il dominio è quello della lingua Italiana, scelto perché scarseggiano gli esempi. ● L'obiettivo è costruire insieme un automa linguistico, cioè un programma in grado di simulare un parlante della lingua Italiana, in una situazione specifica molto semplice: premettere l'articolo ad un nome. ● Questa proposta non è nuova. Circa venticinque anni fa era in corso in Italia una riflessione sui possibili usi dei computer e dei linguaggi di programmazione nell'apprendimento della lingua. ● E' uno dei limiti della modalità corrente di fare coding: dimenticare la storia
  • 3. Quali sono gli obiettivi del "coding" 1. Quello di sviluppare il Computational Thinking 2. Quello di preparare le nuove generazioni ai nuovi lavori 3. Quello di far costruire ai ragazzi delle storie in maniera alternativa alla scrittura 4. Quello di vaccinare i giovani contro lo strapotere delle multinazionali ICT 5. Quello di dare ad ognuno le competenze minime per scriversi un programma per risolvere i propri problemi 6. Quello di affrontare la didattica di qualsiasi disciplina in maniera costruttivista
  • 4. Il contesto ● L'oggetto è costituito da conoscenze di base, che fanno parte del programma della terza classe della scuola primaria. ● Tuttavia i concetti utilizzati nell'attività sono probabilmente troppo complessi per quell'età, almeno nella forma qui proposta. ● Si può quindi ipotizzare che si tratti di una ripresa di quelle conoscenze da parte di un gruppo di ragazzi più grandi, per esempio nella secondaria inferiore. ● Si può immaginare che lo scopo sia quello di costruire un programma che aiuti i bambini più piccoli, o di un'altra lingua-madre; oppure può essere il punto di partenza per un confronto tra lingue diverse nel quadro delle attività di apprendimento della seconda lingua. ● Spetti ad ogni docente trovare il momento ed il modo di introdurre un'attività nella sua classe, riducendola, modificandola, adattandola al contesto reale.
  • 5. A che serve ● Non si tratta di un'attività per imparare cosa sono gli articoli e come si usano. Queste conoscenze, almeno in forma generale, si considerano acquisite. ● Costruire un automa in grado di assegnare la forma giusta di articolo ad un nome è soprattutto un modo di riflettere sulle competenze linguistiche apprese, di scomporle, di rappresentarle in modo da essere in grado di applicarle anche a casi particolari. ● E' anche, o soprattutto, un modo di acquisire consapevolezza della lingua.
  • 6. Modello didattico ● A differenza di altri esempi (quiz, giochi) il modello è esplicitamente quello dell'insegnamento al computer da parte dello studente, o meglio da parte di un gruppo di studenti. ● Il punto non è come trasmettere conoscenze agli studenti; il punto è come un gruppo di studenti arriva a costruire una conoscenza stabile, condivisibile, rappresentata in una forma pubblica, a partire da elementi sparsi, non strutturati, contraddittori o apparentemente tali.
  • 7. Il/la docente ● Il suo ruolo non è quello del trasmettitore, ma nemmeno quello del tutor che sovraintende alle attività di programmazione. ● Il/la docente è la guida, che apre la discussione, aiuta a vagliare le ipotesi, suggerisce parallelismi e approfondimenti. ● Il/la docente deve, naturalmente, avere un'ampia competenza sulla lingua (sulle lingue) e sulla glottodidattica, ma anche sulla programmazione. ● Deve essere in grado di proporre delle tecniche alternative, di spiegarne i vantaggi e gli svantaggi.
  • 8. Obiezione 1 ● "Queste discussioni e questi ragionamenti si sarebbe potuti fare tranquillamente senza un computer, magari usando carta e matita". Ma senza uno strumento pratico per costruire un modello funzionante (un automa) non è possibile sperimentare davvero quel modello. Senza sperimentazione diretta, la lingua viene presentata come un proprietà di qualcun altro – mentre è patrimonio di tutti.
  • 9. Obiezione 2 ● "Queste discussioni e questi ragionamenti si sarebbe potuti fare utilizzando un programmino già fatto da qualche docente volenteroso." Una cosa è costruire un modello, un'altra è utilizzarlo senza sapere come è fatto dentro. Si può, e si deve, discutere sul punto di partenza e di arrivo del processo di costruzione: non si può partire da zero e non si può pretendere di costruire un programma perfetto.
  • 10. L'ambiente ● Non è stato usato un ambiente visuale (come Scratch o Snap!) proprio per facilitare la lettura del codice sorgente, il suo commento, la sua modifica, il riuso di parti. ● Il codice presentato è scritto con Kojo, un ambiente didattico basato sul linguaggio funzionale Scala e ricco di strumenti interessanti, tra cui un sottoinsieme di istruzioni logo-like per muovere un robot sullo schermo. http://www.kogics.net/sf:kojo http://www.scala-lang.org/ http://minimalprocedure.pragmas.org/writings/kojo-scala-appunti/kojo-scal a-appunti.html
  • 11.
  • 12. Concetti generali ● Grammatica e vocabolario (regole e fatti) ● Fonetica e pragmatica ● Automa linguistico ● Conoscenze (base di) ● Algoritmi ● Modello ● Categorizzazione ● Eccezioni ● ...
  • 13. Concetti computazionali ● Funzione e catene di funzioni ● Classe ● Oggetto ● Lista ● Stringhe e sottostringhe ● Mappatura di funzioni ● For comprenhension ● Match ● Ricorsione
  • 14. Versioni ● 4 versioni diverse, ognuna delle quali estende l'obbiettivo della precedente, o generalizza la strategia per il suo raggiungimento ● Versione 0: articolo maschile indeterminativo; la conoscenza è espressa nella forma di un vocabolario esplicito nome← →articolo ● Il programma è in grado di cercare la soluzione (già pronta) in un elenco
  • 15. Versione 0 // vocabolario: val vocabolario = Map ( "gnomo"->"lo", "serpente"->"un", "squalo"->"uno", "albero"->"un" ) val nome = "gnomo" val risultato = vocabolario.get(nome) risultato match { case Some(r) => println(r + " " + nome) case None => println("Boh!") }
  • 16. Oltre gli elenchi: versione 1 ● Si discutono i limiti della versione precedente (è realizzabile? Come? Esiste, o può esistere, un elenco completo?) ● Si prova a cambiare approccio: si costruisce una grammatica. ● Si definiscono i possibili casi in funzione dell'iniziale del nome (vocale, semivocale, consonante, gruppi di consonanti)
  • 17. Il progetto ● Si creano delle strutture di informazioni semplici (delle liste) per i tipi di articoli, per i tipi di lettere. ● Si definiscono delle regole: inizia per vocale, inizia per "vocale strana", inizia per consonante, inizia per "consonante strana" ● A queste regole vengono agganciati gli articoli indeterminativi corretti ● Resta da vedere come fare per insegnare al programma a riconoscere le iniziali delle parole
  • 18. Gli strumenti ● Per categorizzare le parole, si possono confrontare le loro iniziali con la lista delle lettere che abbiamo definito sopra ● Vengono usati tre costrutti del linguaggio: startsWith, che verifica se una parola inizia con una lettera, filter, che permette di applicare un filtro ad una lista e isEmpty che permette di controllare se il risultato è vuoto.
  • 19. Le conoscenze ● Le categorie sono espresse come liste semplici: val artInDetList = List("un","uno") val consonantiNormaliList = List ("b","c","d","f","g","h","l","m","n","p","q","r","s"," t","v")val consonantiStraneList = List ("z","gn","pn","ps","sb","sc","sf","sg","sl","sm","sn" ,"sp","sq","st","sv") val vocNormaliList = List("a","e","i","o","u") val vocStraneList = List("ia","ie","io","iu")
  • 20. Le regole ● Le regole sono espresse come funzioni: def iniziaPerVocale (nome: String) : Boolean = { !vocNormaliList.filter( nome.startsWith(_) ).isEmpty }
  • 21. Le versioni ● La versione 2 prende in esame anche gli articoli determinativi ● La versione 3 prende in esame il genere e l'elisione ● Il codice diventa sempre più complesso e sono introdotti nuovi costrutti (match, map, foldLeft) e nuovi concetti (confronto, applicazione di una funzione, ricorsione) ● Le versioni complete dei codici sorgenti sono disponibili sotto licenza GPL 3.0
  • 22. Le discussioni ● Più importanti del codice sono le discussioni che accompagnano l'inizio della scrittura del codice e la sua valutazione finale ● Sono discussioni che partono tanto dalla lingua naturale che da quella artificiale ● Si possono indicare alcune piste, che però sta al docente esplorare insieme alla sua classe, in funzione della sua sensibilità, della sua preparazione, dei suoi obiettivi
  • 23. Suggerimenti ● Perché è così importante l'iniziale di una parola? Quanto sono frequenti le parole che iniziano per vocale? E che significa "parola di genere femminile? ● Perché l'allitterazione è evitata in alcune lingue, ma non in altre simili? E perché invece in poesia è considerata una tecnica efficace? ● Che differenza c'è tra un errore in un programma e un errore in un testo scritto in un linguaggio naturale? Anche lì ci sono errori di ortografia, di sintassi, di struttura. Quali sono quelli più gravi? Che significa, per un errore, essere "grave"? ● Quanto è importante la leggibilità? Che impatto ha sulla "vita" di un testo, sul suo passare da un autore ad un altro? E cosa implica la modifica di un testo scritto da altri? E' la stessa cosa se parliamo di romanzi, articoli di Wikipedia o di programmi? ● Si può tradurre il programma scritto in altri linguaggi? In tutti? Le lingue naturali sono come quelle artificiali? Tutto si può tradurre?
  • 24. Altri linguaggi ● Lo stesso programma si poteva scrivere in altri linguaggi, più o meno semplici da imparare a usare, più o meno adatti (anche in Scratch :-) ) ● Qui vengono presentati altri due esempi, uno in LibreLogo (interprete Logo scritto in Python che gira "dentro" LibreOffice Writer) e uno in Prolog (linguaggio per la programmazione logica). ● Ognuno può scegliere il linguaggio più adatto alla sua situazione, o più congeniale; oppure può confrontare le maniere diverse di affrontare l'obiettivo e i problemi che si incontrano sulla strada
  • 25. LibreLogo: un frammento TO inizia_consonante :parola :consonanti = [“b”,“c”,“d”,“f”,“g”,“h”,“l”,“m”,“n”,“p”,“q”,“r”,“s”,“t ”,“v”] :iniziale = trova_iniziale(:parola,0) FOR :lettera IN :consonanti [ IF (:iniziale == :lettera)[ OUTPUT TRUE ] ] OUTPUT FALSE END
  • 26. Prolog: un frammento inizia_per_consonante_normale(Parola) :- /* inizia con consonante seguita da vocale ? */ atom_chars(Parola,Lista_caratteri), [Iniziale|Seconda] = Lista_caratteri, consonanti(consonanti_normali,Lista_consonanti), member(Iniziale,Lista_consonanti), vocali(vocali_normali,Lista_vocali), member(Seconda,Lista_vocali).
  • 27. Sviluppi ● Si possono immaginare, oltre a modifiche e personalizzazioni, infiniti sviluppi ● Altri casi simili (aggettivi dimostrativi) ● Altre lingue romanze ● Lingue immaginarie ● ...
  • 28. Riferimenti Alcuni testi pubblicati venticinque anni fa possono essere ancora utili (ammesso che si riesca a trovarli). Per esempio: G.Casadei, P.Cuppini, A. Palareti, Informatica per le discipline umanistiche. Applicazioni didattiche del Prolog, Bologna, Zanichelli, 1989. V.Midoro, Il filo di Arianna - Introduzione al Prolog, Torino, SEI, 1987. Sui tre linguaggi utilizzati si possono leggere alcune introduzioni in Italiano: Kojo/Scala (Massimo Ghisalberti): http://minimalprocedure.pragmas.org/writings/kojo-scala-appunti/kojo-scala-appunti.html LibreLogo (Andreas Formiconi) http://iamarf.ch/unifi/Piccolo-manuale-LibreLogo.pdf Prolog (Stefano Penge) http://www.lynxlab.com/staff/steve/public/cma/prolog_intro_tutorial.pdf
  • 29. Conclusioni ● Quello che mi interessava di più era presentare in maniera il più possibile concreta una risposta alla domanda iniziale: quali (pos)sono (essere) gli obiettivi del coding? ● Quella qui presentata è un'attività che non ha per scopo l'introduzione del pensiero computazionale, ma la riflessione sulla lingua, la formulazione di ipotesi e la loro sperimentazione. ● Sono convinto che questo approccio si possa adottare in tanti campi diversi. Sono tutti modi di mostrare l'utilità enorme che potrebbe avere l'utilizzo di uno strumento di programmazione adatto per migliorare i processi di apprendimento di gruppo.