INFORMATICA Varie definizioni: Definizione proposta: “Scienza degli elaboratori elettronici” (Computer Science) “Scienza dell’informazione” Definizione proposta: Scienza della rappresentazione e dell’elaborazione dell’informazione
ELABORATORE ELETTRONICO (“COMPUTER”) uno strumento per la rappresentazione e l’elaborazione delle informazioni
L’informatica comprende: metodi per la rappresentazione delle informazioni metodi per la rappresentazione delle soluzioni linguaggi di programmazione, di coordinazione architettura dei calcolatori sistemi operativi reti di calcolatori calcolo numerico ...
Ingegneria del Software Disciplina applicata da gruppi di lavoro per produrre su ampia scala software: economico di alta qualità che soddisfi le richieste dell’utente che possa essere mantenuto ed esteso nel tempo
Ingegneria del Software (segue) Disciplina dell’ingegneria concernente: ricerca specifica progetto sviluppo realizzazione verifica manutenzione gestione dei sistemi software
L’ing. del software comprende: tecniche di programmazione principi e strumenti di ingegneria del software interfacce uomo / macchina gestione e pianificazione del progetto algoritmi e strutture dati metodi formali, analisi e verifica dei requisiti stima e metrica del software riusabilità sicurezza, integrità e robustezza ...
ARCHITETTURE MULTI-COMPONENTE componenti software e hardware eterogenei servizi distribuiti: i com- ponenti forniscono servizi ad altri componenti e usa- no i servizi forniti da altri componenti necessità di protocolli di comunicazione esecuzione distribuita nel tempo e nello spazio
INTERAZIONE e COORDINAZIONE Comunicare non basta Inter-operare non basta Occorre poter gestire e controllare l'interazione tra i componenti Ruolo della comunicazione: input e output computazione e coordinazione
RETI DI CALCOLATORI Reti Locali: connettono elaboratori fisicamente vicini (nello stesso ufficio o stabilimento). LAN (Local Area Network)
RETI DI CALCOLATORI (segue) Reti geografiche: collegano elabora-tori medio-grandi situati anche a grande distanza. WAN (Wide Area Network)
INTERNET: la rete delle reti Internet: la rete risultante dalla interconnessione mondiale di tutte le reti. Milioni di elaboratori (“siti”) collegati a ragnatela World-Wide Web (WWW)
INTERNET: numerazione dei siti Ogni sito è identificato da un numero univoco (come i telefoni!): il numero IP scritto per comodità in 4 pezzi separati da punti 137.204.57.139
INTERNET: identificazione dei siti Ogni sito è identificato da un nome univoco per comodità www.deis.unibo.it La struttura del nome fa capire dove si trova quel sito
ESEMPIO La struttura del nome fa capire dove si trova quel sito ITalia UNIversità di BOlogna Dip. Elettronica, Informatica e Sistemistica nome del computer webeggs.deis.unibo.it
ALTRI ESEMPI DI SITI www.alitalia.it www.fs-on-line.it www.meteo.fr www.nasa.gov www.city.net www.rai.it www.parlamento.it www.finanze.it www.cnn.com
INTERNET: un po’ di storia creata storicamente per esigenze militari un tempo usata per scopi specialistici, fra università e centri di ricerca oggi sempre più il principale strumento per...
INTERNET: un po’ di storia (segue) scambiarsi rapidamente informazioni di ogni tipo trovare qualunque informazione in tempo reale sviluppare applicazioni distribuite coordinare gruppi di lavoro ...
INTERNET: i servizi lettura ipertesti in linea http trasferimento file ftp posta elettronica mailto terminale remoto telnet gruppi di discussione news transazioni sicure https … e tutto ciò che su questo si può costruire! (commercio elettronico, prenotazioni …)
“NAVIGARE” SULLA RETE Per “navigare” occorre: un “navigatore” Microsoft Internet Explorer Netscape Navigator (ne esistono decine, gratuiti, per qualsiasi tipo di computer e di sistema operativo) conoscere l’indirizzo del sito che interessa (URL) http://www.repubblica.it ftp://volftp.tin.it
“NAVIGARE” SULLA RETE
INFORMAZIONE...
…, ORARI, BIGLIETTI, ...
…, RETI CIVICHE ...
COME CREARE UNA “PAGINA WEB”? Con un programma di videoscrittura Con un programma apposito in grado di creare documenti nel formato proprio delle pagine Internet: HTML Ad esempio: Microsoft FrontPage (Express) Netscape Composer quasi tutte le ultime versioni dei più noti applicativi di videoscrittura, presentazione, editing...
CREARE UNA “PAGINA WEB”
CREARE UNA “PAGINA WEB”
LA POSTA ELETTRONICA (e-mail) Concettualmente analoga alla posta normale Per spedire un messaggio a qualcuno occorre conoscere l’indirizzo di posta elettronica della persona ITalia UNIversità di BOlogna Dip. Elettronica, Informatica e Sistemistica Nome persona edenti@deis.unibo.it
LA POSTA ELETTRONICA (segue) Per ricevere un messaggio da qualcuno occorre avere un proprio indirizzo di posta elettronica su un qualche sito “account” Tale sito deve essere sempre acceso e collegato per poter ricevere la posta e metterla nella opportuna mailbox (casella postale)
COMUNICARE SULLA RETE Per spedire/ricevere posta elettronica occorre: un “programma di posta” Eudora (Light / Pro) Microsoft Outlook Express Netscape Messenger (ne esistono decine, gratuiti, per qualsiasi tipo di computer) che consente di inoltrare al sito i messaggi da spedire prelevare dal sito i messaggi arrivati
COMUNICARE SULLA RETE
INTERNET… A CASA PROPRIA? Per essere “in rete” occorre che “il filo di Internet” arrivi sul proprio computer Ma Internet collega diretta-mente solo reti geografiche di università, centri di ricerca, etc …e il mio computer di casa?
INTERNET… A CASA PROPRIA! Idea: a casa arriva già le rete telefonica posso usare il filo del telefono per arrivare da casa a un sito collegato a Internet MODEM Ma…dove telefonare? Perché qualcuno dovrebbe lasciarmi usare il suo sito per collegarmi a Internet??
L’INTERNET SERVICE PROVIDER (ISP) Provider: qualcuno che ha un sito collegato a Internet in via perma- nente (sempre acceso) ... e consente di accedere a Inter- net telefonando presso di lui Richiede un abbonamento ieri a pagamento, oggi anche gratuito ..ma la telefonata si paga sempre!!
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti (risultati) l’esecuzione di azioni viene richiesta all’elaboratore attraverso frasi scritte in un qualche linguaggio (istruzioni)
PROGRAMMAZIONE L’attività con cui si predispone l’elabora-tore a eseguire un particolare insie-me di azioni su particolari dati, allo scopo di risolvere un problema
I PROBLEMI DA RISOLVERE Hanno natura molto varia: Trovare il maggiore fra due numeri Dato un elenco di nomi e numeri di telefono, trovare il numero di una data persona Dati a e b, risolvere l'equazione ax+b=0 Stabilire se una parola precede un’altra Identificare e prenotare aerei, treni, hotel... Ordinare una lista di elementi Creare, modificare e alterare suoni, canzoni, ... Analizzare e riconoscere immagini
IL PUNTO La descrizione del problema non indica direttamente (in genere) un modo per ottenere il risultato voluto Differenza tra specifica di un problema e specifica del processo di risoluzione
Risoluzione di un problema E’ quel processo che dato un problema individuato un opportuno metodo risolutivo trasforma i dati iniziali nei corrispondenti risultati finali
ALCUNE DOMANDE Si può risolvere un problema senza prima fissare un insie-me di “mosse elementari” possibili per l’elaboratore? No, bisogna prima scendere al livello della macchina, per conoscerne le caratteristiche Ma… quale macchina?
ALCUNE DOMANDE (segue) Ma... è corretto impostare la soluzione a partire da tali mosse elementari ? SI, per risolvere il problema in modo efficiente NO, se la macchina di partenza ha mosse di livello troppo basso Occorre risalire a un più adeguato livello di astrazione
ASTRAZIONE Processo di aggregazione di informazioni e dati e di sintesi di modelli concettuali che ne enucleano le proprietà rilevanti escludendo i dettagli inessenziali