
















Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti precisi sul Laboratorio di Informatica
Tipologia: Appunti
1 / 24
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!

















Informatica = disciplina scientifica dai tre aspetti:
1. operativo : un insieme di applicazioni e manufatti (i computer) 2. tecnologico : una tecnologia che realizza le applicazioni; 3. culturale : una disciplina scientifica che fonda e rende possibile quella tecnologia. che si occupa di: ◦ studio dei fondamenti teorici della scienza dell'informazione; ◦ definizione di algoritmi per l'elaborazione automatica delle informazioni; ◦ realizzazione di questi algoritmi; ◦ uso del calcolatore. Lo studio dell'informatica è importante perché: - accresce le facoltà creative, logiche e cognitive dell'individuo - è multidisciplinare - offre strumenti per modellare formalmente problemi e poterne affrontare la risoluzione - è strategica in numerosi ambiti applicativi. Storia del computer Generazione 0: I calcolatori meccanici - abaco, 4000 anni fa, Cina - 1702, Gottfried Wilhelm Leibniz: logica —> disciplina matematica. Sistema numerico binario: l’uno e lo zero rappresentano i valori vero e falso. - 1804 Joseph Marie Jacquard: nuova tecnologia per i telai in grado di controllare il movimento di aghi, filo e tessuto attraverso schede perforate, automatizzando così la procedura di tessitura. - metà del XIX secolo, Charles Babbage: macchina di calcolo in grado di compiere operazioni aritmetiche, ma mai realizzata. - Ada Lovelace (prima programmatrice della storia): macchina di Babbage —> Ada riconosce la possibilità di programmare la macchina per altri fini (differenza tra una calcolatrice tradizionale e un calcolatore) - 1854, George Boole, pubblica la propria algebra booleana , creando un sistema nel quale è possibile trattare ogni relazione logica attraverso l'utilizzo di formule algebriche - fine del XIX secolo, Herman Hollerith: macchina tabulatrice, per automatizzare le operazioni di censimento - anni 30, Memex: macchina immaginaria progettata da Vannevar Bush —> scrivania dotata di schermi traslucidi, una tastiera, un set di pulsanti e delle leve. - anni '30, Kurt Gödel: teoremi di incompletezza che fecero da base per il lavoro di Alan Turing, il quale dimostrò come ogni funzione calcolabile si possa eseguire attraverso un algoritmo installato su una Macchina di Turing. Per alcuni algoritmi però non è possibile sapere a priori se siano eseguibili in un tempo finito o infinito —> netta separazione tra la macchina fisica e i dati e gli algoritmi astratti. Generazione 1: I tubi a vuoto (valvole) - 1939, John Vincent Atanasoff e Clifford Berry —>l’Atanasoff Berry Computer, meglio noto come ABC (primo calcolatore digitale totalmente elettronico, mai brevettato)
Basi di dati relazionali : collezione di tabelle che rappresentano gli oggetti e le associazioni fra oggetti che caratterizzano la realtà di interesse. I legami fra i dati di tabelle diverse vengono espressi per mezzo di valori comuni presenti nelle tuple di tali tabelle. Questi valori dovranno per forza essere univoci in entrambe le tabelle. Schema di relazione : costituito dal nome r della relazione e dall'insieme degli attributi che costituiscono la relazione. Ad esempio, lo schema di relazione della relazione "regista" è definito come segue Schema dell'intera base di dati cinematografica:
Linguaggi per le basi di dati
un’interrogazione è presentato sotto forma di tabella dove le righe rappresentano le tuple estratte dalla base di dati che soddisfano il criterio di selezione fissato e le colonne rappresentano gli attributi di interesse fra quelli disponibili nelle tabelle della base di dati. Le operazioni di interrogazione sono espresse in linguaggio SQL mediante l’uso del comando SELECT. LibreOffice Base —> query-by-example (QBE), interrogazione formulata in modo dichiarativo descrivendo le caratteristiche che le tuple del risultato dovranno possedere. SELECT nome, cognome FROM Attore WHERE anno_nascita > 1950 AND nazione = 'USA' Ne consegue che l’istruzione SQL per eseguire un’interrogazione alla base di dati è costituita dalle clausole SELECT , FROM WHERE.
Definizione di protocollo di rete
e ai contenuti condivisi dagli altri nodi. es. BitTorrent. I protocolli di Internet Funzionamento della comunicazione sulla rete Internet affidata:
connessione TCP sia ricevuto dal nodo destinatario all'altro capo della connessione. A tal scopo, ogni pacchetto TCP possiede due campi molto importanti: ◦ Il^ sequence number^ e^ l' acknowledgement number^ rappresentano rispettivamente il numero progressivo di invio e il numero di conferma di ricezione di un pacchetto nell'ambito di una trasmissione. Essi sono utili a controllare l’integrità delle informazioni trasmesse, e cioè che le informazioni non siano state compromesse durante il trasferimento dei dati tra i due nodi; ◦ la^ receive window^ fornisce una stima del tempo di trasmissione del pacchetto, cioè del tempo necessario affinché la trasmissione da mittente a destinatario sia completata. Se il nodo mittente di un messaggio non riceve risposta entro il tempo previsto nella receive window , esso provvederà a inviare nuovamente l’informazione assumendo che il primo invio non sia andato a buon fine. Una volta terminata lo scambio di messaggi tra i due nodi, la connessione TCP viene chiusa. Il protocollo TCP è adatto a situazioni dove l'affidabilità della trasmissione costituisce un aspetto cruciale, come ad esempio il servizio di navigazione web e la posta elettronica.
2. Protocollo di trasporto UDP (User Datagram Protocol) consente lo scambio di messaggi tra due nodi basato su una connessione non affidabile. UDP non richiede che due nodi stabiliscano una connessione per poter comunicare e quindi non è prevista alcuna procedura di handshake. Il vantaggio di UDP rispetto a TCP è che la comunicazione tra i nodi è più semplice e snella: non sono previsti meccanismi di ri- trasmissione o verifica di consegna dei pacchetti. Per contro, UDP non è in grado di garantire la consegna dei messaggi da un nodo mittente a un nodo destinatario. Il protocollo UDP è adatto a situazioni dove l'affidabilità della trasmissione non costituisce un aspetto cruciale, come ad esempio la telefonia su Internet (VoIP - Voice Over IP) e lo streaming di file multimediali. Servizi e applicazioni di rete Interfaccia socket: si occupa dell’invio dei messaggi dal livello Applicazione al livello Trasporto e viceversa. Smista le comunicazioni che i vari servizi hanno con i diversi interlocutori. Ciascun servizio di livello Applicazione è associato a un numero di porta univoco che permette alle socket di gestire molteplici comunicazioni contemporaneamente anche se associate a servizi diversi a livello Applicazione. World Wide Web (Web o WWW). Ideato dal CERN nel 1989, il web offre un metodo standard per condividere informazioni su Internet: - metodo standard con cui rappresentare le informazioni e condividere risorse dando la possibilità di unire testo, grafica, audio e video; - utilizzo di collegamenti ipertestuali (link) che consentono di indirizzare il navigatore verso altre pagine web del medesimo sito o di siti web differenti; - introduzione dei browser web, software semplici e intuitivi che con un’interfaccia grafica permettono all’utente di passare da un sito a un altro e visualizzarne le pagine. Mentre il web è un servizio della rete internet, il protocollo di rete a livello applicativo del Web si chiama HTTP. Altri famosi servizi sono la posta elettronica e il file sharing (condivisione file).
com descrive risorse associate ad attività commerciali, edu è tipicamente impiegato da enti educativi, org da organizzazioni non a scopo di lucro;
Ogni ISP utilizza il protocollo IP e si conforma alle regole e alle convenzioni previste da questo protocollo (generalmente tramite protocollo DHCP, Dynamic Host Configuration Protocol) —> richiesta = DHCP discover , in broadcast alla rete. Quando il server DHCP riceve la richiesta, esso risponde con l'indirizzo IP che gli sarà assegnato e potrà utilizzare. Con DHCP, l'indirizzo IP sarà assegnato al dispositivo fintanto che tale dispositivo rimane collegato alla rete. Una volta scollegato, l'indirizzo IP può essere assegnato a un altro dispositivo. Riassumendo, normalmente quando un ISP permette l’accesso alla rete a un determinato host, usa il protocollo DHCP per fornirgli l’indirizzo IP. Esiste anche un meccanismo alternativo a DHCP per assegnare un indirizzo IP a un host che accede alla rete. E' possibile richiedere al proprio ISP l'assegnazione di un indirizzo IP statico. Pagine HTML HTML utilizza dei tag (marcatori) per definire le regole di formattazione che il browser deve poi interpretare per comporre la pagina web. Ad ogni tag di apertura è associato il corrispettivo tag di chiusura usualmente identificato dal simbolo “/”.
La mia prima pagina web
Questa è la mia prima pagina in html.
Di tutto il codice scritto sopra, il browser mostrerà a video solamente il testo compreso tra gli elementi e , ovvero: Questa è la mia prima pagina in html.
Siti web dinamici : applicazione scritta in linguaggio server-side (tipicamente PHP o ASP.net) che provvede a generare e pubblicare le pagine del sito al momento della loro richiesta da parte del browser, variano il contenuto della pagina sulla base delle scelte fatte dell’utente, le informazioni sono estratte da una base di dati che le contiene. Una volta creata la struttura che dinamicamente produce le pagine, i contenuti possono essere inseriti e variati senza conoscere tecniche di programmazione di siti web —> sistema di gestione dei contenuti (CMS: Content Management System) quali Wordpress, Joomla, Drupal ecc. ◦ I contenuti devono essere^ regolarmente^ aggiornati ◦ devono essere elaborati dei^ dati forniti dall’utente ◦ sono necessarie^ modifiche all’aspetto grafico^ del sito in qualsiasi momento e con poco know-how: l’aspetto grafico di ogni pagina è facilmente editabile, senza dover ricorrere alla scrittura di istruzioni CSS. Browser web : software usati dai client per accedere alle informazioni del World Wide Web residenti sui server web. —> è fondamentale definire regole certe sulle modalità in cui un browser cerca e successivamente ottiene le informazioni di interesse = protocollo HTTP. I browser, quindi, sono essenzialmente programmi capaci di generare una richiesta HTTP quando ricerchiamo una pagina Web e interpretare il codice HTML della pagina ottenuta in risposta, visualizzando i suoi contenuti. Web application (o web app ): interi pacchetti applicativi resi fruibili attraverso l’utilizzo di un browser web HTML5 : applicazioni che sono caricate come pagine Web, ma possono archiviare dati localmente e continuare a funzionare offline (es. webmail, software CAD, app per editing video…) Reperimento delle informazioni sul web Per visualizzare informazioni provenienti da un sito web è necessario:
Il motore di un motore di ricerca