Informatica per le discipline umanistiche e...

25
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

Transcript of Informatica per le discipline umanistiche e...

Page 1: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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

Page 2: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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.

�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 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, parte I (6 crediti)�Come non frequentanti del nuovo programma, parte I (6 crediti)

Page 3: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

Web & esercitazioni

�Sito web con materiali del corso ed informazioni sull’esame:

http://people.lett.unitn.it/zamparelli/ (click su IDUL / IU per l' A/A in corso)

�Esercitazioni in laboratorio informatico:�Per gli studenti di filosofia: Paolo Massa (HTML/XML/WIKI)�Per gli studenti di beni culturali: F.Cavulli: (Data Base e GIS)

�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 computazionale�Concetti e problematiche del “WEB 2.0”

Page 4: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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:�Lazzari, et al. “Informatica Umanistica”, McGraw Hill. 2010�Materiali sul sito (Note del docente,siti web)

�Parte II (inizio: 5 novembre)�Qualsiasi manuale introduttivo sul linguaggio Perl�Note del docente (Marco Baroni)

Page 5: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

Bibliografia (IU-C)

�Per chi segue per dare 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�…

A tutti, grazie!

Page 6: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

email

Marco Baroni:

[email protected] Roberto Zamparelli:[email protected]

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

corso di informatica?

La madre di tutte le domande su questo corso:

Page 7: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) 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 e farsi pubblicita’

Anche un sito molto semplice puo’ essere utilissimo!

Page 8: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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�Traduzione automatica e aiutata dal computer

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?

Page 9: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

Concetti scientifici entrati nell’uso comune

�Dalla fisica :�Entropia�Relatività�Principio di indeterminazione

�Dall’informatica :�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

Page 10: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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 MuhammadibnMū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

ALGORITMO

�Definizione informale di ALGORITMO:

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

Page 11: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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 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 12: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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

Page 13: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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

AZIONE B

AZIONE ASI

NO

Legenda Rombi = test Rettangoli = azioni Frecce = passaggio

Page 14: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica
Page 15: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

"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 16: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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

Page 17: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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 (MEMORIA PERMANENTE)�fare l’input/output dell’informazione elaborata�usando i dispositivi di input/output

COMPUTAZIONE E MEMORIA IN UN COMPUTER

INPUT OUTPUT

MEMORIA

CPU

Istruzioni Dati

Page 18: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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 19: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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 sulla memoria, leggendone e a volte modificandone il contenuto.�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

Page 20: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

UNA DIMOSTRAZIONE DEL FUNZIONAMENTO DELLA MACCHINA DI TURING

Simulazioni di Macchina di Turing su web:

•http://ironphoenix.org/tril/tm/

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.

Page 21: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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(per cui si veda p.es. http://unipa.cblue.org/ia/TesiCTIta.pdf )

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 22: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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-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 23: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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)

Page 24: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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)

Page 25: Informatica per le discipline umanistiche e linguisticheclic.cimec.unitn.it/roberto/corsi/IDUL/11-12/idul11-part1-2x.pdf · Informatica Umanistica C (Zamparelli, 3 crediti) Informatica

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/