Programma di “Informatica Generale”– A.A. da 2009/10 in poi – Prof. A. Postiglione Università degli Studi di Salerno - Facoltà di Lettere e Filosofia Corso di Laurea in SCIENZE DELLA COMUNICAZIONE – A.A. da 2009/2010 in poi Corso di INFORMATICA GENERALE (Matricole PARI)- Prof. A. POSTIGLIONE Durata e Crediti: 60 ore, 9 CFU Modulo 1 - Tecnologie dell’informazione e della comunicazione U.D. 1.1. Introduzione 1.1a) Introduzione all’Informatica (1.1, lucidi). Sistemi Informativi (1.2). Software e dati (1.3) 1.1b) Anatomia di un computer e Architettura di Von Neumann (13.1-13.2,lucidi) 1.1c) Tipi di computer (2.1 - 2.2, lucidi) U.D. 1.2. Rappresentazione Digitale dell’Informazione 1.2a) 1.2b) 1.2c) 1.2d) 1.2e) 1.2f) Analogico/Digitale (2.3, CR pag. 15, lucidi) Il processo di Convergenza al Digitale (CR 27-29, lucidi) Codifica Digitale dell’Informazione (2.5, CR pag. 5-8, lucidi) Codifica Digitale dei caratteri (2.5, CR pag.9-14, lucidi) Codifica Digitale dei numeri (2.5, lucidi) Le Operazioni Binarie (lucidi) U.D. 1.3. Rappresentazione Digitale dei Dati Multimediali 1.3a) 1.3b) 1.3c) 1.3d) 1.3e) 1.3f) 1.3g) La codifica Digitale delle immagini (3.7, 3.9, CR pag. 14-18, lucidi) Grafica Bitmap e Grafica Vettoriale (9.2). I Font Bitmap e Scalabili (3.8) La codifica Digitale dei Suoni (9.4, CR pag. 18-20, lucidi) La codifica Digitale dei Video (9.5, CR pag. 20-22, lucidi) Tecniche ed effetti grafici (9.3) La compressione dei dati (4.5, 9.5, lucidi) U.D. 1.4. Architettura Hardware di un Computer 1.4a) 1.4b) 1.4c) 1.4d) 1.4e) 1.4f) Il Processore (2.6-2.7) La Memoria centrale (2.8-2.9) I Dispositivi di Input (3.1-3.6) I Dispositivi di Output (3.10-3.12, 14.1, 14.2) La Memoria di Massa (4.1-4.6, 15.1, 15.2) Bus e Interfacce (2.10-2.12) U.D. 1.5. Software e Sistemi Operativi 1.5a) Che cos’è il software – Le interfacce utente – I programmi applicativi(5.1-5.3, lucidi) 1.5b) Elaborazione centrata sul documento – I principali problemi relativi al software (18.3, 18.4) 1.5c) I Sistemi operativi: introduzione – le categorie – la gestione dei file – le utilità (5.4-5.5, 18.1, 18.2, lucidi) U.D. 1.6. Reti di computer 1.6a) Le reti e loro applicazioni: comunicazioni tra individui – comunicazioni di gruppo – trasferimento e condivisione di files (8.2-8.4) 1.6b) Le reti locali: introduzione – architettura – il sistema (8.5-8.7) 1.6c) Reti geografiche (8.8) 1.6d) I collegamenti tra le reti: protocolli (8.9) 1.6e) Le reti telefoniche pubbliche (8.11) 1.6f) Il concetto di larghezza di banda (16.1) 1.6g) I collegamenti tra le reti: dispositivi e mezzi di trasmissione (16.2) 1.6h) Le connessioni private a banda larga (16.3) – L’informatica in rete (16.4) Programma di “Informatica Generale”– A.A. da 2009/10 in poi – Prof. A. Postiglione Modulo 2 - Sistemi Informativi e DBMS U.D. 2.1. Introduzione ai DBMS 2.1a) I criteri di archiviazione – Come si usano - Le query - Le basi di dati on-line (8.4 - 8.8) 2.1b) Sistemi informativi, informazioni e dati – Basi di Dati e DBMS (ACPT cap.1.1-1.2) 2.1c) Modelli dei dati: Modelli logici e concettuali – Schemi e istanze – Livelli di astrazione – Indipendenza dei dati (ACPT cap.1.3) 2.1d) Linguaggi e utenti – Vantaggi e svantaggi (ACPT cap.1.4-1.5) U.D. 2.2. Il Modello Relazionale, caratteristiche strutturali 2.2a) 2.2b) 2.2c) 2.2d) 2.2e) Modelli logici – Relazioni e tabelle – Relazioni con attributi (ACPT cap.2.1.1 - 2.1.3) Relazioni e Basi di Dati – Informazione incompleta e valori nulli (ACPT cap.2.1.4 - 2.1.5) Vincoli di integrità: Vincoli di tupla (ACPT cap.2.2.1) Vincoli di integrità: Chiavi – Chiavi e valori nulli (ACPT cap.2.2.2 – 2.2.3) Vincoli di integrità referenziale (ACPT cap.2.2.4) U.D. 2.3. Interrogazione di un DBMS con il linguaggio SQL 2.3a) 2.3b) 2.3c) 2.3d) Interrogazioni Semplici (ACPT, cap 4.2.1, 4.2.2) Queries su più tabelle, Variabili, Aggregazioni e Grouping (ACPT, cap. 4.2.2 - 4.2.4) Interrogazioni insiemistiche e nidificate (ACPT, cap. 4.2.5 - 4.2.6) Interrogazioni di aggiornamento (ACPT, cap. 4.3) U.D. 2.4. Laboratorio: Programmazione di un DBMS Modulo 3 - Algoritmi, Dati e programmi U.D. 3.1. Algoritmi e Dati 3.1a) 3.1b) 3.1c) 3.1d) Gli Algoritmi (D 1.1) Costrutti di base di un algoritmo (D 1.2) Dati e tipi di dato (D 1.3) Rappresentazione di un algoritmo (Flow Chart) (D 1.4) U.D. 3.2. Programmazione elementare di un computer 3.2a) 3.2b) 3.2c) 3.2d) Introduzione: Macchine a programma memorizzato – La programmazione (11.1) Linguaggi a basso livello: Linguaggio Macchina e Linguaggio Assembler (11.2) Linguaggi procedurali e il processo di traduzione (11.3+CR 92-96) Fondamenti di Programmazione in Pascal (D 2.1) U.D. 3.3. Strutture Dati 3.3a) Le strutture dati (D 3.1) – le strutture dati statiche: array (D 3.2.1) 3.3b) Le stringhe (lucidi) U.D. 3.4. Valutazione degli Algoritmi 3.4a) Valutazione delle prestazioni di un algoritmo: un problema e due algoritmi (D 4.1.1) – Valutazione quantitativa di un algoritmo (D 4.1.2) – L’analisi del caso peggiore (D 4.1.3) 3.4b) Problemi trattabili e problemi praticamente intrattabili:(D 4.2.1) – Concetto di trattabilità computazionale (D 4.2.2) – L’impatto del fattore tecnologico (D 4.2.3) - Problemi praticamente intrattabili (D 4.2.4) 3.4c) Complessità intrinseca di un problema (D 4.3) 3.4d) Problemi algoritmici (D 4.4) U.D. 3.5. Case Study: Algoritmi di ricerca di una parola in un dizionario 3.5a) 3.5b) 3.5c) 3.5d) 3.5e) Definizione (5.1) - Algoritmo di Ricerca Sequenziale (5.2) Algoritmo di Ricerca binaria (5.3) Valutazione degli algoritmi di ricerca (5.4) Complessità “intrinseca” del problema della ricerca di una parola in un dizionario (5.5) Hashing (5.7) U.D. 3.6. Laboratorio: Programmazione di un Computer Programma di “Informatica Generale”– A.A. da 2009/10 in poi – Prof. A. Postiglione Bibliografia Sul sito del docente (http://dsc.unisa.it/alberto/Alberto/index.htm) lo studente troverà gran parte del materiale del corso (programma, lucidi e appunti) oltre ad esercizi, risorse varie e links utili Nel programma, se non altrimenti indicato, si fa riferimento al testo CFSM (ACPT) Atzeni, Ceri, Paraboschi, Torlone, “Basi di Dati – Modelli e linguaggi di interrogazione 3° edizione” – McGraw Hill, 2009 (le parti indicate) (CFSM) Curtin, Foley, Sen, Morin, "Informatica di Base – IV edizione", Mc Graw Hill, 2008 (le parti indicate) (CR) F.Ciotti G. Roncaglia, “Il mondo digitale (introduzione ai nuovi media) XIII edizione”, Laterza, 2008 (le parti indicate) Gran parte dei riferimenti al libro di Ciotti-Roncaglia sono disponibili nella dispensa online “Educazione al multimediale”, accessibile all’indirizzo http://www.mediamente.rai.it/mediamentetv/learning/ (Lucidi) A. Postiglione, "Lucidi del corso", liberamente scaricabili dal sito del docente. (Dispense) A. Postiglione, "Concetti di base su Algoritmi, Strutture Dati e Programmazione", Dispense del corso, liberamente scaricabili dal sito del docente Esercitazioni al computer Le esercitazioni al computer, essenziali per poter comprendere bene anche le parti più “teoriche” del corso, possono essere svolte presso il laboratorio informatico di Facoltà, liberamente accessibile agli studenti della facoltà di Lettere e Filosofia nelle ore dedicate all’autoapprendimento. Materiale didattico per gli argomenti teorici Sul sito del docente lo studente troverà dei test di autovalutazione, da eseguire online. Materiale didattico per le esercitazioni di laboratorio sui DBMS Lo studente dovrà essere in grado di creare e modificare la struttura e le proprietà delle tabelle, definire correttamente i tipi di dato, inserire i dati nelle tabelle, creare ed usare maschere e report e interagire con un Database relazionale utilizzando il linguaggio universale SQL. Sul sito del docente lo studente troverà esercizi per la o Creazione di un DBMS Relazionale (ACCESS). o Interrogazione di un DBMS Relazionale (tramite il linguaggio SQL). Materiale didattico per le esercitazioni di laboratorio sulla programmazione Lo studente dovrà essere in grado di definire l’algoritmo e sviluppare applicazioni elementari nel linguaggio di programmazione Pascal. Lo studente può utilizzare un qualsiasi manuale e un qualsiasi compilatore del linguaggio Pascal. Le lezioni e le prove di esame si svolgono utilizzando l’ambiente di programmazione (freeware) DevPascal, completo di compilatore FreePascal. Un compilatore Pascal (Dev-Pascal 1.9.2 + Free Pascal compiler) lo si può scaricare, gratuitamente, su rete (fai la ricerca con google per accedere ad uno dei siti da cui è possibile fare il download) oppure direttamente all’indirizzo: http://www.bloodshed.net/dev/devpas192.exe Può risultare utile (non è però richiesto) consultare un manuale sulla programmazione in Pascal. Un manuale lo si può trovare in rete agli indirizzi (Wikipedia); in particolare è possibile http://it.wikibooks.org/wiki/Programmare_in_Pascal scaricare il seguente manuale: http://upload.wikimedia.org/wikibooks/it/1/10/Pascal.pdf http://www.marcocantu.it/epascal/default.htm (Pascal nella versione Delphi) Sul sito del docente lo studente troverà molti esercizi di programmazione, di varia difficoltà e un manuale di introduzione all’uso dell’ambiente DevPascal.