49
Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Embed Size (px)

Citation preview

Page 1: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Informatica per le discipline umanistiche e linguistiche

Roberto Zamparelli

Page 2: 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)

Page 3: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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.

Page 4: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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)

Page 5: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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)

Page 6: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Contenuti

Parte I:Nozioni di base: struttura fisica e teorica dei computerInformazione e sua codifica vari livelliLinguaggi di marcatura: HTML ed XMLBasi di dati e loro usi in campo umanisticoNozioni di linguistica dei corporaConcetti e problematiche del “WEB 2.0”

Page 7: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Bibliografia

Parte I:Lazzari, et al. “Informatica Umanistica”, McGraw Hill. 2010Materiali sul sito (Note del docente,siti web)

Page 8: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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)

Page 9: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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!

Page 10: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

email

Roberto Zamparelli:[email protected]

Fabio Cavulli

[email protected]

Page 11: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Perché mai uno studente di Lettere & Filosofia dovrebbe seguire un

corso di informatica?

La madre di tutte le domande su questo corso:

Page 12: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Tre risposte

Per motivi PRATICI generaliPer motivi SPECIFICI alle materie umanistichePer motivi SOCIALI e CULTURALI

Page 13: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Informatica come strumento pratico

Saper usare strumenti informatici perEmailWebComposizione di un documentoUso 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!

Page 14: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Informatica come strumento culturale (anche per le discipline umanistiche)

Storici, materie letterarie:Archivi di testi con possibilità sofisticate di ricercaAnalisi 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

Page 15: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Informatica come strumento socialeImportanza 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?

Page 16: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Concetti scientifici entrati nell’uso comune

Dalla fisica:o Entropiao Relativitào Principio di indeterminazione

Dall’informatica:o Informazione, codice (e crittografia)o Digitale vs. analogicoo Bootstrappingo Computabilità e suoi limiti

Page 17: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Nozioni di base:

Modelli teorici della computazione: algoritmi Modelli matematici della computazione: la macchina di Turing

Page 18: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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 AL-DJABR

Page 19: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

ALGORITMO

Definizione informale di ALGORITMO:

“una sequenza FINITA di passi DISCRETI e NON AMBIGUI che porta alla soluzione di un problema”

Page 20: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

UN PROBLEMA E IL SUO ALGORITMO: IL MASSIMO COMUN DIVISORE

Page 21: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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 primi2.Estrai i componenti comuni e moltiplicali

Questo metodo si può solo applicare per numeri piccoli (la scomposizione in fattori primi richiede molto tempo)

Page 22: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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?

Page 23: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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

Page 24: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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

Page 25: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Diagrammi di flusso

TEST

AZIONE B

AZIONE ASI

NO

Legenda Rombi = test Rettangoli = azioni Frecce = passaggio

Page 26: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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.

Page 27: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Limiti dell’algoritmo?

Nelmezzodelcammindinostravita Miritrovaiinunaselvaoscura…

Page 28: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Inserimento spazi, take 2

“Prendi sempre la parola più lunga possibile”

Page 29: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

"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)

Spazi in Dante, take 3

Page 30: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Algoritmo 3: risultati

NelmezzodelcammindinostravitaNel--mezzodelcammindinostravitaNel--mezzo--delcammindinostravitaNel--mezzo--delcammindinostravitaNel--mezzo--del--cammin--dinostravitaNel--mezzo--del--cammin--*dino--stravita ("Fallimento! ritorna a *)Nel--mezzo--del--cammin--di--nostravitaNel--mezzo--del--cammin--di--nostra—vita…

Page 31: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

MODELLI MATEMATICI DELLA COMPUTAZIONE

Page 32: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

Le funzioni di un computer

o elaborare l’informazioneo usando il processore (Central Processing Unit - CPU)

o memorizzare l’informazioneo usando la memoria principale (RAM)o usando la memoria secondaria (MEMORIA

PERMANENTE)o fare l’input/output dell’informazione elaborata

o usando i dispositivi di input/output

Page 33: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

COMPUTAZIONE E MEMORIA IN UN COMPUTER

INPUT OUTPUT

MEMORIA

CPU

Istruzioni Dati

Page 34: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

LA MACCHINA DI TURING

Page 35: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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

Page 36: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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’);

Page 37: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

FUNZIONAMENTO DI UNA MACCHINA DI TURING

Page 38: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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

Page 39: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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 eseguirlaI computer moderni sono macchine di Turing universali.

Page 40: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

ALCUNI RISULTATI DIMOSTRATI USANDO IL MODELLO DI TURING

Non tutte le funzioni sono CALCOLABILIOvvero: 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 specificoQuesti 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 )

Page 41: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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

Page 42: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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

processoreDati:

Distinzione tra dato e informazione: Dato: sequenza di bit, può essere interpretato in più modi

diversi Informazione: dato + significato del dato

Page 43: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

STORIA DEI COMPUTER ELETTRONICIIspirati 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

Page 44: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

SVILUPPO DEI CALCOLATORI ELETTRONICI

1943-46 ENIAC (Electronic Numerical Integrator and Computer) sviluppato da Eckert & Mauchly

Logica DECIMALE30 armadi x 3m, 30t per una superficie di 180mq, 300 moltiplicazioni al secondofino 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 memoriaLogica BINARIA

Page 45: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

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)

Page 46: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

DA ZUSE A EDVAC

Page 47: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

DOPO EDVAC

1948: primo computer commerciale (UNIVAC)1954: primo computer a transistors (Bell Labs)~1960: valvole sostituite da transistors1971: primo microprocessore (Intel 4004)1975: primo microcomputer (Altair)1975: fondazione di Microsoft1976: Apple I e Apple II1979: primo Spreadsheet (VisiCalc)

Page 48: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

PROSSIME LEZIONI

Architettura di Von Neumann Rappresentazione dei dati

Page 49: Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli

LETTURE

Storia dell’InformaticaWikipedia: http://it.wikipedia.org/wiki/Storia_dell%27informaticaWikipedia: 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/