Informatica per le discipline
umanistiche e linguistiche
Roberto Zamparelli (parte prima)
Marco Baroni (parte seconda)
Precursori nel precedente
ordinamento (509): IU B/C/D
Informatica
Umanistica A (= ECDL, impartito a
livello di ateneo; vedi http://www.unitn.it/ecdl/
ora un prerequisito)
Informatica Umanistica B (Poesio, 3 crediti)
Informatica Umanistica C (Zamparelli, 3 crediti)
Informatica Umanistica D (M.Baroni, 3 crediti)
Due o tre di questi moduli obbligatori per ogni
corso di studi a lettere & filosofia
Situazione attuale




Un singolo corso di “Informatica per le discipline
umanistiche e linguistiche” (IDU), diviso in due parti
consecutive allo stesso orario:
Orario: Lun., Giov., Ven. 12-14
Contenuti: elementi di IU-B e -C, più alcune parti nuove
Le due parti (ciascuna di 30 ore, 6 crediti) possono
essere seguite indipendentemente.
Parte I: richiesta nella triennale di Beni Culturali,
Filosofia
Parte II: più specialistica (uso di PERL), in inglese
Requisiti per studenti 509
Gli studenti del precedente ordinamento (“509”)
che devono superare moduli di I.U. possono
presentarsi all’esame di IDU:



Come non frequentanti, con il vecchio programma
di IU-C (3 crediti), con le stesse modalità di esame
(vedi sito)
Come frequentanti del nuovo programma, parte I (6
crediti)
Come non frequentanti del nuovo programma (6
crediti)
Web & esercitazioni
Sito web con materiali del corso ed informazioni
sull’esame:
http://people.lett.unitn.it/zamparelli/ (click su IDU/IU)
 Esercitazioni in laboratorio informatico:




Per gli studenti di filosofia: A. Bucchiarone (XML, orario
pomeridiano da determinare
Per gli studenti di beni culturali: F.Cavulli: (Data Base e
GIS)
Esame: orale con discussione di un progetto
informatico (da determinare, vedi sito)
Contenuti

Parte I:






Nozioni di base: struttura fisica e teorica dei
computer
Informazione e sua codifica vari livelli
Basi di dati e loro usi in campo umanistico
Linguaggi di marcatura: HTML ed XML
Biblioteche digitali
Concetti e problematiche del WEB “2.0”
Contenuti

Parte II





Introduzione generale alla programmazione:
l'ambiente di lavoro, input, output
Espressioni regolari e ricerca di stringhe in un
testo
Segmentazione del testo
Raccolta di statistiche sui profili di occorrenza e
co-occorrenza delle parole
Misurare la somiglianza semantica tra parole con
metodi geometrici
Bibliografia

Parte I:




Castano, Ferrara e Montanelli "Informazione,
conoscenza e web per le scienze
umanistiche",Pearson Addison Wesley, 2009
Ciotti Testi elettronici e banche dati testuali:
problemi teorici e tecnologie, disponibile online.
Materiali sul sito (Note del docente,siti web)
Parte II (inizio: 5 novembre)


Qualsiasi manuale introduttivo sul linguaggio Perl
Note del docente (Marco Baroni)
Credits
Slide adattate e modificate da materiali su web
di:
 Massimo Poesio
 Roberta Cuel
 Ciotti e Roncaglia
 …
A tutti, grazie!
email
Marco Baroni:
[email protected]
Roberto Zamparelli:
[email protected]
La madre di tutte le domande su questo
corso
Perché mai uno studente di Lettere
& Filosofia dovrebbe seguire un
corso di informatica?
Tre risposte



Per motivi PRATICI generali
Per motivi SPECIFICI alle materie
umanistiche
Per motivi CULTURALI
Informatica come strumento
pratico

Saper usare strumenti informatici per




Email
Web
Composizione di un documento
Uso di spreadsheet (“fogli di calcolo”) o di un database
fa ormai parte delle qualificazioni di base richieste
per qualunque professione
 Un sito web e’ ormai un modo standard per
distribuire informazioni e farsi pubblicita’
Anche un sito molto semplice puo’ essere utilissimo!
Informatica come strumento culturale
(anche per le discipline umanistiche)




Storici, materie letterarie:
 Archivi di testi con possibilità sofisticate di ricerca
 Analisi di testo (per esempio, riconoscimento di autori)
Archeologia:
 strumenti CAD per visualizzare ed analizzare reperti
Beni culturali:
 Database di immagini
 Analisi di oggetti d’arte
Lingue, mediazione linguistica:
 Dizionari online, creazione di dizionari
 Traduzione automatica
Concetti scientifici entrati nell’uso
comune

Dalla fisica:




Entropia
Relatività
Principio di indeterminazione
Dall’informatica:



Informazione, codice (e crittografia)
Digitale vs. analogico
Computabilità e suoi limiti
Nozioni di base:


Modelli teorici della computazione: algoritmi
Modelli matematici della computazione: la
macchina di Turing
I: MODELLI TEORICI DELLA
COMPUTAZIONE



Un PROGRAMMA e’ un ALGORITMO posto in
forma comprensibile al computer
Il nome ALGORITMO non e’ stato inventato dagli
informatici ma dai matematici
Deriva dal nome del matematico persiano
Muhammad ibn Mūsa 'l-Khwārizmī che attorno
all’825 scrisse un trattato chiamato Kitāb al-djabr wa
'l-muqābala (Libro sulla ricomposizione e sulla
riduzione)


AL-KHWARIZMI  ALGORISMO  ALGORITMO
(ALGEBRA deriva da AL-DJABR)
ALGORITMO

Definizione informale di ALGORITMO: una
sequenza FINITA di passi DISCRETI e NON
AMBIGUI che porta alla soluzione di un
problema
UN PROBLEMA E IL SUO ALGORITMO:
IL MASSIMO COMUN DIVISORE
MCD: UN ALGORITMO
ELEMENTARE
A scuola si impara un algoritmo molto semplice per
calcolare MCD: la SCOMPOSIZIONE IN FATTORI
PRIMI

42 = 2 x 3 x 7
56 = 2 x 2 x 2 x 7



Algoritmo MCD(M, N):
1.
2.

Scomponi M ed N in fattori primi
Estrai i componenti comuni
Questo metodo si’ puo’ solo applicare per numeri
piccoli (la scomposizione in fattori primi e’ molto
costosa)
MCD: ALGORITMO DI
EUCLIDE

I moderni calcolatori non usano l’algoritmo
elementare per calcolare il MCD, ma un
algoritmo molto piu’ efficiente la cui prima
menzione e’ negli Elementi di Euclide, e che
divenne noto agli occidentali tramite AlKhwarizm
Esempio linguistico:
inserimento di spazi nella Divina
Commedia
1.
2.
3.
4.
5.
Nelmezzodelcammindinostravita
Miritrovaiperunaselvaoscura
chéladirittaviaerasmarrita.
Ahquantoadirqualeraècosadura
estaselvaselvaggiaeaspraeforte
Ingredienti:
 lessico del linguaggio dantesco,
 un sistema per leggere singoli caratteri
Idea generale (prima versione )


Si legge un carattere alla volta, accumulando
i caratteri in una stringa (= una sequenza di
caratteri).
Appena la stringa è una parola del lessico, si
inserisce uno spazio.
Questo algoritmo richiede delle scelte, rappresentabili
come diagrammi di flusso
Diagramma di flusso: spazi in Dante
Legenda: i rettangoli = azioni; rombi = test. Il diagramma si inizia da una casella di partenza (qui in verde); si
seguono quindi le frecce.Quando si incontra un rombo, si verifica se la condizione è soddisfatta o meno, e si
prosegue attraverso la freccia "Si" o quella "No", a seconda dei casi.
L'algoritmo termina se arriva in ogni caso ad una posizione terminale (qui "Successo!" o "fallimento"); non
termina se entra in un circolo chiuso.
Limiti dell’algoritmo?
Nelmezzodelcammindinostravita
Miritrovaiinunaselvaoscura
…
Mi
ritrova
Errore: ritrova è già una parola
i
in
un
Errore: i è già una parola
a selvaoscura
…
:
Inserimento spazi, 2
“Prendi sempre la parola più lunga possibile”
Nel
mezzo
del
cammin
dino
Errore (Dino, preso come
nome proprio)
stravita
Errore fatale: impossibile
dividere il resto.
Spazi in Dante, take 3
"Scegli la parola più lunga possibile, ma se con questa scelta non riesci a completare il verso, ritorna sui tuoi
passi e scegline un'altra.” (dettagli del meccanismo di backtracking non rappresentati)
Algoritmo 3: risultati





Nelmezzodelcammindinostravita
Nel--mezzodelcammindinostravita
Nel--mezzo--delcammindinostravita
Nel--mezzo--delcammindinostravita
Nel--mezzo--del--cammin--dinostravita




Nel--mezzo--del--cammin--*dino--stravita ("Fallimento! ritorna a *)
Nel--mezzo--del--cammin--di--nostravita
Nel--mezzo--del--cammin--di--nostra—vita
…
III: MODELLI MATEMATICI
DELLA COMPUTAZIONE
Le funzioni di un computer

elaborare l’informazione


usando il processore (Central Processing Unit CPU)
memorizzare l’informazione
usando la memoria principale (RAM)
 usando la memoria secondaria (HARD DISK)


fare l’input/output dell’informazione elaborata

usando i dispositivi di input/output
COMPUTAZIONE E MEMORIA IN
UN COMPUTER
CPU
INPUT
OUTPUT
Istruzioni
Dati
MEMORIA
LA MACCHINA DI TURING
LA MACCHINA DI TURING

Alan Turing, 1912-1954

Una descrizione
estremamente astratta
delle attivita’ del
computer che pero’
cattura il suo
funzionamento
fondamentale
Basata su un’analisi di
cosa fa un calcolatore
(umano o macchina)
COMPUTAZIONE E MEMORIA
NELLA MACCHINA DI TURING
In una macchina di Turing abbiamo:


Una ‘CPU’:
 Un programma: un insieme di regole che determinano
il comportamento della testina a partire dal suo stato
e dal simbolo letto (= sistema operativo)
 una testina che si trova in ogni momento in uno fra un
insieme limitato di stati interni e che si muove sul
nastro, leggendo e a volte caso modificando il
contenuto delle cellette
Una ‘MEMORIA’:
 un nastro di lunghezza indefinita, suddiviso in cellette
che contengono simboli predefiniti (ad es. ‘0’e ‘1’);
FUNZIONAMENTO DI UNA
MACCHINA DI TURING
UNA DIMOSTRAZIONE DEL
FUNZIONAMENTO DELLA
MACCHINA DI TURING
Simulazioni di Macchina di Turing su web:
•http://www.warthman.com/ex-turing.htm
•http://ironphoenix.org/tril/tm/
PROGRAMMI E DATI

Programmi:



Prossima lezione: i programmi dal punto di visto
dell’hardware
I programmi: sequenze di istruzioni per l’elaborazione delle
informazione
 Definiscono quale debba essere il comportamento del
processore
Dati:

Distinzione tra dato e informazione:
 Dato: sequenza di bit, può essere interpretato in più modi
diversi
 Informazione: dato + significato del dato
MACCHINA DI TURING
UNIVERSALE



Nelle macchine di Turing piu’ semplici, si trova una
distinzione molto chiara tra PROGRAMMA (= gli
stati) e DATI (= contenuto del nastro)
Turing pero’ dimostro’ che era possibile mettere
anche il programma sul nastro, ed ottenere una
macchina di Turing ‘universale’ – che LEGGEVA sul
nastro la prossima istruzione da eseguire prima di
leggere i DATI su cui occorreva eseguirla
I computer moderni sono macchine di Turing
universali.
ALCUNI RISULTATI DIMOSTRATI
USANDO IL MODELLO DI TURING

Non tutte le funzioni sono CALCOLABILI



Ovvero: non e’ possibile scrivere un algoritmo per risolvere
qualunque problema in modo ESATTO ed in tempo
FINITO
Il PROBLEMA DELL’ARRESTO (HALTING
PROBLEM): non e’ possibile dimostrare che una
macchina di Turing universale si fermera’ o meno su
un programma specifico
Questi risultati valgono per qualunque calcolatore,
ammesso che valga la TESI DI CHURCH-TURING
DALLA MACCHINA DI TURING AI
COMPUTER MODERNI

La macchina di Turing aiuta a capire come sia
possibile manipolare informazione in base a un
programma, leggendo e scrivendo due soli simboli:
‘0’e ‘1’

Da questo punto di vista, pur essendo un dispositivo
ideale, la macchina di Turing è strettamente
imparentata col computer
Dalla macchina di Turing
alla macchina di von Neumann

Un passo ulteriore, volendoci avvicinare al
funzionamento di un vero computer, è
costituito dalla
MACCHINA DI VON NEUMANN
STORIA DEI COMPUTER
ELETTRONICI

Ispirati alla macchina di Turing

1936 Konrad Zuse costruì in casa lo Z1 usando i relè;
1941 c/o politecnico di Berlino Z3;


1942 macchina per il computo elettronico (Satanasso-BerryComputer). La memoria erano condensatori fissati ad un grande
tamburo cilindrico di 1500 bit;

1943 COLOSSUS, costruito e rimasto segreto fino al 1970.
Memorizzazione di dati in aritmetica binaria basati sulla
ionizzazione termica di un gas
SVILUPPO DEI CALCOLATORI
ELETTRONICI

1943-46 ENIAC (Electronic Numerical Integrator and Computer)
sviluppato da Eckert & Mauchly




Logica DECIMALE
30 armadi x 3m, 30t per una superficie di 180mq, 300 moltiplicazioni al
secondo
fino al 1973 ritenuto il primo calcolatore elettronico ‘programmabile’
(riconnettendo i circuiti!!)
1945-49 EDVAC (Electronic Discrete Variable Automatic Computer )


Primo computer basato sull’ “Architettura di von Neumann” (dovuta a
Eckert, Mauchly & von Neumann): programmi immagazzinati in memoria
Logica BINARIA
ARCHITETTURA ‘DI VON
NEUMANN’
Eckert e Mauchly, dopo aver
sviluppato ENIAC, proposero un
modello in cui i programmi erano
immagazzinati direttamente in
memoria. (Mentre in ENIAC il
programma doveva essere
codificato direttamente in
hardware). Il modello teorico che
ne risulto’ – l’Architettura “di Von
Neumann” influenzò direttamente
la realizzazione di EDVAC
(Electronic Discrete Variable
Automatic Computer)
DA ZUSE A EDVAC
DOPO EDVAC








1948: primo computer commerciale (UNIVAC)
1954: primo computer a transistors (Bell Labs)
~1960: valvole sostituite da transistors
1971: primo microprocessore (Intel 4004)
1975: primo microcomputer (Altair)
1975: fondazione di Microsoft
1976: Apple I e Apple II
1979: primo Spreadsheet (VisiCalc)
PROSSIME LEZIONI


Architettura di Von Neumann
Rappresentazione dei dati
LETTURE

Storia dell’Informatica





http://www.dimi.uniud.it/~cicloinf/mostra/index.html
Wikipedia:
http://it.wikipedia.org/wiki/Storia_dell%27informatica
Wikipedia: http://it.wikipedia.org/wiki/Storia_del_computer
Paul Ceruzzi, Storia dell’Informatica, Apogeo
Macchina di Turing applets


http://www.warthman.com/ex-turing.htm
http://ironphoenix.org/tril/tm/
Scarica

Power Point - clic