Title: Informatica per le discipline umanistiche e linguistiche
1Informatica per le discipline umanistiche e
linguistiche
- Roberto Zamparelli (parte prima)
- Marco Baroni (parte seconda)
2Precursori 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
3Situazione 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
4Requisiti per studenti 509
- Gli studenti del precedente ordinamento (509)
che devono superare moduli di I.U. possono
presentarsi allesame 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)
5Web esercitazioni
- Sito web con materiali del corso ed informazioni
sullesame - 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)
6Contenuti
- 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
7Contenuti
- 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
8Bibliografia
- 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)
9Credits
- Slide adattate e modificate da materiali su web
di - Massimo Poesio
- Roberta Cuel
- Ciotti e Roncaglia
-
- A tutti, grazie!
10email
Marco Baronimarco.baroni_at_unitn.it Roberto
Zamparelliroberto.zamparelli_at_unitn.it
11Perché mai uno studente di Lettere Filosofia
dovrebbe seguire un corso di informatica?
La madre di tutte le domande su questo corso
12Tre risposte
- Per motivi PRATICI generali
- Per motivi SPECIFICI alle materie umanistiche
- Per motivi CULTURALI
13Informatica 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!
14Informatica 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 darte
- Lingue, mediazione linguistica
- Dizionari online, creazione di dizionari
- Traduzione automatica
15Concetti scientifici entrati nelluso comune
- Dalla fisica
- Entropia
- Relatività
- Principio di indeterminazione
- Dallinformatica
- Informazione, codice (e crittografia)
- Digitale vs. analogico
- Computabilità e suoi limiti
16Nozioni di base
- Modelli teorici della computazione algoritmi
- Modelli matematici della computazione la
macchina di Turing
17I 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 Musa 'l-Khwarizmi che attorno all825 scrisse
un trattato chiamato Kitab al-djabr wa
'l-muqabala (Libro sulla ricomposizione e sulla
riduzione) - AL-KHWARIZMI ? ALGORISMO ? ALGORITMO
- (ALGEBRA deriva da AL-DJABR)
18ALGORITMO
- Definizione informale di ALGORITMO una sequenza
FINITA di passi DISCRETI e NON AMBIGUI che porta
alla soluzione di un problema
19UN PROBLEMA E IL SUO ALGORITMO IL MASSIMO COMUN
DIVISORE
20MCD 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)
- 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)
21MCD ALGORITMO DI EUCLIDE
- I moderni calcolatori non usano lalgoritmo
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 Al-Khwarizm
22Esempio linguistico inserimento di spazi nella
Divina Commedia
- Nelmezzodelcammindinostravita
- Miritrovaiperunaselvaoscura
- chéladirittaviaerasmarrita.
- Ahquantoadirqualeraècosadura
- estaselvaselvaggiaeaspraeforte
- Ingredienti
- lessico del linguaggio dantesco,
- un sistema per leggere singoli caratteri
23Idea 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
24Diagramma 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.
25Limiti dellalgoritmo?
Nelmezzodelcammindinostravita Miritrovaiinunaselva
oscura
Mi
ritrova Errore ritrova è già una parola
i
in
un Errore i è già una parola
a selvaoscura
26Inserimento 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.
27Spazi 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)
28Algoritmo 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--nostravita
-
29III MODELLI MATEMATICI DELLA COMPUTAZIONE
30Le funzioni di un computer
- elaborare linformazione
- usando il processore (Central Processing Unit -
CPU) - memorizzare linformazione
- usando la memoria principale (RAM)
- usando la memoria secondaria (HARD DISK)
- fare linput/output dellinformazione elaborata
- usando i dispositivi di input/output
31COMPUTAZIONE E MEMORIA IN UN COMPUTER
32LA MACCHINA DI TURING
33LA MACCHINA DI TURING
- Una descrizione estremamente astratta delle
attivita del computer che pero cattura il suo
funzionamento fondamentale - Basata su unanalisi di cosa fa un calcolatore
(umano o macchina)
Alan Turing, 1912-1954
34COMPUTAZIONE 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. 0e 1)
35FUNZIONAMENTO DI UNA MACCHINA DI TURING
36UNA 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/
37PROGRAMMI E DATI
- Programmi
- Prossima lezione i programmi dal punto di visto
dellhardware - I programmi sequenze di istruzioni per
lelaborazione 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
38MACCHINA 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.
39ALCUNI 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 DELLARRESTO (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
40DALLA 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
0e 1 - Da questo punto di vista, pur essendo un
dispositivo ideale, la macchina di Turing è
strettamente imparentata col computer
41Dalla 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
42 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-Berry-Computer). 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
43SVILUPPO 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
44ARCHITETTURA 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 lArchitettura di Von Neumann
influenzò direttamente la realizzazione di EDVAC
(Electronic Discrete Variable Automatic Computer)
45DA ZUSE A EDVAC
46DOPO 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)
47PROSSIME LEZIONI
- Architettura di Von Neumann
- Rappresentazione dei dati
48LETTURE
- Storia dellInformatica
- http//www.dimi.uniud.it/cicloinf/mostra/index.ht
ml - Wikipedia http//it.wikipedia.org/wiki/Storia_del
l27informatica - Wikipedia http//it.wikipedia.org/wiki/Storia_del
_computer - Paul Ceruzzi, Storia dellInformatica, Apogeo
- Macchina di Turing applets
- http//www.warthman.com/ex-turing.htm
- http//ironphoenix.org/tril/tm/