500 likes | 685 Views
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 )
E N D
Informatica per le discipline umanistiche e linguistiche • Roberto Zamparelli
Precursori nel precedente ordinamento (509): IU B/C/D • InformaticaUmanistica A (= ECDL, impartito a livello di ateneo; vedihttp://www.unitn.it/ecdl/ • ora un prerequisito) • InformaticaUmanistica B (Poesio, 3 crediti) • InformaticaUmanistica 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:roberto.zamparelli@unitn.it Fabio Cavulli Fabio.cavulli@lett.unitn.it
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 • Saperusarestrumentiinformaticiper • Email • Web • Composizione di un documento • Uso di spreadsheet (“fogli di calcolo”) o di un database • faormai parte dellequalificazioni di base richieste per qualunqueprofessione • Un sito web e’ ormai un modo standard per distribuireinformazioni. • Ancheun sitomoltosemplicepuo’ essereutilissimo!
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 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
MODELLI TEORICI DELLA COMPUTAZIONE • Un PROGRAMMA e’ un ALGORITMO posto in forma comprensibile al computer • Il nome ALGORITMO non e’ statoinventatodagliinformatici ma daimatematici • Deriva dal nome del matematicopersianoMuhammad ibnMūsa 'l-Khwārizmīcheattorno all’825 scrisse un trattatochiamatoKitābal-djabrwa 'l-muqābala (Librosullaricomposizione e sullariduzione) • AL-KHWARIZMI ALGORISMO ALGORITMO • ALGEBRA AL-DJABR
ALGORITMO • Definizioneinformale di ALGORITMO: • “unasequenza FINITA di passi DISCRETI e NON AMBIGUI cheportaallasoluzione di un problema”
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): • Scomponi M ed N in fattori primi • 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 • Nelmezzodelcammindinostravita • Miritrovaiperunaselvaoscura • chéladirittaviaerasmarrita. • Ahquantoadirqualeraècosadura • estaselvaselvaggiaeaspraeforte • Come poter riinserire automaticamente gli spazi omessi dal copista frettoloso?
Esempio linguistico:il copista frettoloso • 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 dei test (punti di scelta), rappresentabili come rombi in un diagramma di flusso
Diagrammi di flusso TEST AZIONE A SI NO LegendaRombi = test Rettangoli = azioni Frecce = passaggio AZIONE B
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 • …
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 CPU INPUT OUTPUT Istruzioni Dati MEMORIA
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 simbololetto (= sistemaoperativo) • 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’);
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 funzionisono CALCOLABILI • Ovvero: non e’ possibilescrivere un algoritmo per risolverequalunqueproblema in modo ESATTO ed in tempo FINITO • Il PROBLEMA DELL’ARRESTO (HALTING PROBLEM): non e’ possibiledimostrarecheunamacchina di Turing universalesifermera’ o menosu un programmaspecifico • Questirisultativalgono per qualunquecalcolatore, ammessochevalga la TESI DI CHURCH-TURING • (per cui siveda p.es. questo link alleslide di EdoardoDatteri)
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-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
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 VonNeumann”influenzò direttamente la realizzazione di EDVAC (ElectronicDiscrete Variable Automatic Computer)
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/