1 / 48

Informatica per le discipline umanistiche e linguistiche

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/

dante
Télécharger la présentation

Informatica per le discipline umanistiche e linguistiche

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatica per le discipline umanistiche e linguistiche Roberto Zamparelli (parte prima) Marco Baroni(parte seconda)

  2. 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

  3. Situazione 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

  4. Requisiti per studenti 509 Gli studenti del precedente ordinamento (“509”) che devono superare moduli di I.U. possono presentarsi all’esame 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)

  5. Web & esercitazioni • Sito web con materiali del corso ed informazioni sull’esame: 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)

  6. Contenuti • 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”

  7. 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

  8. Bibliografia • 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)

  9. Credits Slide adattate e modificate da materiali su web di: • Massimo Poesio • Roberta Cuel • Ciotti e Roncaglia • … A tutti, grazie!

  10. email Marco Baroni:marco.baroni@unitn.itRoberto Zamparelli:roberto.zamparelli@unitn.it

  11. Perché mai uno studente di Lettere & Filosofia dovrebbe seguire un corso di informatica? La madre di tutte le domande su questo corso

  12. Tre risposte • Per motivi PRATICI generali • Per motivi SPECIFICI alle materie umanistiche • Per motivi CULTURALI

  13. 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!

  14. 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 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

  15. Concetti scientifici entrati nell’uso comune • Dalla fisica: • Entropia • Relatività • Principio di indeterminazione • Dall’informatica: • Informazione, codice (e crittografia) • Digitale vs. analogico • Computabilità e suoi limiti

  16. Nozioni di base: • Modelli teorici della computazione: algoritmi • Modelli matematici della computazione: la macchina di Turing

  17. 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 Muhammad ibn Mūsa 'l-Khwārizmī che attorno all’825 scrisse un trattato chiamatoKitāb al-djabr wa 'l-muqābala (Libro sulla ricomposizione e sulla riduzione) • AL-KHWARIZMI  ALGORISMO  ALGORITMO • (ALGEBRA deriva da AL-DJABR)

  18. ALGORITMO • Definizione informale di ALGORITMO: una sequenza FINITA di passi DISCRETI e NON AMBIGUI che porta alla soluzione di un problema

  19. UN PROBLEMA E IL SUO ALGORITMO: IL MASSIMO COMUN DIVISORE

  20. 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 • Questo metodo si’ puo’ solo applicare per numeri piccoli (la scomposizione in fattori primi e’ molto costosa)

  21. MCD: ALGORITMO DI EUCLIDE • I moderni calcolatori non usano l’algoritmo 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

  22. Esempio 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

  23. 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 delle scelte, rappresentabili come diagrammi di flusso

  24. Diagramma 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.

  25. Limiti dell’algoritmo? Nelmezzodelcammindinostravita Miritrovaiinunaselvaoscura …

  26. : Inserimento spazi, 2 “Prendi sempre la parola più lunga possibile”

  27. 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.” (dettagli del meccanismo di backtracking non rappresentati)

  28. 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 • …

  29. III: MODELLI MATEMATICI DELLA COMPUTAZIONE

  30. 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 (HARD DISK) • fare l’input/output dell’informazione elaborata • usando i dispositivi di input/output

  31. CPU INPUT OUTPUT Istruzioni Dati MEMORIA COMPUTAZIONE E MEMORIA IN UN COMPUTER

  32. LA MACCHINA DI TURING

  33. 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 macchina) Alan Turing, 1912-1954

  34. 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 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. ‘0’e ‘1’);

  35. FUNZIONAMENTO DI UNA MACCHINA DI TURING

  36. UNA 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/

  37. PROGRAMMI E DATI • Programmi: • Prossima lezione: i programmi dal punto di visto dell’hardware • 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

  38. 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.

  39. 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

  40. 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

  41. Dalla 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

  43. 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

  44. 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)

  45. DA ZUSE A EDVAC

  46. 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)

  47. PROSSIME LEZIONI • Architettura di Von Neumann • Rappresentazione dei dati

  48. LETTURE • Storia dell’Informatica • http://www.dimi.uniud.it/~cicloinf/mostra/index.html • 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 applets • http://www.warthman.com/ex-turing.htm • http://ironphoenix.org/tril/tm/

More Related