UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica...

22
UNIVERSITA’ DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione al Corso Prof. Michele Amoretti Fondamenti di Informatica a.a. 2007/2008

Transcript of UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica...

Page 1: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Introduzione al CorsoProf. Michele Amoretti

Fondamenti di Informaticaa.a. 2007/2008

Page 2: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Crediti

Il corso offre 5 crediti (44 ore)

Lezioni (36 ore)

Esercitazioni in laboratorio (8 ore)

La prova d’esame è scritta, dura 2 ore e consiste di alcune domande a risposta aperta sugli argomenti del corso.

Page 3: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Orario lezioni ed esami

Lezioni:

Giovedì 8:30 - 10:30 Venerdì 8:30 - 10:30 (laboratorio)

In novembre verranno fatti due gruppi che si alterneranno settimanalmente in laboratorio. Il gruppo che “riposa” potrà accedere comunque alle aule di informatica, di martedì dalle 16:30 alle 18:30.

Esami: da definire.

Page 4: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Organizzazione del corso

Teoria:

Modelli per l’informatica Algoritmi e strutture dati Programmi e linguaggi di programmazione Ingegneria del software

Rappresentazione dell’informazione Struttura dei calcolatori elettronici Introduzione ai sistemi operativi Reti di calcolatori e Internet

Laboratorio:

Linguaggio di programmazione Java Realizzazione di semplici programmi Java nell’ambiente di

sviluppo Eclipse

Page 5: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Contatti

Docente:Prof. Michele AmorettiE-mail: [email protected] ufficio: 0521 906147Orario di ricevimento: mercoledì 10:30-12:30

L’ufficio è nella Sede Scientifica di Ingegneria, Palazzina 1.

Esercitatori:Dott. Ing. Maria Chiara Laghi ([email protected])Dott. Ing. Matteo Agosti ([email protected])

Page 6: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Materiale didattico

Le diapositive presentate a lezione saranno disponibili su Internet all’indirizzo:

http://dsg.ce.unipr.it/People/amoretti/FI/corso.html

Testi consigliati:

G. M. Schneider, J. L. Gersting, “Informatica”, Ed. Apogeo, 2007. C. S. Horstmann, “Concetti di informatica e fondamenti di Java”, nuova edizione

per le versioni 5 e 6, Ed. Apogeo, 2007.

Testi di approfondimento:

C.Batini, L.C.Aiello, M.Lenzerini, A.Marchetti Spaccamela, A.Miola "Fondamenti di Programmazione dei Calcolatori Elettronici", Ed. Franco Angeli, 1994.

C. Ghezzi, D. Mandrioli, “Informatica Teorica”, Ed. CittàStudi, 1989. C. S. Horstmann, “Progettazione del software e design pattern in Java”, Ed.

Apogeo, 2004.

Page 7: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Modalità d’esame

– Una prova scritta– I risultati saranno disponibili sul sito Web del corso– Se ci si ripresenta dopo aver ottenuto un voto sufficiente, il

voto precedente viene cancellato– Iscrizioni tramite il servizio elettronico di facoltà

L'esame contiene domande su:

Argomenti delle lezioni teoriche

Java (commentare un programma, trovare errori in un programma, oppure trasformare un programma in un equivalente diagramma di flusso o viceversa)

Page 8: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Le parole chiave del corso

• Informazione

• Informatica

• Sistema di elaborazione

• Algoritmo

• Programma

Page 9: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

significato

informazione

apparatosimbolico

Rilevanza pratica dell’informazione (effetto, scopo, ecc.)

Informazione

L'informazione è un concetto astratto, che viene comunemente identificato con il significato di un messaggio. Il messaggio tuttavia ha il solo compito di convogliare e rappresentare l'informazione. La quantità di informazione di un messaggio è tanto più grande quante più sono le alternative che esso esclude.

Page 10: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informazione

La teoria dell’informazione è nata come disciplina scientifica nel 1948, grazie agli studi di Claude Shannon.

La prima grande intuizione di Shannon fu quella di pensare all’informazione come a qualcosa che aiuta arispondere a una domanda.- Qual è la soluzione di una equazione differenziale?- Qual è la capitale del Burkina Faso?- Quali sono le particelle che compongono l’atomo?…

A una domanda di tipo sì/no (vero/falso) si può sempre rispondere con un singolo simbolo che può assumere uno tra due valori possibili (0 e 1). Tale simbolo è una cifra binaria (binary digit), o bit.

Page 11: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informazione

Il bit è l’unità fondamentale dell’informazione.

Alla domanda: “Quale delle due strade possibili percorreranno le truppe degli invasori?”la risposta sarà un messaggio codificato nella forma concordata

tra assediati e informatori.

Ma anche se i mezzi di comunicazione possibili sono diversi, l’informazione contenuta nel messaggio è la stessa. Qualunque sia la sua forma, il messaggio porta un bit di informazione, che consente agli assediati di distinguere tra le due possibilità.

Page 12: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informazione

E per domande più complesse?

“Quale dei quattro mezzi di trasporto possibili utilizzerai?”

Con quattro possibilità, un solo bit di informazione non basta a rispondere in maniera esauriente alla domanda.Per distinguere tra quattro scenari ci vogliono due bit di informazione.

Per quanto possa essere complicata una domanda, potete rispondere con una serie di bit.

Shannon si rese conto che a una domanda con N possibili risposte diverse è possibile rispondere con una sequenza di log2N bit.

Page 13: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informazione

Il linguaggio scritto non è altro che una sequenza di simboli, e i simboli possono essere scritti come sequenza di bit.

Quindi, qualsiasi domanda finita che ammetta una risposta esprimibile per iscritto in un certo linguaggio può venir codificata in una sequenza di 1 e 0. E qualsiasi risposta finita può essere espressa mediante una sequenza di 1 e 0.

La misura dell’informazione in un messaggio è data dal numero di bit necessari per trasferirlo da un mittente a un destinatario.

Un libro medio può contenere circa due milioni di bit di informazione, pari allo 0,25% della capacità di un CD, e allo 0,04% di quella di un DVD.

Page 14: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informazione

Attenzione però!Ogni cifra di una sequenza binaria può trasportare, almeno potenzialmente, un bit di informazione. Tuttavia non è sempre così.

Es. la sequenza di 1000 bit “11111111..” non contiene molta informazione. Basterebbe un bit per rappresentarla (conoscendone a priori la lunghezza).

Se le sequenze sono prevedibili, sono comprimibili. Comprimere significa eliminare la ridondanza, tenendo solo la parte significativa, cioè l’informazione.

A volte però si aggiunge un po’ di ridondanza ai messaggi, per individuare e correggere eventuali errori commessi in fase di trasmissione (es. carattere di controllo nel codice ISBN).

Page 15: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informazione

L’informazione contenuta in un messaggio (enunciato, immagine, filmato, ecc.) è ciò che rimane dopo che è stata eliminata ogni ridondanza.

La ridondanza è un meccanismo di sicurezza: garantisce che una informazione venga ricevuta anche se il messaggio è stato leggermente danneggiato nel corso di una trasmissione.

Tutte le lingue sono dotate di simili reti di sicurezza, fatte di schemi, strutture e insiemi di regole che le rendono ridondanti.Di solito non siamo consapevoli di queste regole, ma il nostro cervello le impara in modo automatico, e le usa per controllare la validità di tutti i messaggi ricevuti.

Page 16: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informazione

Uno dei successi maggiori della teoria dell’informazione di Shannon è l’aver dato una definizione formale della ridondanza e l’aver capito esattamente quanta informazione può essere trasportata da una sequenza di simboli – ridondante o meno.

Tutto ciò è diventato il teorema di Shannon-Hartley sulla capacità di un canale di comunicazione, inizialmente concepito per aiutare gli ingegneri dei laboratori Bell a valutare quante chiamate potessero coesistere su una stessa linea telefonica, e poi utilizzato per innumerevoli altre applicazioni.

C è la capacità del canale in bit al secondo, dopo l’applicazione della correzione d’errore. BW è la banda del canale (in hertz). S/N è il rapporto segnale/rumore (S e N sono potenze, espresse in Watt).

Page 17: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Informatica

L'informatica (computer science, in inglese) è la scienza che tratta l’elaborazione automatica dell'informazione, in ogni suo aspetto.

L’informatica quindi si occupa degli elaboratori elettronici, o più in generale dei sistemi di elaborazione, dal punto di vista architetturale e applicativo.

Page 18: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Hardware

Nell'informatica pionieristica degli anni cinquanta il termine inglese hardware, letteralmente "ferramenta", ben si prestava a indicare le macchine utilizzate.

Anche con la sostituzione delle valvole termoioniche in favore dei transistor e poi dei primi circuiti integrati MOS, tali macchine erano composte da telai e pannelli metallici robusti tutti rigorosamente assemblati mediante bullonature vistose, per contenere i preziosissimi e delicatissimi circuiti elettronici che erano il cuore degli elaboratori e delle prime periferiche di base.

Page 19: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Software

Oggi, quando risulta difficile ritenere ferramenta un mouse o una webcam, il termine hardware è rimasto più che altro per distinguere tutto ciò che è macchina, strumento da tutto ciò che è intelligenza (il software) per far funzionare la macchina o lo strumento.

E’ importante distinguere tra

• software di sistema, che serve a far funzionare le varie parti del sistema di elaborazione;

• software applicativo, che fornisce un servizio alle persone che lo utilizzano.

Page 20: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Algoritmo

Per risolvere problemi che richiedono la ricerca e/o manipolazione di informazione, è necessario individuare un metodo risolutivo, cioè un insieme di operazioni che, eseguite ordinatamente, ci permettono di ricavare la informazione cercata (risultati, o dati di uscita - input) a partire da quella a nostra disposizione (dati di ingresso - output).

Tale metodo risolutivo è detto algoritmo.

Esistono problemi per i quali non è possibile trovare un metodo risolutivo che ci permetta di automatizzarne la soluzione.

Esiste anche un’altra classe di problemi che, pur ammettendo metodi risolutivi, non ne hanno nessuno che, in casi significativi, sia eseguibile in tempo ragionevole.

Page 21: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Programma

Per automatizzare la risoluzione di un problema, è necessario fare un passo in più, che consiste nel rappresentare le informazioni ed il metodo risolutivo in un linguaggio comprensibile dallo strumento di calcolo.

Perciò, progettare algoritmi e descriverli in un linguaggio di programmazione per mezzo di sequenze di istruzioni del linguaggio (programmi) è una attività che richiede:

1. la conoscenza delle tecnologie che permettono di automatizzare procedimenti risolutivi di problemi (i linguaggi ma non solo)

2. la conoscenza delle metodologie che permettono di usare efficacemente tali tecnologie

Page 22: UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione al Corso Prof. M. Amoretti Introduzione.

UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica

Introduzione al Corso Prof. M. Amoretti

Sistemi informatici moderni

A parte il classico personal computer o il server di rete, pensiamo ad esempio al telefono cellulare, alla fotocamera digitale, alla console, al cruscotto auto con il navigatore satellitare, ecc.

Sono tutti sistemi informatici, che forniscono servizi specifici.

Pensiamo ad un aereo moderno: al suo interno possiamo trovare non uno, ma molti sistemi informatici, ciascuno con un preciso compito.

Internet nel suo insieme è un sistema informatico, formato a sua volta da una rete di sistemi informatici che lavorano per un'obiettivo comune: permettere lo scambio di informazioni tra utenti situati in qualsiasi parte del globo.