Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Appunti completi di informatica di base con Prof. Peroni, Appunti di Fondamenti di informatica

Una panoramica dei protocolli di comunicazione utilizzati sul web e dell'architettura di internet. Esplora concetti come http, https, url, server web e pacchetti di dati, spiegando come questi elementi interagiscono per consentire la comunicazione tra browser e server. Il documento include esempi e analogie per facilitare la comprensione dei concetti chiave, rendendolo una risorsa utile per chi studia informatica o desidera approfondire il funzionamento del web. Approfondisce i protocolli di comunicazione, in particolare quelli usati per comunicare richieste e informazioni sul web, analizzando alcuni dei protocolli di comunicazione più importanti per il funzionamento del web e di internet, a partire dal protocollo http.

Tipologia: Appunti

2024/2025

Caricato il 23/09/2025

kjchvodfhvco
kjchvodfhvco 🇮🇹

13 documenti

1 / 102

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
LE TECNOLOGIE INFORMATICHE NELLE SCIENZE UMANE
Introduzione
Al giorno d’oggi, l’uso delle tecnologie informatiche è estremamente pervasivo, visto che
concilia, regola, e scandisce ogni momento delle nostre attività quotidiane. Basti pensare a quante
volte accediamo a Internet in una giornata, guardiamo una pagina Web per una qualsiasi ragione
(una ricetta, una ricerca, etc.), accediamo ai social network, scambiamo messaggi con amici
attraverso applicazioni come WhatsApp e Telegram, e chi più ne ha più ne metta.
Lo studio delle materie umanistiche non fa eccezione. Il processo di digitalizzazione di artefatti
fisici – come lettere, carteggi, libri, archivi – in documenti digitali ha reso possibile il loro
accesso e studio in modo totalmente remoto, senza necessariamente recarsi nel luogo dove
l’opera viene custodita ma richiedendola in digitale – un esempio di questo genere è l’archivio di
Giovanni Pascoli.
In questo capitolo conclusivo, verrà fornita una breve panoramica dei vari progetti e/o branche di
ricerca che coinvolgono l’utilizzo diretto di tecnologie informatiche. Un più esaustivo trattato su
questi temi è reperibile in [Drucker et al., 2014], su cui questo capitolo è basato.
Progetti digitali relativi a studi sulle scienze umane
Tutti i progetti digitali che riguardano le scienze umane hanno delle caratteristiche comuni. In
primo luogo, ognuno di essi mette a disposizione una piattaforma(generalisti a o specialistica)
solitamente Web, che permette di usufruire del contenuto digitale del progetto e di presentarlo al
pubblico. La scelta della piattaforma da usare, ovviamente, va in base alla particolare esigenza
del progetto in considerazione. Esistono strumenti generalisti, come WordPress o MediaWiki (si
veda, ad esempio, la Figura 1), che possono essere utilizzati facilmente in diversi contesti. Altri
strumenti invece, più specialistici, come Omeka S e ResearchSpace [Oldman & Tanase, 2018] (si
veda, ad esempio, la Figura 2) , sono stati sviluppati da studiosi delle scienze umane per scopi
molto più specifici e settoriali, come la pubblicazione di collezioni digitali relative al patrimonio
culturale conservato nei musei o nelle biblioteche.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Anteprima parziale del testo

Scarica Appunti completi di informatica di base con Prof. Peroni e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

LE TECNOLOGIE INFORMATICHE NELLE SCIENZE UMANE

Introduzione

Al giorno d’oggi, l’uso delle tecnologie informatiche è estremamente pervasivo, visto che concilia, regola, e scandisce ogni momento delle nostre attività quotidiane. Basti pensare a quante volte accediamo a Internet in una giornata, guardiamo una pagina Web per una qualsiasi ragione (una ricetta, una ricerca, etc.), accediamo ai social network, scambiamo messaggi con amici attraverso applicazioni come WhatsApp e Telegram, e chi più ne ha più ne metta. Lo studio delle materie umanistiche non fa eccezione. Il processo di digitalizzazione di artefatti fisici – come lettere, carteggi, libri, archivi – in documenti digitali ha reso possibile il loro accesso e studio in modo totalmente remoto, senza necessariamente recarsi nel luogo dove l’opera viene custodita ma richiedendola in digitale – un esempio di questo genere è l’archivio di Giovanni Pascoli. In questo capitolo conclusivo, verrà fornita una breve panoramica dei vari progetti e/o branche di ricerca che coinvolgono l’utilizzo diretto di tecnologie informatiche. Un più esaustivo trattato su questi temi è reperibile in [Drucker et al., 2014], su cui questo capitolo è basato.

Progetti digitali relativi a studi sulle scienze umane

Tutti i progetti digitali che riguardano le scienze umane hanno delle caratteristiche comuni. In primo luogo, ognuno di essi mette a disposizione una piattaforma (generalisti a o specialistica) solitamente Web, che permette di usufruire del contenuto digitale del progetto e di presentarlo al pubblico. La scelta della piattaforma da usare, ovviamente, va in base alla particolare esigenza del progetto in considerazione. Esistono strumenti generalisti, come WordPress o MediaWiki (si veda, ad esempio, la Figura 1 ), che possono essere utilizzati facilmente in diversi contesti. Altri strumenti invece, più specialistici, come Omeka S e ResearchSpace [Oldman & Tanase, 2018] (si veda, ad esempio, la Figura 2 ) , sono stati sviluppati da studiosi delle scienze umane per scopi molto più specifici e settoriali, come la pubblicazione di collezioni digitali relative al patrimonio culturale conservato nei musei o nelle biblioteche.

Figura 1. La pagina principale del concorso Wiki Loves Monuments Italia, che ha l’obiettivo di raccogliere le fotografie dei monumenti sparsi sul territorio – che utilizza WordPress come piattaforma di pubblicazione. Figura 2. Uno screenshot di alcune risorse visualizzate attraverso ResearchSpace. Una volta decisa la piattaforma da usare, un qualunque progetto di questo genere deve, di fatto: ● gestire delle risorse digitali , ad esempio un insieme di documenti salvati in uno o più file in un certo formato; ● organizzare queste risorse in modo strutturato e informativo , così da essere facilmente interpretabili non solo dagli esseri umani ma anche da agenti software intelligenti; ● permettere l’ accesso a queste risorse così da fare ricerche e studi specifici su di esse, ed eventualmente rispondere a determinati quesiti usando le informazioni a disposizione;

Figura 3. Un estratto dalla versione digitale del First Folio di Shakespeare, relativa all’incipit del Sogno di una Notte di Mezza Estate. TEI viene anche usato per alcune delle principali attività della filologia, come la ricostruzione della forma originaria di un testo attraverso l’analisi delle fonti che lo testimoniano, o la creazione di edizioni critiche, dove si mettono a confronto due varianti dello stesso testo. Questa attività di marcatura, se supportata da strumenti visuali che facilitano la creazione della versione digitale delle varianti in considerazione, risulta particolarmente efficace ed efficiente per un’analisi qualitativa di queste varianti – per esempio, si veda il PhiloEdito r [ Italia et al., 2015], mostrato in Figura 4.

Figura 4. Uno screenshot di PhiloEditor, che visualizza le differenze tra due versioni del secondo capitolo de I Promessi Sposi di Alessandro Manzoni, rispettivamente quella del 1827 e quella del 1840.

Collezioni di dati

Oltre ad un documento testuale, esiste un’altra tipologia di entità di cui si sente spesso parlare in diversi contesti, senza mai darne una definizione precisa, ovvero il concetto di DATO.

  • Valori puri: Paris, 45, Ginevra, 14
  • Dati: laddove questi valori vengono messi in un contesto, in modo che diventino semanticamente rilevanti per descrivere qualcosa. La parola “dato” deriva dalla parola latina “datum” che significa “cosa data”. Seppur intuitivamente tutti parliamo di dati, una definizione formale di cosa sia un dato potrebbe essere la seguente: una frase dichiarativa soggetto-predicato-oggetto che attribuisce ad una entità

biblioteca, interrogabili attraverso un computer, così come la descrizione di oggetti museali messi a disposizione su un sito Web, sono tutti contenuti in opportune basi di dati, così da facilitarne l’interrogazione e lo studio. Per esempio, Il progetto Zeri & LODE [ Daquino et al., 2017] (mostrato in Figura 5) mette a disposizione una significativa base di dati, collegati tra loro e con entità esterne contenute in altre basi di dati, come Wikidat a e GeoName s, su fotografie di opere d’arte relative alla pittura italiana del XVI secolo collezionate nel tempo dal famoso critico d’arte Federico Zeri e conservate dalla Fondazione Federico Zeri dell’Università di Bologna. Figura 5. La pagina iniziale del progetto Zeri & LOD E. Figura 6. La pagina iniziale del progetto ArCO. Un altro esempio rilevante in questo settore è il progetto ArCo, Architettura della Conoscenza, mostrato in Figura 6, dalla collaborazione con il Centro Nazionale delle Ricerche (CNR) e l’Istituto Centrale per il Catalogo e la Documentazione (ICCD). Il progetto ha pubblicato sia svariati modelli concettuali per la descrizione dei dati relativi a beni culturali materiali e immateriali – incluse le loro schede catalografiche, gli eventi che coinvolgono i beni culturali, e la loro localizzazione geografica e amministrativa – sia larghe collezioni di dati su questi beni culturali presenti in Italia.

Gemelli digitali:

Identificare potenziali tecnologie, metodologie e soluzioni che potrebbero risolvere le principali

domande e priorità che le istituzioni culturali stanno affrontando oggi relativamente alla valorizzazione e conservazione del patrimonio culturale. Scenario ideale per sperimentazione di approcci e metodi per l'acquisizione, elaborazione, ottimizzazione, pubblicazione online di asset 3D, ovvero la creazione di un digital twin della mostra "L'Altro Rinascimento – Ulisse Aldrovandi e le meraviglie del mondo", terminata il 28 maggio 2023

Conclusioni

In questo capitolo abbiamo voluto fare, come chiusura del corso, una piccola e assolutamente non esaustiva panoramica dell’utilizzo delle tecnologie informatiche per studi e ricerche attinenti alle scienze umane. Nell’intenzione degli autori, lo scopo di questa digressione era quello di mostrare alcuni esempi concreti di applicazioni e progetti sviluppati in questo senso, così da rendere noto al lettore il fatto che, al giorno d’oggi e contrariamente a quel che avveniva ancora una ventina di anni fa, risulta praticamente impossibile non considerare le tecnologie informatiche nell’approccio allo studio di materie e argomenti prettamente umanistici. In questo contesto, l’informatica e il pensiero computazionale non devono essere visti come oggetti ostili, ma piuttosto come strumenti non solo utili ma fondamentali per uno studio completo, appropriato ed efficace delle discipline umanistiche.

gestire operazioni simili a quelle effettuate dai computer umani, ma in modo che fossero eseguite automaticamente, velocemente, e senza errori. Babbage fu in grado di costruire solo un prototipo parziale della macchina e, dopo l’entusiasmo iniziale, fu demoralizzato dalla limitata flessibilità che offriva. Infatti, la Macchina Differenziale non era programmabile e, di conseguenza, era in grado di utilizzare solo un numero limitato di operazioni sull’input ricevuto – specificato, fisicamente, cambiando specifiche configurazioni della macchina. Amava organizzare feste a casa sua, in cui invitava i possibili finanziatori per i suoi progetti e li convinceva a finanziarlo per sviluppare le sue macchine. Il suo obbiettivo era quello di automatizzare i calcoli, creare una macchina che fosse in grado di fare i calcoli senza errori. Produce la macchina e la espone cercando di ricevere sempre più soldi per mandare avanti lo sviluppo di questa macchina. Però poi si annoia, perché la macchina differenziale non era programmabile: veniva fornita con una serie di operazioni e chi la usava voleva aggiungerne altre. Babbage abbandona lo sviluppo della macchina differenziale e con quei soldi inizia a progettare il prototipo della macchina analitica. Faceva tutto quello che faceva la macchina differenziale, ma in più era programmabile. I costi erano pero talmente alti che non è mai riuscito a costruire neanche un prototipo, è sempre rimasta solo su carta. La macchina analitica è però di fatto la base per la creazione di tutti i computer elettronici che conosciamo oggi. È il precursore del computer elettronico. Poco più di un secolo dopo c’è il primo computer elettronico. Era appena finita la seconda guerra mondiale e gli americano progettarono il computer a scopi bellici. Poteva programmare la mira per sparare proiettili. Da qui è stato creato un computer completamente digitale e programmabile con cavi e interruttori. Erano stanze di circuiti. Diversamente da babbage: egli aveva pensato a come istruire la macchina, inventa un cartoncino con dei buchi e in base alla posizione dei buchi si potevano programmare le operazioni (schede perforate). L’architettura generale dei computer elettronici riprendono da qui. In modo da sopperire a queste limitazioni, nel 1837, Babbage iniziò a progettare una nuova macchina, la Macchina Analitica , mostrata in Figura 2. Seppur nessun prototipo di questa macchina sia stato effettivamente costruito da Babbage, in linea di principio avrebbe dovuto permettere la creazione di qualunque calcolo procedurale, rendendola il primo computer meccanico e general-purpose della storia. Contrariamente al suo predecessore, la Macchina Analitica era in grado di ricevere in input istruzioni e dati mediante l’uso di schede perforate, senza obbligare l'utilizzatore, quindi, a compiere manipolazioni fisiche della macchina stessa per farla funzionare.

Figura 2. Una bozza di Babbage che descrive l’architettura principale della Macchina Analitica. Sorgente: The Analytical Engine: 28 Plans and Counting, Computer History Museum. C’è voluto più di un secolo per vedere sviluppate in una macchina fisica le idee presentate nella Macchina Analitica. Infatti, l’evoluzione della tecnologia computazionale ha avuto una brusca accelerata soltanto a seguito della Seconda Guerra Mondiale. In quei tempi, molti calcolatori furono costruiti per ragioni militari, come, ad esempio, la Bomb a (1940) (Figura 3 ) , sviluppata da Alan Turing, che è stata il principale strumento che ha permesso a un gruppo di persone, rinchiuse nella base militare segreta britannica di Bletchley Park, di decifrare (grazie anche al lavoro pregresso fatto da crittologi polacchi come Marian Rejewski) le comunicazioni tedesche che erano state cifrate dalla macchina Enigm a. Figura 3. Una Bomba di Bletchley Park. Mentre la Bomba era una macchina estremamente efficace ed efficiente , era altresì parzialmente basata su componenti prettamente meccanici, e permetteva lo svolgimento di una sola operazione, anche se estremamente cruciale da un punto di vista squisitamente storico. Il primo computer interamente digitale, come pensato da Babbage con la sua Macchina Analitica, è stato sviluppato negli Stati Uniti d’America soltanto qualche anno dopo, nel 1946: l’Electronic

Processo di astrazione: processo di rimozione dei dettagli trascurabili di una situazione in modo da semplificarla, per cosi focalizzare l’attenzione sulle sue caratteristiche principali.

Obiettivi del pensiero compiutazionale: dare nuovamente forma alle astrazioni che

abbiamo già immagazzinato in passato come conseguenza della nostra esperienza

personale- e che spesso riutilizziamo inconsciamente.

Essere nuovamente e interamente coscienti di queste astrazioni significa doverle

ridefinire usando un linguaggio appropriato per rendere comprensibili a un computer.

Obbiettivo principale dell’insegnamento del pensiero computazionale: permette alle

persone di pensare come fossero computer scientist anche quando bisogna affrontare

attività nel quotidiano

Una volta d’accordo su quale linguaggio usare per la comunicazione tra l’istruttore e il computer (a prescindere dal fatto che questo sia un umano o una macchina), dovremmo iniziare a pensare una sequenza di possibili istruzioni da comunicare che, se seguite sistematicamente, possano restituire un risultato atteso per risolvere un certo problema. In modo da raggiungere questo obiettivo, solitamente (e inconsapevolmente) proviamo a ricercare possibili soluzioni per il problema in questione confrontandolo con possibili situazioni che si sono già presentate in passato – e che, plausibilmente, abbiamo già risolto. L’idea è quella di trovare un pattern (schema ricorrente) che fornisca una possibile soluzione a un insieme di situazioni che, a livello astratto, sono del tutto omogenee, in modo da poter riusare la stessa strategia per raggiungere il nostro obiettivo, se questa è stata soddisfacente nel passato. Per esempio, alcune delle azioni che eseguiamo in un ufficio postale sono abbastanza simili a quelle che eravamo abituati a svolgere quando, da piccoli, aspettavamo il nostro turno per giocare con lo scivolo in un parco, come mostrato in Figura 5. Figura 5. Due fotografie che descrivono una situazione simile, ovvero fare la coda, in due contesti differenti: un parco (sinistra) e un ufficio postale (destra). Considerando le situazioni e contesti appena riportati, possiamo definire il pensiero computazionale come un approccio per risolvere problemi, sviluppare sistemi e capire il comportamento umano che riprende i concetti fondamentali della computazione [ Wing, 2008] –

dove con la parola computazione si intende calcolo. Il pensiero computazionale definisce i processi mentali che coinvolgiamo quando formuliamo un certo problema ed esprimiamo le relative soluzioni usando un linguaggio che un computer (sia esso umano o macchina) può comprendere e, conseguentemente, eseguire. Jeannette Wing fornisce una definizione aggiuntiva, per chiarire ancor meglio cosa si intenda per pensiero computazionale [Wing, 2008]: Computational thinking is a kind of analytical thinking. It shares with mathematical thinking in the general ways in which we might approach solving a problem. It shares with engineering thinking in the general ways in which we might approach designing and evaluating a large, complex system that operates within the constraints of the real world. It shares with scientific thinking in the general ways in which we might approach understanding computability, intelligence, the mind and human behaviour.^1 La nozione principale dietro al pensiero computazionale è l’ astrazione , ovvero l’abilità di esercitare pensiero astratto e di esibire abilità di astrazione – che comporta il processo di rimozione dei dettagli trascurabili di una situazione in modo da semplificarla, per così focalizzare l’attenzione sulle sue caratteristiche principali [Kremer, 2007]. Come già anticipato nell’esempio descritto in Figura 5, l’abilità di astrarre situazioni e nozioni è cruciale per automatizzare l’esecuzione di determinate operazioni attraverso l’uso di un computer che è responsabile dell’interpretazione di queste astrazioni. Di solito, noi usiamo queste astrazioni in modo intenzionale o inconscio nella vita quotidiana, come quando usiamo un contenitore sia per metterci degli oggetti (per esempio un carrello della spesa), sia quando lo immaginiamo per metterci delle azioni da svolgere (per esempio una lista scritta o mentale delle cose da fare prima di pranzo), o addirittura quando vediamo cose dove non ci sono, come nel caso della pareidolia (Figura 6), perché alcune caratteristiche percettive hanno una forma simile a ciò che crediamo di, o vogliamo, vedere. (^1) Traduzione libera in italiano: “Il pensiero computazionale è un tipo di pensiero analitico. Condivide, con il pensiero matematico, il modo in cui possiamo approcciare un problema per trovarne la soluzione. Condivide, con il pensiero ingegneristico, il modo in cui possiamo affrontare la progettazione e la valutazione di grandi sistemi complessi che operano all’interno dei limiti del mondo reale. Infine, condivide, con il pensiero scientifico, il modo in cui possiamo trattare la comprensione della calcolabilità, l’intelligenza, la mente e il comportamento umano.”

Strutture dati

Organizzare l’informazione:

Fa parte del processo di astrazione il descrivere l’informazione presente in una certa

situazione secondo l’organizzazione generica e riutilizzabile in più contesti.

Si usano quelle che comunemente sono chiamate strutture dati: una sorta di contenitore

dove possiamo posizionare alcune informazioni, e che fornisce dei metodi specifici per

aggiungere e richiedere pezzi di questa informazione.

Esempi: liste, code, pile, insiemi, dizionari, alberi, grafi.

Uno dei processi di base dell’attività di astrazione è quella di descrivere l’informazione presente in una certa situazione secondo un’organizzazione generica e riutilizzabile in più contesti. Per fare ciò, si usano quelle che comunemente sono chiamate strutture dati. Le strutture dati sono i modi in cui possiamo organizzare l’informazione e i dati da essere processati (input) e restituiti (output) da un computer, in modo da potervi accedere in modo efficiente ed efficace a livello computazionale. In pratica, una struttura dati è una sorta di contenitore dove possiamo posizionare alcune informazioni, e che fornisce dei metodi specifici per aggiungere e richiedere pezzi di questa informazione. Tra le più semplici strutture dati abbiamo: le liste, le code, le pile, gli insiemi, i dizionari, gli alberi e i grafi. Tutte queste strutture verranno analizzate nelle sottosezioni che seguono, fornendo esempi delle loro applicazioni in scenari quotidiani.

Lista

Una lista è una sequenza di elementi ordinati e ripetibili che si possono contare , perché si può sapere quanti elementi essa contiene in un dato momento. I suoi elementi sono ordinati perché sono posizionati in uno specifico ordine di precedenza tra loro, che è preservato anche quando aggiungiamo e rimuoviamo determinati elementi. Inoltre, gli elementi in una lista sono ripetibili(sono ammesse ripetizioni), visto che possono comparire più di una volta in una lista – ad esempio, se proviamo a creare una lista di caratteri della parola “pensiero”, la lettera “e” comparirà due volte, una in seconda posizione, e un’altra in sesta posizione. Esistono diversi esempi tratti da situazioni reali di queste liste astratte. Per esempio, in Figur a 7 , sono mostrati un indice di un libro e una lista di riferimenti bibliografici in un articolo scientifico. Entrambi sono due oggetti concreti costruiti partendo dalla nozione astratta di lista.

Pila

Una pila è una specie di lista vista da un particolare punto di vista, ovvero dal basso verso l’alto, e con uno specifico insieme di operazioni che si possono effettuare sugli elementi della pila. La caratteristica principale degli elementi di questa struttura riguarda le operazioni di aggiunta e rimozione, che seguono una strategia last in first out ( LIFO ) – ovvero, l’ultimo elemento che viene inserito è il primo ad essere rimosso: ci sono delle specifiche regole di ingaggio. Infatti, l’ultimo elemento inserito nella struttura è posizionato in cima alla pila e, quindi, è anche il primo che verrà rimosso se richiesto. Inoltre, se si vuole rimuovere un elemento in mezzo alla pila, è prima necessario rimuovere tutti gli elementi che sono stati posizionati dopo questo, dal più recente al più vecchio.

Coda

Una coda è una specie di lista vista da un’altra prospettiva, ovvero da sinistra verso destra, e con uno specifico insieme di operazioni che possono essere effettuate sugli elementi che contiene. Figura 9 mostra due differenti esempi di code in situazioni del quotidiano: una coda di bambini (sinistra) e una linea di attesa di taxi (destra).

simile agli insiemi. Inoltre le chiavi di ogni coppia non sono ripetibili perché la stessa chiave non può essere usata due o più volte nel dizionario. Ovviamente, esistono diversi esempi di questi dizionari astratti in oggetti di uso quotidiano. Per esempio, in Figura 11 , sono mostrate una collezione di definizioni e una tabella di conversione di valuta. Entrambe sono oggetti concreti che sono stati costruiti partendo dalla stessa nozione astratta di dizionario.

Albero

L’attività di marcatura di un testo – ovvero, l’annotazione che vi si può fare, riconoscendo i vari ruoli strutturali e semantici delle varie parti che lo compongono, come l’identificazione delle sezioni, capoversi, dialoghi, etc. – è un’attività che si compie sistematicamente, e in modo inconsapevole, ogni qual volta si prende un documento da analizzare o, molto più generalmente, da leggere. Per esempio, consideriamo il seguente estratto dal primo capitolo di Alice’s Adventure in Wonderland di Lewis Carroll [Carroll, 1866]: Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, “and what is the use of a book,” thought Alice, “without pictures or conversations?” So she was considering in her own mind, (as well as she could, for the hot day made her feel very sleepy and stupid,) whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a white rabbit with pink eyes ran close by her. Seppur sia totalmente implicito per chi legge, ogni parte del testo è in realtà organizzata in modo molto preciso. Per esempio, specifici blocchi testuali del testo citato sono descritti in capoversi, che sono a loro volta organizzati in capitoli, che a loro volta compongono il libro. Inoltre, ogni capoverso può contenere altre strutture, come un dialogo di un certo personaggio. Tutte queste

strutture sono mostrate in Figur a 12 , dove la struttura principale, chiamata book , è descritta da una sorta di scatola che contiene diverse scatole più piccole chiamate chapter , una per ogni capitolo. Ognuna di queste, a sua volta, contiene altre scatole chiamate paragraph , una per ogni capoverso, e così via. Questo approccio di racchiudere una parte del testo in una scatola etichettata definisce esattamente l’attività di marcatura, che è possibile definire esplicitamente mediante l’utilizzo di opportuni linguaggi di markup – alcuni dei quali verranno discussi in seguito. Anche se potrebbe non sembrare estremamente chiaro ad una prima scorsa, l’organizzazione a scatole appena presentata descrive una precisa gerarchia tra loro, dove la più grande (ovvero book ) ne contiene di più piccole (ovvero i vari chapter ), queste a loro volta ne contengono di più piccole ancora (i paragraph ), e così via. Quando siamo in presenza di queste organizzazioni gerarchiche che non si sovrappongono, possiamo usare una specifica struttura dati per descriverle in modo astratto: un albero – come mostrato in Figura 13. Figura 12. I primi due capoversi di Alice’s Adventure in Wonderland marcati con strutture testuali di base: libro ( book ), capitolo ( chapter ), capoverso ( paragraph ), e dialogo ( quotation ). Figura 13. L’albero che descrive il contenimento delle varie strutture dell’incipit di Alice’s Adventure in Wonderland Un albero è una struttura dati composta da un insieme di nodi collegati tra loro da una relazione gerarchica genitore-figlio. Come mostrato in Figura 14, i nodi di questa struttura dati