laboratorio di informatica - diee.unica.it · da “a passo di gambero”, u. eco, bompiani, 2006!...

21
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l’Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto INTRODUZIONE http://www.diee.unica.it/giacinto/Lab Giorgio Giacinto 2010 Laboratorio di Informatica 2 Il docente ! Giorgio Giacinto Prof. Associato ING-INF/05 http://www.diee.unica.it/giacinto ! Attività di ricerca ! Pattern Recognition ! Sistemi multipli di classificazione di dati ! Sicurezza informatica ! Interrogazione di archivi multimediali

Upload: lamnhi

Post on 16-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Università degli Studi di CagliariCorso di Laurea Magistrale in Ingegneria per l’Ambiente ed il Territorio

LABORATORIOdi INFORMATICA

A.A. 2010/2011Prof. Giorgio Giacinto

INTRODUZIONE

http://www.diee.unica.it/giacinto/Lab

Giorgio Giacinto 2010 Laboratorio di Informatica 2

Il docente

! Giorgio GiacintoProf. Associato ING-INF/05http://www.diee.unica.it/giacinto

! Attività di ricerca! Pattern Recognition! Sistemi multipli di classificazione di dati! Sicurezza informatica! Interrogazione di archivi multimediali

Page 2: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 3

ContattiEmail

[email protected]

Telefono070675 5752

UfficioPad. B Dip. Ing. Elettrica ed ElettronicaVia Is Maglias3° piano

ORGANIZZAZIONEDEL CORSO

Page 3: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 5

Contenuti del corso! Concetti di base relativi alla programmazione di un

calcolatore elettronico

! Programmazione in linguaggio C – livello base

! Basi di Dati relazionali: progettazione einterrogazione

Giorgio Giacinto 2010 Laboratorio di Informatica 6

Materiale didattico per il corso

! All’indirizzohttp://www.diee.unica.it/giacinto/Labsono disponibili! Il calendario delle lezioni! Le presentazioni utilizzate a lezione in formato

PDF! Gli esempi illustrati in aula! I testi con soluzione di alcuni esami degli anni

precedenti

Page 4: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 7

Bibliografia! Libri di testo Ceri, Mandrioli, Sbattella “Informatica – Programmazione”, McGraw-

Hill Italia, 2006

Ramakrishnan, Gehrke “Sistemi di Basi di Dati” McGraw-Hill Italia,2004

! Testo di riferimento per il linguaggio CKernigham and Ritchie, The C Programming Language (2nd ed, ANSIC), Prentice Hall, 1988

! Testi di consultazionequalunque testo universitario di programmazione in linguaggio C e diprogettazione e interrogazione di basi di datiQuesti testi sono disponibili presso la Biblioteca Centrale di Ingegneria

Giorgio Giacinto 2010 Laboratorio di Informatica 8

Software! Compilatori Linguaggio C

! Windows! Visual Studio Express, di Microsoft, disponibile

gratuitamente (compilatore a riga di comando)! PellesC

! Mac OS! Compilatore GNU C e ambiente di sviluppo sono

integrati negli strumenti di sviluppo Xcode! Linux

! Tutte le versioni di Linux comprendono un ambiente disviluppo C (opzionale)

Page 5: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 9

Software

! RDBMS! PostgreSQL

Open-Source, multipiattaforma, conformestandard SQL.

Giorgio Giacinto 2010 Laboratorio di Informatica 10

Chiarimenti sugli argomentidel corso

! Durante lo svolgimento della lezione

! Durante gli intervalli all’interno di una lezione

! Per posta elettronica [email protected]

! Utilizzando i forum (ad es.http://www.unibosca.com)

! Presso il mio studio previo appuntamento

Page 6: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 11

Valutazione! Appelli durante l’anno secondo quanto stabilito dalla

Facoltà di Ingegneria! 3 appelli fra gennaio e febbraio; 2 appelli a settembre; 3

appelli fra giugno e luglio! Contenuto: prova scritta con esercizi relativi ai diversi

argomenti trattati nel corso! Durata: 100 min! Valutazione: Punteggio max pari a 32 punti. Se voto finale

= 32 allora 30 e lode. Se voto finale ! 15, oraleobbligatorio. Negli altri casi, orale opzionale.(Orale valutato max 3 punti addizionali)

INTRODUZIONE

Page 7: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 13

Tecnologia e magiada “A Passo di Gambero”, U. Eco, Bompiani, 2006

! “L’utente [del computer]schiaccia un bottone e ribalta una prospettiva,si collega con un corrispondente lontano,ottiene i risultati di un calcolo astronomico,

ma non sa più che cosa ci sta dietro (eppureci sta).L’utente vive la tecnologia del computercome magia”.

Giorgio Giacinto 2010 Laboratorio di Informatica 14

Tecnologia e magiada “A Passo di Gambero”, U. Eco, Bompiani, 2006

! Per magia si può intendere “la presunzione che sipossa passare di colpo da una causa a un effettoper cortocircuito, senza compiere i passi intermedi”.

! “La magia ignora le catene lunghe delle cause edegli effetti e soprattutto non si preoccupa distabilire provando e riprovando se ci sia un rapportoreplicabile tra causa ed effetto”

! “Il desiderio della simultaneità tra causa ed effetto siè trasferito alla tecnologia”. “La tecnologia fa di tuttoperché si perda di vista la catena delle cause edegli effetti”.

Page 8: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 15

Ciclo di vita della tecnologia

Giorgio Giacinto 2010 Laboratorio di Informatica 16

Ciclo di vita della tecnologia(cont.)

Page 9: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 17

Esempio: Apple inc.

Newton (1993-1997)http://www.msu.edu/~luckie/newtgal.htm

iPhone (2007)

Giorgio Giacinto 2010 Laboratorio di Informatica 18

Ciclo di vita del calcolatoreelettronico: dove ci troviamo?

! La tecnologia informatica è ancora molto giovane.! Sopravvive tuttora l’idea che chi non è passato attraverso i

riti di iniziazione all’arte di programmare non debbaessere ammesso nella confraternita dei legittimi utilizzatoridi computer.

! Finora sono stati sviluppati potenti linguaggi diprogrammazione che permettono di risolvere i problemitecnici di calcolo.La maggior parte dei programmatori sa scrivereprogrammi capaci di eseguire operazioni mirabolanti, mainutilizzabili per chi non è uno specialista del ramo.

Page 10: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 19

Perché è difficile usare ilcalcolatore?«Kenneth Olsen, l’ingegnere elettronico che ha fondato e ha diretto laDigital Equipment Corp. [assorbita dalla Compaq, a sua volta assorbitada HP], ha confessato alla riunione dei soci che non ha capito come sifa a riscaldare una tazza di caffè nel forno a microonde prodotto dallasua azienda»«Bisogna essere laureati in ingegneria al MIT per farlo funzionare», midisse una volta un tale, scuotendo la testa perplesso davanti al suoorologio nuovo di zecca. Bene, io la laurea in ingegneria al MIT ce l’ho(K. Olsen ne ha due e non riesce a far funzionare un forno amicroonde): datemi qualche ora di tempo e arrivo a capire comefunziona l’orologio.Ma perché mai devono volerci delle ore? Ho parlato con tanta genteche non riesce a usare tutte le funzioni della lavatrice o della macchinafotografica, che non riesce a far funzionare una macchina per cucire oun videoregistratore, che accende regolarmente il fuoco sbagliato sulpiano di cottura della propria cucina…

Giorgio Giacinto 2010 Laboratorio di Informatica 20

La progettazione centratasull’uomo

La mente umana è tagliata su misura perricavare dal mondo un senso compiuto.Considerate gli oggetti - libri, radio,interruttori della luce, ecc. - che formano ilnostro ambiente quotidiano.Gli oggetti ben progettati sono facili dainterpretare e comprendere: contengonoindizi visibili sul loro funzionamento.Gli oggetti progettati male possonoessere difficili e frustranti da usare: nonoffrono indizi o ne danno di sbagliati.

Questo testo con i due precedenti sonotratti da D.A. Norman, “La Caffettiera delMasochista - Psico-patologia degli oggettiquotidiani”, Giunti, 1997 (ed. orig. 1988).

Page 11: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 21

Il calcolatore… invisibile

! Calcolatore dedicato a specifiche funzioni! L’utente non deve preoccuparsi

dell’hardware, del sistema operativo ecc.! Interconnessione fra diversi sistemi

dedicati per scambio informazioni (es.elaboratore testi con agenda, e-mail, ecc.)

! Oggi abbiamo diversi esempi: telefonicellulari, impianto iniezione auto,elettrodomestici “intelligenti”, macchinafotografica digitale, lettori multimediali….… ma spesso il calcolatore NON èinvisibile… serve un corposo manuale oun insegnante…http://www.apple.com/retail/onetoone/

Giorgio Giacinto 2010 Laboratorio di Informatica 22

Catalogo Searsdel 1918

Page 12: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

COS’È L’INFORMATICA

Giorgio Giacinto 2010 Laboratorio di Informatica 24

Che cos’è l’informaticaArte o scienza? (http://www-cs-faculty.stanford.edu/~knuth)

! Si può dire che l’informatica è un’arte basata sulla scienzadella rappresentazione e dell’elaborazione dell’informazione! Non è la scienza e la tecnologia dei calcolatori elettronici! Non sono le molteplici applicazioni dei calcolatori

elettronici! Essendo una scienza, cioè approccio sistematico e rigoroso,

l’elaborazione dell’informazione può avvenire in modoautomatico.

! Il calcolatore elettronico è uno strumento di calcolo potenteche permette la gestione di quantità di informazioni altrimentiintrattabili

Page 13: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 25

Aree disciplinaridell’informatica

L’Association for Computing Machinery (ACM, http://www.acm.org) haindividuato 5 aree disciplinari principali

! Computer Engineering: progetto e costruzione di calcolatori e di sistemibasati su calcolatori (hardware, software, comunicazione, ecc.)

! Computer Science: vasta gamma di argomenti, dalla teoria degli algoritmiagli argomenti di frontiera come bioinformatica, robotica, visione artificiale,…

! Information Systems: integrazione delle tecnologie dell’informazione con iprocessi aziendali

! Information Technology: rispetto all’area precedente, è più focalizzata alletecnologie abilitanti più che al trattamento dell’informazione

! Software Engineering: sviluppo e manutenzione del software che deveessere affidabile ed efficiente, e soddisfare i requisiti definiti dagli utenti

CENNI STORICI

Page 14: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 27

Breve storia dei sistemi dielaborazione! Primi sistemi: meccanici

! Pascal (1642): addizione e sottrazione! Leibniz (1700): le 4 operazioni fondamentali

! Nuove idee solo 150 anni più tardi!! Babbage (1834): “motore analitico”, un calcolatore

programmabile. Il calcolatore era capace di eseguireistruzioni elementari per mezzo delle quali era possibilerisolvere diversi problemi.

! Inizia era calcolatori general purpose! Uno stesso calcolatore può essere programmato per

svolgere compiti diversi (es. elaborazione testo, calcoliscientifici, posta elettronica, ecc.)

Giorgio Giacinto 2010 Laboratorio di Informatica 28

Breve storia dei sistemi dielaborazione (cont.)

Data Nome Realizzato da Commento1834 Motore Analitico Babbage Primo tentativo di calcolatore "digitale"

(meccanico)1936 Z1 Zuse Primo calcolatore funzionante con r elé

(elettromeccanico)1943 COLOSSUS Governo GB Primo calcolatore elettronico1944 Mark I Aiken Primo calcolatore americano general-

purpose1946 ENIAC I Eckert/Mauchley Inizia La storia dei calcolatori moderni1949 EDSAC Wilkes Primo calcolatore con programma in

memoria1951 Whirlwind I M.I.T. Primo calcolatore real-time1952 IAS Von Neumann La maggior parte dei calcolatori oggi

usa la stessa architettura1960 PDP-1 DEC Primo minicalcolatore (venduti 50)1961 1401 IBM Piccolo calcolatore che diventò popolare

nelle piccole imprese1962 7094 IBM Posizione dominante nel calcolo scienti-

fico nei primi anni '60.

Page 15: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 29

Breve storia dei sistemi dielaborazione (cont.)

Data Nome Realizzatore Commento 1963 B5000 Burroughs Primo calcolatore progettato per un linguaggio di alto l i-

vello 1964 360 IBM Primo progetto di una famiglia di prodotti 1964 6600 CDC Primo supercomputer scientifico 1965 PDP-8 DEC Primo minicomputer per il mercato di massa (venduti

50.000 esemplari) 1970 PDP-11 DEC Dominante nel mercato dei minicomputer anni '70 1974 8080 Intel Priimo calcolatore general-purpose a 8 bit su unico chip 1974 CRAY-1 Cray Primo supercomputer vettoriale 1977 Apple II Primo calcolatore con interfaccia grafica 1978 VAX DEC Primo superminicomputer a 32 bit 1981 IBM PC IBM Inizia l'era del personal computer 1981 Xerox Star Primo personal computer con interfaccia grafica 1985 MIPS MIPS Primo calcolatore RISC commerciale 1987 SPARC Sun Prima workstation RISC basata su processore SPARC 1990 RS6000 IBM Primo calcolatore superscalare ? ? ? Il calcolatore… invisibile!

Giorgio Giacinto 2010 Laboratorio di Informatica 30

ENIAC

Page 16: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 31

Alcuni Personal Computer diprima generazione

Apple Macintosh1984

Apple Lisa1983

Xerox Star1981

Osborne Compaq(portatile) 1983

Giorgio Giacinto 2010 Laboratorio di Informatica 32

Un moderno Centro diElaborazione Dati (CED)

Page 17: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Il LINGUAGGIO C

Giorgio Giacinto 2010 Laboratorio di Informatica 34

Perché il linguaggio C?! Nella seconda metà degli anni ’60 grande impulso allo

sviluppo di sistemi operativi (innovators)! il Mit, i Bell Labs e la General Electric progettarono MULTICS

(Multiplexed Information and Computing Service)! I Bell Labs ad un certo punto uscirono dal progetto. Un loro

ricercatore (Ken Thompson) decise di riscrivere MULTICS suun “piccolo” calcolatore

! Un altro ricercatore dei Bell Labs (Brian Kernigham) chiamòquel sistema UNICS (Uniplexed Information and ComputingService)! gioco di parole con l’inglese “eunhucs”

! A questo punto i Bell Labs si interessano al lavoro: intervieneDennis Ritchie.

Page 18: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 35

Perché il linguaggio C?! A questo punto (1969-1973) decisero di scrivere UNIX in un

linguaggio di alto livello! Thompson progettò il linguaggio B che non funzionò tanto

bene! Ritchie progettò il successore del B, il C

! Nel 1974 Ritchie e Thompson pubblicarono un articolo suUNIX! Molte università richiedettero UNIX. Essendo i Bell Labs

parte di AT&T (monopolio regolato), non poteva venderecomputer e cedette UNIX all’università per un prezzomodesto.

! Molti ricercatori iniziarono a lavorarci essendo decisamentepiù evoluti dei SO “fatti in casa” utilizzati dai singolidipartimenti

Giorgio Giacinto 2010 Laboratorio di Informatica 36

Ritchie (in piedi) e Thompson

“Porting” di UNIX su PDP-11

Page 19: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 37

Perché il linguaggio C?

! Da allora UNIX è stato il Sistema Operativo più usatonelle Università, in sistemi commerciali e, più tardi,nella rete Internet! Oggi diffusione anche maggiore grazie a distribuzioni per

“personal” computer IBM compatibili (Linux) e Apple Mac(Mac OS X)

! Questo ha contribuito a rendere C un linguaggio diprogrammazione diffuso oltre alla praticità d’uso

! DI conseguenza oggi parte del software, soprattutto“open source”, è scritto in C.

LE BASI DI DATI

Page 20: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 39

Storia…! Nel 1953 il Presidente della American Airlines C.R.

Smith e R. Blair Smith, un reponsabile commercialeIBM, si incontrarono durante un volo da Los Angelesa New York. Ebbero l’idea di creare un sistema diprenotazioni aeree completamente automatico…

! Nel 1959 AA e IBM annunciarono l’intenzione dicreare un sistema chiamato Semi-AutomaticBusiness Research Environment —SABRE

Giorgio Giacinto 2010 Laboratorio di Informatica 40

Primi sistemi di basi di dati

! Con SABRE naque il primo database! Negli anni ‘60 e ‘70 sviluppi tecnolgoici,

teorici e metodologici! Nel 1972 E.F. Codd (ricercatore IBM) propose il

modello relazionale che è ancora uno standard! Nel 1976 P. Chen propose il modello ER per la

progettazione concettuale di basi di dati! Anni ‘80: standardizzazione (ANSI) del linguaggio

SQL per definizione dei dati e interrogazione

Page 21: LABORATORIO di INFORMATICA - diee.unica.it · da “A Passo di Gambero”, U. Eco, Bompiani, 2006! “L’utente [del computer] ... programmazione che permettono di risolvere i problemi

Giorgio Giacinto 2010 Laboratorio di Informatica 41

Sistemi di basi di dati

! Numerosi produttori! IBM! Oracle! Microsoft! …

! Prodotti open-source con licena gratuita perutilizzo personale! MySQL! PostgreSQL

Giorgio Giacinto 2010 Laboratorio di Informatica 42

Basi di dati geografiche

! Consentono la memorizzazione di datigeografici e l’interrogazione medianteproprietà spaziali

! Sono spesso moduli aggiuntivi ai RDBMS perdati alfanumerici! Oracle GIS! PostGIS! …