LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto

Documenti analoghi
Evoluzione* degli* Elaboratori* Ele1ronici*

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

Informatica. Scopo della lezione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

INGEGNERIA DEL SOFTWARE

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

Breve storia del calcolo automatico

Origini e caratteristiche dei calcolatori elettronici

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

1. BASI DI DATI: GENERALITÀ

1.1 Introduzione alle basi di dati

Fondamenti di Informatica per la Logistica CdL in Economia e Legislazione dei Sistemi Logistici

INTRODUZIONE ALL INFORMATICA

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Fondamenti di Informatica T1

Dispensa di Informatica I.1

Evoluzione del calcolatore e fondamenti della programmazione

INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno

Informatica Generale

Corso di PHP. Prerequisiti. 1 - Introduzione

Le Basi di Dati. Le Basi di Dati

INTRODUZIONE ALL INFORMATICA

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

CORSO DI INFORMATICA. Docente: Erick Baldi Classi: 1AP, 1BP, 2AP, 3AP Sito del corso:

Corso di Informatica

Informatica Grafica. Introduzione al corso

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

LABORATORIO DI INFORMATICA

Elementi di informatica

Il database management system Access

Cosa è un foglio elettronico

Corso di laurea in Biotecnologie. Introduzione. Marta Capiluppi Dipartimento di Informatica Università di Verona

Lezione 1. Introduzione e Modellazione Concettuale

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

PROGRAMMA DI LABORATORIO TRATTAMENTO TESTI

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Corso di Fondamenti di Informatica L-A

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Hardware e Software. 09/10/01 Introduzione all'informatica 1. Il Computer. Il computer è un elaboratore elettronico digitale:

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Problemi, Algoritmi e Programmi

REGOLE PER L ESAME (agg.te settembre 2015)

Introduzione al Calcolo Scientifico

Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione

Modulo 1. Concetti di base della Tecnologia dell Informazione ( Parte 1.1)

Approccio stratificato

Anno Accademico (Triennio)

Database. Si ringrazia Marco Bertini per le slides

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

MODULO 02. Iniziamo a usare il computer

Metodologie Informatiche Applicate al Turismo

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009. Prof. Raffaele Nicolussi

Guida Compilazione Piani di Studio on-line

Informatica DR KLOE Calcolo

Architetture Applicative

Data Mining a.a

OFFERTA FORMATIVA PER OCCUPATI

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

INFORMATICA GENERALE PRESENTAZIONE DEL CORSO. Dott.ssa Rossella Aiello Dipartimento di Informatica

Presentazione Data Base

Classe delle lauree in Ingegneria Industriale (classe 10) Facoltà di Ingegneria, Università degli Studi dell Aquila

Software per Helpdesk

(6 CFU) Facoltà di Economia Laurea specialistica in Economia Aziendale. Prof. Crescenzio Gallo. a.a. 2005/2006

Ciclo di vita del software: Tipologie di software

INFORMATICA. Corso di Laurea in Scienze dell'educazione

PROMUOVERSI MEDIANTE INTERNET di Riccardo Polesel. 1. Promuovere il vostro business: scrivere e gestire i contenuti online» 15

ELETTRONICA DIGITALE

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Sistemi Informativi. Ing. Fabrizio Riguzzi

Corso di Alfabetizzazione Informatica

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

UNIVERSITÀ DEGLI STUDI DI SIENA

ECDL MODULO 1 Concetti di base della tecnologia dell informazione. Prof. Michele Barcellona

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria

Brand Il primo corso per gli imprenditori che vogliono imparare l arma segreta del Brand Positioning Introduzione

UNIVERSITÀ DEGLI STUDI DI SIENA

So.Di. LINUX: Software Didattico OpenSource per tutti

CALCOLATORI ELETTRONICI A cura di Luca Orrù

Parte I. Evoluzione dei Sistemi di Elaborazione (a.a )

Piano Nazionale Scuola Digitale Liceo A. Moro

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

GESTIRE UN LIONS CLUB

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Introduzione al Calcolo Scientifico

Transcript:

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 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 Giorgio Giacinto 2010 Laboratorio di Informatica 2

Contatti Email giacinto@diee.unica.it Telefono 070675 5752 Ufficio Pad. B Dip. Ing. Elettrica ed Elettronica Via Is Maglias 3 piano Giorgio Giacinto 2010 Laboratorio di Informatica 3 ORGANIZZAZIONE DEL CORSO

Contenuti del corso! Concetti di base relativi alla programmazione di un calcolatore elettronico! Programmazione in linguaggio C livello base! Basi di Dati relazionali: progettazione e interrogazione Giorgio Giacinto 2010 Laboratorio di Informatica 5 Materiale didattico per il corso! All indirizzo http://www.diee.unica.it/giacinto/lab sono 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 Giorgio Giacinto 2010 Laboratorio di Informatica 6

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 C Kernigham and Ritchie, The C Programming Language (2 nd ed, ANSI C), Prentice Hall, 1988! Testi di consultazione qualunque testo universitario di programmazione in linguaggio C e di progettazione e interrogazione di basi di dati Questi testi sono disponibili presso la Biblioteca Centrale di Ingegneria Giorgio Giacinto 2010 Laboratorio di Informatica 7 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 di sviluppo C (opzionale) Giorgio Giacinto 2010 Laboratorio di Informatica 8

Software! RDBMS! PostgreSQL Open-Source, multipiattaforma, conforme standard SQL. Giorgio Giacinto 2010 Laboratorio di Informatica 9 Chiarimenti sugli argomenti del corso! Durante lo svolgimento della lezione! Durante gli intervalli all interno di una lezione! Per posta elettronica giacinto@diee.unica.it! Utilizzando i forum (ad es. http://www.unibosca.com)! Presso il mio studio previo appuntamento Giorgio Giacinto 2010 Laboratorio di Informatica 10

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, orale obbligatorio. Negli altri casi, orale opzionale. (Orale valutato max 3 punti addizionali) Giorgio Giacinto 2010 Laboratorio di Informatica 11 INTRODUZIONE

Tecnologia e magia da 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 (eppure ci sta). L utente vive la tecnologia del computer come magia. Giorgio Giacinto 2010 Laboratorio di Informatica 13 Tecnologia e magia da A Passo di Gambero, U. Eco, Bompiani, 2006! Per magia si può intendere la presunzione che si possa passare di colpo da una causa a un effetto per cortocircuito, senza compiere i passi intermedi.! La magia ignora le catene lunghe delle cause e degli effetti e soprattutto non si preoccupa di stabilire provando e riprovando se ci sia un rapporto replicabile tra causa ed effetto! Il desiderio della simultaneità tra causa ed effetto si è trasferito alla tecnologia. La tecnologia fa di tutto perché si perda di vista la catena delle cause e degli effetti. Giorgio Giacinto 2010 Laboratorio di Informatica 14

Ciclo di vita della tecnologia Giorgio Giacinto 2010 Laboratorio di Informatica 15 Ciclo di vita della tecnologia (cont.) Giorgio Giacinto 2010 Laboratorio di Informatica 16

Esempio: Apple inc. Newton (1993-1997) http://www.msu.edu/~luckie/newtgal.htm iphone (2007) Giorgio Giacinto 2010 Laboratorio di Informatica 17 Ciclo di vita del calcolatore elettronico: 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 debba essere ammesso nella confraternita dei legittimi utilizzatori di computer.! Finora sono stati sviluppati potenti linguaggi di programmazione che permettono di risolvere i problemi tecnici di calcolo. La maggior parte dei programmatori sa scrivere programmi capaci di eseguire operazioni mirabolanti, ma inutilizzabili per chi non è uno specialista del ramo. Giorgio Giacinto 2010 Laboratorio di Informatica 18

Perché è difficile usare il calcolatore? «Kenneth Olsen, l ingegnere elettronico che ha fondato e ha diretto la Digital Equipment Corp. [assorbita dalla Compaq, a sua volta assorbita da HP], ha confessato alla riunione dei soci che non ha capito come si fa a riscaldare una tazza di caffè nel forno a microonde prodotto dalla sua azienda» «Bisogna essere laureati in ingegneria al MIT per farlo funzionare», mi disse una volta un tale, scuotendo la testa perplesso davanti al suo orologio 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 a microonde): datemi qualche ora di tempo e arrivo a capire come funziona l orologio. Ma perché mai devono volerci delle ore? Ho parlato con tanta gente che non riesce a usare tutte le funzioni della lavatrice o della macchina fotografica, che non riesce a far funzionare una macchina per cucire o un videoregistratore, che accende regolarmente il fuoco sbagliato sul piano di cottura della propria cucina Giorgio Giacinto 2010 Laboratorio di Informatica 19 La progettazione centrata sull uomo La mente umana è tagliata su misura per ricavare dal mondo un senso compiuto. Considerate gli oggetti - libri, radio, interruttori della luce, ecc. - che formano il nostro ambiente quotidiano. Gli oggetti ben progettati sono facili da interpretare e comprendere: contengono indizi visibili sul loro funzionamento. Gli oggetti progettati male possono essere difficili e frustranti da usare: non offrono indizi o ne danno di sbagliati. Questo testo con i due precedenti sono tratti da D.A. Norman, La Caffettiera del Masochista - Psico-patologia degli oggetti quotidiani, Giunti, 1997 (ed. orig. 1988). Giorgio Giacinto 2010 Laboratorio di Informatica 20

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: telefoni cellulari, impianto iniezione auto, elettrodomestici intelligenti, macchina fotografica digitale, lettori multimediali. ma spesso il calcolatore NON è invisibile serve un corposo manuale o un insegnante http://www.apple.com/retail/onetoone/ Giorgio Giacinto 2010 Laboratorio di Informatica 21 Catalogo Sears del 1918 Giorgio Giacinto 2010 Laboratorio di Informatica 22

COS È L INFORMATICA Che cos è l informatica Arte o scienza? (http://www-cs-faculty.stanford.edu/~knuth)! Si può dire che l informatica è un arte basata sulla scienza della 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 modo automatico.! Il calcolatore elettronico è uno strumento di calcolo potente che permette la gestione di quantità di informazioni altrimenti intrattabili Giorgio Giacinto 2010 Laboratorio di Informatica 24

Aree disciplinari dell informatica L Association for Computing Machinery (ACM, http://www.acm.org) ha individuato 5 aree disciplinari principali! Computer Engineering: progetto e costruzione di calcolatori e di sistemi basati su calcolatori (hardware, software, comunicazione, ecc.)! Computer Science: vasta gamma di argomenti, dalla teoria degli algoritmi agli argomenti di frontiera come bioinformatica, robotica, visione artificiale,! Information Systems: integrazione delle tecnologie dell informazione con i processi aziendali! Information Technology: rispetto all area precedente, è più focalizzata alle tecnologie abilitanti più che al trattamento dell informazione! Software Engineering: sviluppo e manutenzione del software che deve essere affidabile ed efficiente, e soddisfare i requisiti definiti dagli utenti Giorgio Giacinto 2010 Laboratorio di Informatica 25 CENNI STORICI

Breve storia dei sistemi di elaborazione! 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 eseguire istruzioni elementari per mezzo delle quali era possibile risolvere diversi problemi.! Inizia era calcolatori general purpose! Uno stesso calcolatore può essere programmato per svolgere compiti diversi (es. elaborazione testo, calcoli scientifici, posta elettronica, ecc.) Giorgio Giacinto 2010 Laboratorio di Informatica 27 Breve storia dei sistemi di elaborazione (cont.) Data Nome Realizzato da Commento 1834 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 elettronico 1944 Mark I Aiken Primo calcolatore americano generalpurpose 1946 ENIAC I Eckert/Mauchley Inizia La storia dei calcolatori moderni 1949 EDSAC Wilkes Primo calcolatore con programma in memoria 1951 Whirlwind I M.I.T. Primo calcolatore real-time 1952 IAS Von Neumann La maggior parte dei calcolatori oggi usa la stessa architettura 1960 PDP-1 DEC Primo minicalcolatore (venduti 50) 1961 1401 IBM Piccolo calcolatore che diventò popolare nelle piccole imprese 1962 7094 IBM Posizione dominante nel calcolo scientifico nei primi anni '60. Giorgio Giacinto 2010 Laboratorio di Informatica 28

Breve storia dei sistemi di elaborazione (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 29 ENIAC Giorgio Giacinto 2010 Laboratorio di Informatica 30

Alcuni Personal Computer di prima generazione Apple Macintosh 1984 Apple Lisa 1983 Osborne Compaq (portatile) 1983 Xerox Star 1981 Giorgio Giacinto 2010 Laboratorio di Informatica 31 Un moderno Centro di Elaborazione Dati (CED) Giorgio Giacinto 2010 Laboratorio di Informatica 32

Il LINGUAGGIO C 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 su un piccolo calcolatore! Un altro ricercatore dei Bell Labs (Brian Kernigham) chiamò quel sistema UNICS (Uniplexed Information and Computing Service)! gioco di parole con l inglese eunhucs! A questo punto i Bell Labs si interessano al lavoro: interviene Dennis Ritchie. Giorgio Giacinto 2010 Laboratorio di Informatica 34

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 su UNIX! Molte università richiedettero UNIX. Essendo i Bell Labs parte di AT&T (monopolio regolato), non poteva vendere computer e cedette UNIX all università per un prezzo modesto.! Molti ricercatori iniziarono a lavorarci essendo decisamente più evoluti dei SO fatti in casa utilizzati dai singoli dipartimenti Giorgio Giacinto 2010 Laboratorio di Informatica 35 Ritchie (in piedi) e Thompson Porting di UNIX su PDP-11 Giorgio Giacinto 2010 Laboratorio di Informatica 36

Perché il linguaggio C?! Da allora UNIX è stato il Sistema Operativo più usato nelle 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 di programmazione diffuso oltre alla praticità d uso! DI conseguenza oggi parte del software, soprattutto open source, è scritto in C. Giorgio Giacinto 2010 Laboratorio di Informatica 37 LE BASI DI DATI

Storia! Nel 1953 il Presidente della American Airlines C.R. Smith e R. Blair Smith, un reponsabile commerciale IBM, si incontrarono durante un volo da Los Angeles a New York. Ebbero l idea di creare un sistema di prenotazioni aeree completamente automatico! Nel 1959 AA e IBM annunciarono l intenzione di creare un sistema chiamato Semi-Automatic Business Research Environment SABRE Giorgio Giacinto 2010 Laboratorio di Informatica 39 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 Giorgio Giacinto 2010 Laboratorio di Informatica 40

Sistemi di basi di dati! Numerosi produttori! IBM! Oracle! Microsoft!! Prodotti open-source con licena gratuita per utilizzo personale! MySQL! PostgreSQL Giorgio Giacinto 2010 Laboratorio di Informatica 41 Basi di dati geografiche! Consentono la memorizzazione di dati geografici e l interrogazione mediante proprietà spaziali! Sono spesso moduli aggiuntivi ai RDBMS per dati alfanumerici! Oracle GIS! PostGIS! Giorgio Giacinto 2010 Laboratorio di Informatica 42