Corso di Informatica per Giurisprudenza Matteo Cristani Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli Studi di Verona http://www.sci.univr.it/~cristani 1 Testi Teoria Cristani: Introduzione all’Informatica (editrice CEDAM) 2003 Lucidi delle lezioni (anche on-line) Dispensa integrativa M. 2 Modalità d’esame Frequentanti (70% delle firme di presenza) Prova scritta tipo “B” Non fanno l’orale Non frequentanti Prova scritta tipo “A” (più difficile) Se lo scritto è meno di 24, devono fare l’orale 3 Modulo 1: Sistemi informatici Introduzione all’Information Technology (2 ore) Struttura Hardware di un calcolatore (2 ore) Storia del calcolatore; Componenti di un sistema di calcolo; Calcolo binario Circuiti logici Architettura di Van Neumann Impatto dell’Informatica sulla società contemporanea e riflessi sul diritto (1 ora) Esercitazione (1 ora) Riconoscimento dei tipi di dispositivo elettronico Passaggi cronologici della storia dell’Informatica. 4 Modulo 2: Introduzione all’Informatica teorica Teoria della computazione (2 ore) Algoritmi e strutture dati (2 ore) Specifica di un algoritmo; Complessità strutturale Problem posing e problem solvine in ambito industriale (1 ora) Grammatiche, linguaggi ed automi; Macchine a stati; Calcolabilità; Solubilità e solubilità pratica di problemi, aspetti legali; Esercitazione (1 ora) Riconoscimento di linguaggi; Funzionamento di una macchina a stati Sviluppo di algoritmi, confronto tra algoritmi e procedure giuridiche. 5 Modulo 3: Principi di Ingegneria del Software Software e sua classificazione (2 ore) Applicazioni industriali dell’Informatica (2 ore) Produttività individuale Basi di dati; Sistemi informativi. Problematiche delle licenze software (1 ora) Software orizzontale; Software verticale; Ciclo di produzione del software; Concetto di codice sorgente ed eseguibile dal punto di vista giuridico; Esercitazione (1 ora) Riconoscimento del tipo di un software; Analisi di un progetto di sviluppo software 6 Modulo 4: Reti di calcolatori Sistemi operativi e loro architettura (2 ore) Internet (2 ore) Architettura di TCP/IP; Web, posta elettronica, ftp, peer-to-peer Accounting e sicurezza (1 ora) Schedulazione di processi; Organizzazione del disco rigido Problematiche degli accessi Aspetti legali dell’accesso all’informazione Esercitazione (1 ora) Schedulazione Memorie Costruzione di traces 7 Modulo 5: Rappresentazione dell’Informazione Rappresentazione dell’informazione (2 ore) Sicurezza (2 ore) Crittografia a chiave simmetrica ed asimmetrica Steganografia e crittografia: breve storia dei sistemi di codifica dell’informazione; Virus, worm, trojan horses e la protezione di un sistema informatico. Problematiche della sicurezza (1 ora) Codifiche binarie; Teoria del canale di Shannon; Codici alfanumerici; Sicurezza Privatezza Firma digitale Esercitazione (1 ora) Costruzione di codici simmetrici Verifica di sistemi in chiave asimmetrica 8 Che cos’è l’Informatica? C’è nell’informazione, comunicazione e intrattenimento 9 Che cos’è l’Informatica? Serve allo studio delle cose piccole e vicino a noi 10 Che cos’è l’Informatica? Ci aiuta a scoprire mondi lontani 11 Una storia lunga un secolo! p-calcolo CCS von Neumann HCI Hilbert ENIAC Milner Software engineering P=NP? VLSI Calcolabilità Kleene Godel Turing Quantum Algo distribuiti Tarjan DNA Cook Programming Global computing Church UNIX Algoritmi Dijkstra IBM-360 LISP Fortran l-calcolo 1902 1936 1945 1960 ALGOL Pascal Modelli 1970 Knuth Internet C++ @ ML SQL PC Prolog 1980 1990 Java Embedded Verifica 12 2000……. Informatica e informazione INFORMAZIONE Organizzazione Modelli Segnali Linguaggi Calcolabilità Controllo-robotica Verifica-correttezza Complessità Multimedialità Coordinamento Crittografia e sicurezza Architetture SW Sistemi HW Immagini Suoni Realtà virtuale Banche dati Web Intelligenza Artificiale Interazione uomo macchina grafica Sistemi operativi-Reti Dispositivi digitali Quantum DNA 13 Breve storia dell’Informatica Agenda Concetto di calcolo e sua storia Il calcolatore elettronico ed il suo sviluppo La nascita della moderna disciplina informatica Cenni alla corrente strutturazione della disciplina 14 La nascita del calcolo automatico Progenitori del calcolatore moderno Macchine per la tessitura meccanica Il Telaio Jacquard che effettuava la lavorazione basandosi su schede perforate 15 Prototipi ingegneristici (XIX sec.) La macchina analitica di Charles Babbage 16 Prototipi ingegneristici (XIX sec.) La “Pascalina” di … Pascal 17 Calcolatori elettromeccanici Mark1 18 Calcolatori elettromeccanici Il calcolatore elettromeccanico di Zuse 19 I primi calcolatori elettronici Colossus - progetto inglese degli anni ’40 di cui non sono noti i risultati tecnici Molto contestato in letteratura … 20 I primi calcolatori elettronici Eniac: il primo calcolatore a valvole termoioniche Progetto della difesa americana accreditato di essere il primo calcolatore elettronico della storia 21 I circuiti elettronici: evoluzione 1) 2) 3) 4) 5) 6) 7) 8) Termoioniche Nuclei di ferrite Transistor Circuiti int. SSI MSI LSI VLSI ULSI (1) (2) (5) 1940 1980 1950 1985 1960 1990 (3) (7) 1970 (4) (6) 2000 (8) 22 Sistemi e loro costo/uso Anni ’40: Centinaia di milioni di euro – Utenti: Governi Anni 50-60: Milioni di euro – Utenti: Università e Militari Anni 70: Centinaia di migliaia di Euro – Utenti: Grandi aziende Anni 80: Migliaia di Euro – Utenti: Aziende Anni 90: Poche migliaia di Euro – Utenti: Tutti 23 Componenti di un calcolatore 24 Componenti di un calcolatore Tastiera Inserimento dati e comandi Codifica numerica Caratteristiche dipendenti dal paese Forme ergonomiche Tastiere cordless 25 Componenti di un calcolatore Video Visualizzazione dati Dispositivi catodici (VGA) Dispositivi LCD Touch Screen 26 Componenti di un calcolatore Mouse Comandi Controllo di flusso Mouse cordless Tipi di mouse Reverse ball Touch pad Penne ottiche 27 Componenti di un calcolatore Dischi Dischi magnetici Hard disk Floppy disk ZIP JAZ Dischi ottici CD-Rom CD-R CD-RW DVD-ROM DVD-R DVD-RW 28 Componenti di un calcolatore Stampanti Stampanti a getto d’inchiostro Stampanti laser Modelli portatili Modelli wireless 29 Componenti di un calcolatore CPU (Central Processing Unit) Elabora i dati Esegue i comandi Controlla il flusso del calcolatore 30