Informatica per le discipline
umanistiche e linguistiche
Roberto Zamparelli
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)
Situazione attuale
Un
singolo corso di “Informatica per le discipline
umanistiche e linguistiche” (IDUL), diviso in due parti
consecutive allo stesso orario:
Orario: Lun., Giov. 12-14, Ven 10-12
Contenuti: elementi di IU-B e -C, più vari argomenti
nuovi.
Requisiti per studenti 509
Gli studenti del precedente ordinamento (“509”)
che devono superare moduli di IU (B e/o C).
possono presentarsi all’esame di IDUL:
Come
non frequentanti, con il programma di IU-C
2008/09 (3 crediti) e con le stesse modalità di esame
(vedi sito)
Come frequentanti del nuovo programma (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/ (clic su IDUL / IU
per l' A/A in corso)
Esercitazioni in laboratorio informatico:
Per
gli studenti di beni culturali: F.Cavulli: (Data Base)
Esame:
orale con discussione di un progetto
informatico (vedi sito per i dettagli)
Contenuti
Parte
I:
Nozioni
di base: struttura fisica e teorica dei computer
Informazione e sua codifica vari livelli
Linguaggi di marcatura: HTML ed XML
Basi di dati e loro usi in campo umanistico
Nozioni di linguistica dei corpora
Concetti e problematiche del “WEB 2.0”
Bibliografia
Parte
I:
Lazzari,
et al. “Informatica Umanistica”, McGraw Hill.
2010
Materiali sul sito (Note del docente,siti web)
Bibliografia (IU-C)

Per chi segue il programma IU-C:
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)

Credits
Slide adattate e modificate da materiali su web di:
 Massimo Poesio
 Roberta Cuel
 Ciotti e Roncaglia
 Lazzari et. al. (per gentile concessione
dell’editore)
A tutti, grazie!
email
Roberto Zamparelli:
[email protected]
Fabio Cavulli
[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 SOCIALI e 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.
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/GIS per visualizzare ed analizzare reperti
Beni culturali:
 Database di immagini
 Analisi di oggetti d’arte
Lingue/mediazione linguistica:
 Dizionari online, creazione di dizionari, lessici inversi, thesauri
 Traduzione automatica
 Software di ausilio alla traduzione
Informatica come strumento
sociale
Importanza degli strumenti informatici per la comunicazione
e l'informazione diffusa
• “Social network” (Facebook, Twitter, Google+,...)
• Wikipedia, Youtube, etc.
• “Cloud computing” (I nostri dati e programmi in mano
altrui)
Questi strumenti non sono “neutrali”, ed è cruciale capire in
che direzione ci spingono e quale effetto hanno su di noi e
sulla società.
Chi li controlla? Che effetto hanno su di noi?
Concetti scientifici entrati nell’uso
comune
Dalla
o
o
o
fisica:
Entropia
Relatività
Principio di indeterminazione
Dall’informatica:
o
o
o
o
Informazione, codice (e crittografia)
Digitale vs. analogico
Bootstrapping
Computabilità e suoi limiti
Nozioni di base:
Modelli teorici della computazione: algoritmi
 Modelli matematici della computazione: la
macchina di Turing

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 'lmuqābala (Libro sulla ricomposizione e sulla
riduzione)

AL-KHWARIZMI  ALGORISMO  ALGORITMO
 ALGEBRA  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.Scomponi
M ed N in fattori primi
2.Estrai i componenti comuni e moltiplicali
Questo
metodo si può solo applicare per numeri
piccoli (la scomposizione in fattori primi richiede molto
tempo)
Esempio linguistico:
il copista frettoloso
1.Nelmezzodelcammindinostravita
2.Miritrovaiperunaselvaoscura
3.chéladirittaviaerasmarrita.
4.Ahquantoadirqualeraècosadura
5.estaselvaselvaggiaeaspraeforte
Come poter riinserire automaticamente gli spazi
omessi dal copista frettoloso?
Esempio linguistico:
il copista frettoloso
1.Nelmezzodelcammindinostravita
2.Miritrovaiperunaselvaoscura
3.chéladirittaviaerasmarrita.
4.Ahquantoadirqualeraècosadura
5.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 dei test (punti di scelta),
rappresentabili come rombi in un diagramma di flusso
Diagrammi di flusso
TEST
SI
AZIONE A
NO
AZIONE B
Legenda
Rombi = test
Rettangoli = azioni
Frecce = passaggio
Si inizia da una casella di partenza (qui in verde) e si seguono 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
…
:
Inserimento spazi, take 2
“Prendi sempre la parola più lunga possibile”
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.” (“backtracking” – dettagli del meccanismo 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
…
MODELLI MATEMATICI DELLA
COMPUTAZIONE
Le funzioni di un computer
o
elaborare l’informazione
o
o
memorizzare l’informazione
o
o
o
usando il processore (Central Processing Unit - CPU)
usando la memoria principale (RAM)
usando la memoria secondaria (MEMORIA
PERMANENTE)
fare l’input/output dell’informazione elaborata
o
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...
È 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 meccanico)

Alan Turing, 1912-1954
COMPUTAZIONE E MEMORIA
NELLA MACCHINA DI TURING
In una macchina di Turing abbiamo:
Una
‘CPU’: composta da:
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 sulla
memoria, leggendone e a volte modificandone il
contenuto.
Una
‘MEMORIA’, composta da:
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://ironphoenix.org/tril/tm/
•http://www.di.unipi.it/settcult/TMSimulatore/TMApplet.html
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
non e’ possibile scrivere un algoritmo per risolvere
qualunque problema in modo ESATTO ed in tempo FINITO
Ovvero:
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
(per cui si veda p.es. questo link alle slide di Edoardo
Datteri )
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
PROGRAMMI E DATI
La
macchina di Turing ci aiuta a capire la differenza
tra programmi e dati.
Programmi:
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
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
Primo
EDVAC (Electronic Discrete Variable Automatic Computer )
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
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 on-line

http://www.warthman.com/ex-turing.htm (solo addizione)

http://ironphoenix.org/tril/tm/
Scarica

idul13-part1 - clic