Fondamenti di Informatica

Slides:



Advertisements
Presentazioni simili
La Comunicazione Bisogno insopprimibile nella vita di ognuno di noi.
Advertisements

Prof. Rebecca Montanari Anno accademico 2011/2012
Fondamenti di Informatica I a.a Fondamenti di Informatica I Presentazione del corso Docenti Monica Bianchini Monica Bianchini Dipartimento di.
Fondamenti di Informatica
Analisi e progettazione
Le Informazioni e la loro Rappresentazione nei calcolatori
18/10/2004Programmazione e Laboratorio di Programmazione – Luca Tesei1 Programmazione e Laboratorio 2004/05 Informazioni Introduttive.
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Presentazione del corso Alberto Polzonetti
Corso di Informatica e Laboratorio
Introduzione allo studio dell’informatica
Andrea G. B. Tettamanzi, 2001 Teoria dellInformazione (Classica) Andrea G. B. Tettamanzi Università degli Studi di Milano Dipartimento di Tecnologie dellInformazione.
Fondamenti di Informatica
Informatica (conoscenza) - Introduzione al corso (I. Zangara)
RETI INFORMATICHE.
ECDL MODULO 1.1 Conoscere i sistemi di elaborazione
Fondamenti di Informatica
1 Informatica Presentazione del corso ENIAC Electronical Numerical Integrator and Calculator Il primo calcolatore elettronico, lENIAC Electronical Numerical.
Elaborazione di Immagini e Suoni Syllabus
Informatica A (informatica grafica) Allievi di Ingegneria Civile, L-Z
1 Corso di Laurea in Biotecnologie Informatica (Programmazione e Basi di Dati) Docente: Raffaella Rizzi Turno A DISCO Dipartimento di Informatica Sistemistica.
Corso di Informatica per Giurisprudenza
Tecnologie Informatiche per la Qualità 1 - La Qualità 1 Università degli Studi di Milano – Polo di Crema - Dipartimento di Tecnologie dellInformazione.
Fondamenti di Informatica
Modelli simulativi per le Scienze Cognitive
LIP Laboratorio di Informatica: Programmazione Rosario Pugliese
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Stefano Cagnoni Dip. Ingegneria dellInformazione Parco Area delle Scienze 181a PARMA Tel FAX
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Informatica a.a. 2009/2010 Modulo B - Corso di Laurea Triennale in Tecnologie per la Conservazione ed il Restauro.
Informatica per medici
Corso di Fondamenti di Informatica A Andrea Omicini Anno accademico 1999/2000 Università degli Studi di Bologna Facoltà di Ingegneria Corsi di Laurea in.
Elementi di Informatica
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Elementi di Informatica Simone Scalabrin a.a. 2008/2009.
Scritture Segrete Lezione n. 2
STRUTTURA GENERALE DI UN ELABORATORE
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Informatica a.a. 2010/2011 Corso di Laurea Magistrale in Dinamiche Interculturali e Mediazione Linguistica (Classi LM38) & C.D.L. in traduzione tecnico-scientifica.
IPOTESI DI LAVORO GRUPPO n° 3: LEO, RIBATTEZZATO, ROSSI, SCIANGUETTA
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Docente: Prof. Lorenzo Mezzalira Esercitatore: Ing. Stefano Giavardi
11/10/2004Introduzione all'Informatica1 Che cose lInformatica Computer ScienceLInformatica (Computer Science) non è soltanto La scienza e la tecnologia.
Alla fine degli anni quaranta nasceva il mito del cervello elettronico, e tutte le attività connesse allutilizzo del computer venivano indicate tramite.
Linguaggi per COMUNICARE
Programma di Informatica Classi Prime
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
1 Laboratorio di Introduzione alla Programmazione-Informazioni §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Tecnica della programmazione(primaparte) anno accademico 2010/11
Algoritmi e Strutture Dati Introduzione agli algoritmi
Programmazione Web Presentazione del corso /2015.
1 LABORATORIO DI INFORMATICA Ingegneria Informatica Dott. Giorgio Cicerchia a.a ° Ciclo.
Sistemi Elettronici Programmabili (SELPR)
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Laboratorio di Tecnologie dell’Informazione
11 ottobre Incontro con le matricole 1 Laurea di I Livello in Informatica Incontro con le Matricole Anno accademico Francesca Rossi Presidente.
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
ELEMENTI DI INFORMATICA
1 Laboratorio di Introduzione alla Programmazione-Informazioni §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
Fondamenti di Informatica
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
Tecnologie dell'informazione e della comunicazione - Stacey S. Sawyer, Brian K. Williams Copyright © The McGraw-Hill Companies srl Introduzione.
Problemi, algoritmi e programmazione
Informazione e Informatica - presentazione dei concetti di base -
Programmazione orientata agli Oggetti Introduzione a Java.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Fondamenti di Informatica Introduzione al Corso Prof. Michele Amoretti Fondamenti di Informatica a.a. 2008/2009

Crediti Il corso offre 5 crediti (44 ore) Lezioni (36 ore) Esercitazioni in laboratorio (8 ore) La prova d’esame è scritta, dura circa 2 ore e consiste di alcune domande a risposta aperta sugli argomenti del corso.

Orario lezioni ed esami Giovedì 8:30 - 10:30 Venerdì 8:30 - 10:30 (in novembre: laboratorio) Per le esercitazioni in laboratorio verranno fatti due gruppi che si alterneranno, una settimana per ciascuno. Esami: da definire.

Organizzazione del corso Teoria: Rappresentazione dell’informazione Modelli per l’informatica Algoritmi e strutture dati Programmazione Linguaggio Java Ingegneria del software Funzionamento dei calcolatori elettronici Introduzione ai sistemi operativi Reti di calcolatori e Internet Laboratorio: Realizzazione di semplici programmi Java con l’ambiente di sviluppo Eclipse

Contatti Docente: Prof. Michele Amoretti E-mail: michele.amoretti@unipr.it Telefono ufficio: 0521 906147 Orario di ricevimento: mercoledì 10:30-12:30 L’ufficio è nella Sede Scientifica di Ingegneria, Palazzina 1. Probabile Tutore: Dott. Ing. Maria Chiara Laghi (laghi@ce.unipr.it)

Materiale didattico Le diapositive presentate a lezione saranno disponibili su Internet: http://dsg.ce.unipr.it/People/amoretti/FI/corso0809.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.

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 perso Iscrizioni tramite il servizio elettronico di facoltà (GOAL) 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)

Le parole chiave del corso Informazione Informatica Sistema di elaborazione Algoritmo Programma

Informazione Che cosa è l'informazione? SINTASSI SEMANTICA PRAGMATICA

Informazione L'informazione è ciò che, per un osservatore o un recettore posto in una situazione in cui si hanno almeno due occorrenze possibili, supera un'incertezza e risolve un'alternativa, cioè sostituisce il noto all'ignoto, il certo all'incerto. In altre parole, essa riguarda il contesto in cui i dati sono raccolti, la loro codifica in forma intellegibile ed in definitiva il significato attribuito a tali dati. In una comunicazione, l’informazione è scambiata per mezzo di messaggi. La quantità di informazione di un messaggio è tanto più grande quante più sono le alternative che esso esclude.

Informazione La teoria dell’informazione è una teoria matematica dell’aspetto simbolico dell’informazione un approccio quantitativo alla nozione di informazione Risponde alle domande: Come immagazzinare e trasmettere informazione in modo compatto? (compressione) Qual’è la massima quantità di informazione che può essere trasmessa su un canale? (velocità di trasmissione) Come posso proteggere la mia informazione: dalla corruzione del suo supporto o da errori di trasmissione? da sguardi indiscreti?

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 considerare l’informazione come qualcosa che aiuta a rispondere a una domanda. - Qual è la soluzione di una equazione? - 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.

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

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.

Informazione Il linguaggio scritto non è altro che una sequenza di simboli, e i simboli possono essere scritti come sequenze 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.

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

Informazione Es. cifra di controllo nel codice International Standard Book Number (ISBN) La cifra di controllo si calcola dalle altre dodici cifre con il seguente algoritmo numerico: Ciascuna cifra, da sinistra a destra, viene moltiplicata per 1 o per 3 alternativamente I prodotti vengono sommati modulo 10 per avere un valore compreso tra 0 e 9 Sottratto da 10, quest’ultimo dà un risultato compreso tra 1 e 10 Se il risultato è 10, lo si sostituisce con 0; in ogni caso alla fine resta una sola cifra

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

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

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.

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.

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.

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 - output) a partire da quella a nostra disposizione (dati di ingresso - input). 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.

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: la conoscenza delle tecnologie che permettono di automatizzare procedimenti risolutivi di problemi (i linguaggi ma non solo) la conoscenza delle metodologie che permettono di usare efficacemente tali tecnologie

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.