

























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
fondamenti di informatica, riassunto slide
Tipologia: Appunti
1 / 33
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


























Lezione1 7/03/ I SISTEMI IPERMEDIALI, INTERNET E IL WEB
Il più famoso sistema ipermediale è il web. Il concetto nasce negli anni ’30, quando Vannevar Bush inizia a pensare un estensione della memoria umana, memory extender (memex).
Nel 1945 pubblica “as we may think”, con l’obiettivo di creare un sistema in cui la rappresentazione della coscienza non fosse lineare ma reticolare. Memex non fu mai realizzato, ma venne solo provato. Una persona che ci provò fu Ted Nelson. A lui si deve il termine IPERTESTO (1965), ovvero testo non lineare, testo che viene scritto in maniera sequenziale. Rete di componenti collegati in modo arbitrario. GRAFO= costituito da dei nodi e archi (collegamenti) Si dice orientato se c’è un ordine di percorrenza nei collegamenti. Ogni nodo è caratterizzato dal proprio contenuto, che può essere costituito sia da tipi differenziati di media (testo, audio, immagini..) sia da uno o più nodi. Un elemento caratterizzante il contenuto di un nodo è l’ancora (link). E’ la parte qualsiasi del contenuto di un nodo. Essa rappresenta l’entità di partenza di ogni relazione del nodo con un altro nodo. Un nodo viene collegato ad un altro nodo attraverso un link che parte da un’ ancora per raggiungere un’altra ancora. MULTIMEDIA= collezione di componenti le cui relazioni e il cui ordinamento sono definiti dall’autore. Un multimedia contiene ameno tre diversi media. L’utente può controllare in modo limitato la presentazione. IPERMEDIA: ipert esto+multi media SOVRACCARICO COGNITIVO Rappresenta uno dei problemi endemici di un ipertesto. Si può definire come lo sforzo aggiuntivo e la concentrazione addizionali necessari per gestire contemporaneamente numerosi compiti e cammini e per organizzare dentro di sé delle strutture cognitive. QUANDO NASCE IL WEB? Nel 1989, un gruppo di ricercatori informatici del CERN ricevettero l’incarico da parte di realizzare un meccanismo per la diffusione rapida di articoli, appunti e opinioni tra i fisici che ruotavano attorno al centro. Tim Berners-Lee e Robert Cailliau vengono considerati gli inventori del web. Nell’ottobre del 1990 identificano le tre principali tecnologie alla base del web: HTML, URI, http. Nel 1991 mostrarono il primo prototipo della loro applicazione realizzata su NeXT: World Wide Web. Cailiau disegna il logo del “www” e il 30 aprile 1993 il CERN pubblica la primissima pagina web della storia, aprendo www. COS’E’ IL WEB? Il www è un sistema per la presentazione a schermo di documenti multimediali, e per l’utilizzo di link ipertestuali per la navigazione. Il sistema è distribuito e scalato su tutta la rete internet, ed è basato su alcuni concetti: Il client o browser, è un visualizzatore di documenti ipertestuali e multimediali. Pupo visualizzare testi, immagini e interfacce grafiche, ma non permette di editare documenti.
efficientemente in termini di comunicazione, grazie a un insieme di regole comuni, dette protocolli. QUANDO NASCE INTERNET? Il progenitore della rete Internet è considerato il progetto ARPANET , finanziato dall’agenzia statunitense DARPA (Defence Advanced Research Projects Agency). La rete venne fisicamente costruita nel 1969 collegando 4 calcolatori di 4 università americane: l'Università della California di Los Angeles, l'SRI di Stanford, l'Università della California di Santa Barbara, e l'Università dello Utah. L'ampiezza di banda era di 50 Kbps. Negli incontri per definire le caratteristiche della rete, vennero introdotti i fondamentali Request for Comments , tuttora i documenti fondamentali per tutto ciò che riguarda i protocolli informatici della rete. WORLD WIDE WEB Il Web rappresenta uno dei servizi offerti da Internet. Altri servizi sono per esempio la posta elettronica, gli instant messaging, il VoiP (Voice over IP - Voce tramite protocollo Internet). Il Web è la principale architettura informativa basata su Internet: si tratta di un insieme di nodi fisicamente distanti e diversi, connessi tra di loro secondo una filosofia ipertestuale. CHE FORMA HA IL WEB? Il web è un posto in cui ognuno può inserire il proprio contributo. Il web è ordinato, risponde ad una serie di regole. Il Web presenta una struttura molto simile a molte altri reti complesse, dette ad invarianza di scala: o Internet o Reti cellulari o Reti ecologiche o Rete di trasmissione malattie infettive o Reti telefoniche o Reti neurali o Reti di citazioni … ma la più estesa rete per la quale sia disponibile informazione topologica. Esempio: Small world (esperimento di Milgram) Clustering, ovvero il Web è caratterizzato dalla presenza di connettori ( hub ). Distribuzione dei gradi ESPERIMENTO MILGRAM Il concetto di small world fu per primo intuito nel lontano 1965 dallo psicologo sociale Stanley Milgram (Travers and Milgram 1969).
Nell’ambito di un lavoro che mirava alla descrizione delle reti di relazioni sociali che componevano una comunità, Milgram svolse un esperimento: recapitò ad un paio di centinaia di persone scelte a caso nel Kansas e nel Nebraska, regioni assai decentrate e poco popolate degli USA, un pacchetto, chiedendo loro di inviarlo ad un destinatario, residente nell'area di Boston, Massachussets, costa occidentale. Ognuna delle persone coinvolte nell’esperimento conosceva il nome del destinatario, la sua occupazione, e la zona in cui risiedeva, ma non l'indirizzo preciso. Milgram chiese dunque a tutti i partecipanti all’esperimento di inviare il proprio pacchetto a una persona da loro conosciuta, che a loro giudizio avesse il maggior numero di possibilità di conoscere il destinatario finale. Quella persona avrebbe fatto lo stesso, e così via fino a quando il pacchetto non venisse personalmente consegnato al destinatario finale. Il risultato dell’esperimento di Milgram fu che i pacchetti, escludendo una percentuale del circa 30%, che andò persa, raggiunsero il destinatario con una media di 6 intermediari (i famosi 6 gradi di separazione). Il risultato dell’esperimento di Milgram fu che i pacchetti, escludendo una percentuale del circa 30%, che andò persa, raggiunsero il destinatario con una media di 6 intermediari (i famosi 6 gradi di separazione). Il risultato dell’esperimento di Milgram fu che i pacchetti, escludendo una percentuale del circa 30%, che andò persa, raggiunsero il destinatario con una media di 6 intermediari (i famosi 6 gradi di separazione). Il risultato dell’esperimento di Milgram fu che i pacchetti, escludendo una percentuale del circa 30%, che andò persa, raggiunsero il destinatario con una media di 6 intermediari (i famosi 6 gradi di separazione). Il risultato dell’esperimento di Milgram fu che i pacchetti, escludendo una percentuale del circa 30%, che andò persa , raggiunsero il destinatario con una media di 6 intermediari (i famosi 6 gradi di separazione). Questo avviene perché all’interno delle comunità esistono dei legami stretti fra familiari e pochi amici; ogni persona ha però un gran numero di legami più blandi stabiliti con persone che vivono lontano. Come notato dal sociologo Mark Granovetter, proprio questi ultimi legami sono quelli che consentono di arrivare ad ogni altra persona nel mondo; essi infatti fungono da “scorciatoie” o punti di passaggio che fanno saltare in un ambiente completamente nuovo. SMALL WORLD Il concetto di small world trova applicazione nel Web e porta al risultato, studiato e descritto da Albert e Barabási nel 2002: dati due nodi qualsiasi del Web, si indichino essi con p e q , tra essi non esiste un cammino che da p conduca a q in un numero finito di click, oppure, se tale cammino esiste, il numero medio di click per visualizzare il nodo q partendo dal nodo p è in media molto piccolo (circa 19), a dispetto dell’ elevato numero di nodi presenti nel Web. Nonostante le loro enormi dimensioni, nella maggior parte delle reti esiste un cammino relativamente breve per ogni coppia di nodi. Diametro: distanza media tra qualsiasi coppia di nodi: d = 0,35+2,06 log(n) Diametro del Web nel 2004 d= 19 È interessante notare che d cresca di pochissimo (da 19 a 21 click) per un incremento del 1.000% delle dimensioni del Web.
I nostri smartphone contengono sensori per geolocalizzarci; per tracciare le nostre velocità di spostamento; per riconoscere le nostre impronte digitali. Tutti questi sono big data Lezione
Il termine informatica fu coniato negli anni ’60 dal francese Philippe Dreyfus dalla contrazione dei termini information e automatique per indicare la disciplina tecnico-scientifica che si occupa della progettazione e della costruzione di macchine in grado di trattare, o elaborare, in modo automatico l’informazione. L’informatica identifica l’insieme dei processi e delle tecnologie che rendono possibile la creazione, la raccolta, l’elaborazione, l’immagazzinamento e la trasmissione dell’ informazione con metodi automatici. Sotto la definizione di ICT (Information & Communication Technology) rientra un enorme numero di tecnologie di uso quotidiano, quali: o Server o PC o telefoni cellulari o televisioni o radio o lettori mp o registratori audio o macchine fotografiche o CD e DVD o memorie flash o commercio elettronico o social network INFORMAZIONE Il termine “ informazione ” assume significati e valenze differenti in relazione ai contesti in cui è utilizzato. Nell’ambito dell’informatica è importante mettere in relazione il significato di questo termine con quello di altri due: dato conoscenza Dato, informazione e conoscenza si collocano rispettivamente su tre livelli di astrazione (crescente) Un dato è un insieme di simboli. Il dato diventa informazione quando viene organizzato in modo da essere comprensibile e significativo per l’utente destinatario.
A un livello di astrazione maggiore, si può parlare di conoscenza quando si dispone di regole che permettono di trarre vantaggio da tale informazione. La sequenza di simboli “100 m” scritta su un foglio costituisce un dato. Affermare che 100 m rappresenta la lunghezza del lato di un appezzamento di terreno quadrato è informazione. La conoscenza può essere espressa sotto forma di regole che specificano che l’area di quell’appezzamento misura 10.000 mq. DATO (numeri, suoni, foto e video) -- ELABORAZIONE -- INFORMAZIONE (lettere, tabelle) L’informazione è rappresentata da dati, che a loro volta sono espressi sotto forma di simboli. La stessa informazione può però essere codificata con simboli e modalità diverse. COS’E UN CALCOLATORE? Un calcolatore è un esecutore di programmi , che utilizza componenti elettronici per elaborare le informazioni. Il calcolatore modifica radicalmente la sua finalità in base al programma che sta eseguendo. A esempio, si può usare lo stesso calcolatore per: scrivere testi; per montare filmati; per creare un sito Web; per condividere musica; per giocare; per scrivere in un forum; Il calcolatore elettronico è simile ad un qualsiasi elettrodomestico, ma: o gli elettrodomestici o uso specifico; o funzione determinata dall’interazione tra I componenti fisici. i calcolatori: sono macchine universali in grado di svolgere un numero potenzialmente infinito di compiti; per passare da un’operazione all’altra non occorre modificare i componenti fisici; la RAM (Random Memory Access) permette di memorizzare ed eseguire le istruzioni. COMPONENTI DI UN CALCOLATORE Hardware : è tutto quanto ha consistenza fisica tangibile. Solitamente contiene circuiteria elettronica. In termini molto pittoreschi si può dire che è hardware tutto quello che si può rompere a martellate. Software : Insieme di dati e istruzioni che sono memorizzate dell’hardware e ne regolano il funzionamento. Software è un neologismo nato in contrapposizione a hardware.
è l'unico linguaggio che la CPU (Central Processing Unit) comprende. II generazione: o linguaggi assemblativi = le istruzioni e i dati sono sostituiti da espressioni mnemoniche della loro funzione; o questo linguaggio va tradotto in linguaggio macchina tramite un assemblatore. Codice sorgente: insieme di istruzioni mnemoniche Codice oggetto: traduzione del codice sorgente in linguaggio macchina III generazione: o Linguaggi procedurali = la sintassi e le parole si arricchiscono di elementi che “riassumono” funzioni più complesse in un'unica istruzione. o Il codice assomiglia sempre più a espressioni del linguaggio naturale. Un traduttore si occupa di sciogliere le espressioni complesse ( codice sorgente ) in codice oggetto , ossia in linguaggio macchina: il traduttore si chiama: compilatore se produce una versione del programma in linguaggio macchina che poi viene eseguita; interprete se esegue la traduzione in progressione col codice sorgente
Un sistema operativo è un programma che viene eseguito prima di qualsiasi altro programma; esso infatti permette di far interagire l’elaboratore con l’utente. o Gestire le risorse del computer o Gestire l'interazione tra utente e programmi o Gestisce gli errori MS-DOS-Linux-Windows-Mac OS-Tizen di Linux Foundation-Firefox OS di Mozilla-Microsoft Windows Phone-Apple Ios
Un algoritmo è un procedimento formale che risolve un determinato problema attraverso un numero finito di passi. Il termine trae la sua origine dalla latinizzazione del nome del matematico persiano Muhammad ibn Musa al-Khwarizmi , astronomo e matematico persiano del IX secolo. La formulazione di un algoritmo in un linguaggio di programmazione è definita programma : esso è una sequenza logicamente ordinata di un insieme di istruzioni che produce soluzioni per una data classe di problemi. Categorie di programmi applicativi sono: o Browser per navigare su Web; o I client di mail; o I programmi di videoscrittura; o I fogli elettronici; o I programmi per gestire le basi di dati;
o I programmi di grafica; o I programmi per la gestione di audio e video; …. Esempi di programmi applicativi: Word, Excel, PowerPoint, KomodoEdit, iPhoto, etc.. Quando nasce il primo elaboratore? XVII secolo: o il primo regolo calcolatore ad opera del matematico inglese William Oughtred: esso consentiva: moltiplicazioni, divisioni, elevamenti a potenza, logaritmi decimali e funzioni trigonometriche; o la Pascalina , ad opera del filosofo e matematico francese Blaise Pascal: una calcolatrice meccanica in grado di eseguire addizioni e sottrazioni avvalendosi di una serie di ruote dentate; o lo Stepped Reckoner , ad opera del filosofo e matematico tedesco Gottfried Wilhelm von Leibniz: una calcolatrice meccanica a manovella in grado di eseguire le quattro operazioni aritmetiche. XIX secolo: o l’ analytical engine , ad opera del filosofo e matematico inglese Charles Babbage: una macchina in grado di operare in input e output su schede; o un programma per far calcolare all’analytical engine i numeri di Bernoulli , ad opera della matematica inglese Ada King, contessa di Lovelace; Ada King viene considerata come la prima programmatrice della storia dell’informatica. Comprese per prima che l’analytical engine potesse operare non solo su numeri ma anche su parole e suoni. Durante la Seconda Guerra Mondiale vi furono tre flussi paralleli di sviluppo: o in Germania, Konrad Zuse realizzò, tra il 1936 e il 1941, prototipi di calcolatore basati su relè elettromagnetici; o a Londra, Tommy Flowers progettò e realizzò, tra il 1943 e il 1944, Colossus , il primo calcolatore completamente elettronico (basato su valvole termoioniche); o negli USA, nel 1946 John Mauchly e John Presper Eckert realizzarono ENIAC (Electronic Numerical Integrator and Computer), il primo calcolatore elettronico universale (general purpose), in grado di eseguire 500 addizioni o sottrazioni al secondo. La sua programmazione impiegava 6 persone che dovevano operare su singoli interruttori e cavetti. DA ENIAC A EDVAC Mauchly ed Eckert, riconoscendo i limiti imposti dalla tecnica di programmazione adottata per ENIAC, intrapresero la progettazione di EDVAC (Electronic Discrete Variable Automatic Computer), un calcolatore elettronico programmabile che si discostava dal precedente essenzialmente per: o l’impiego di aritmetica binaria (e non decimale); o l’utilizzo di un unico dispositivo di memoria per istruzioni e dati.
PB (Petabyte) 1015 byte EB (Exabyte) 1018 byte ZB (Zettabyte) 1021 byte YB (Yottabyte) 1024 byte b/B e multipli nel sistema binario Simbolo (Nome) Sistema binario b (binary digit - bit) Unità minima di informazione 0- B (byte ) 8 bit = 2^3 bit kib (kibibit) 210 bit kiB (kibibyte) 210 byte = 1024 byte MiB (mebibyte) 220 byte = 1.048.576 byte GiB (gibibyte) 230 byte = 1.073.741.824 byte TiB (tebibyte) 240 byte = 1.099.511.627.776 byte PiB (Pebibyte) 250 byte EiB (Exbibyte) 260 byte ZB (Zebibyte) 270 byte YB (Yobibyte) 280 byte SISTEMA DI NUMERAZIONE POSIZIONALE Il sistema di numerazione decimale che utilizziamo correntemente è un sistema cosiddetto posizionale, ovvero dove conta la posizione di ogni cifra rispetto alle altre. Esempio. Si pensi alla classica sequenza di zeri posti prima o dopo una qualsiasi cifra, il numero 0000004=4 è molto diverso da 4000000=quattro milioni. Più formalmente possiamo dire che in base dieci esistono dieci valori (da 0 a 9) che possono essere rappresentati con una sola cifra, per i valori più grandi di 9 si accostano tra loro più cifre. A seconda della posizione delle cifre, queste assumono un significato diverso. Si parla infatti di unità, decine, centinaia, e così via SISTEMA DI NUMERAZIONE ADITTIVO Non tutti i sistemi di numerazione sono posizionali. Tra altri sistemi il più diffuso è quello additivo , in cui il significato dei simboli che compongono il numero è indipendente dalla loro posizione. Il sistema additivo più semplice è quello in cui si utilizza un solo simbolo, che rappresenta l’unità, e ogni numero è scritto con tanti simboli di unità quanto è il suo valore. Il sistema di numerazione romano dispone di diversi simboli, ad esempio I, V, X, L, C, D, M valgono rispettivamente 1, 5, 10, 50, 500, 1000, ma la loro disposizione è additiva. Ad esempio il numero 3 si rappresenta come III. IN BASE DUE OGNI NUMERO ELEVATO ALLA SUA POSIZIONE SISTEMA DECIMALE Il numero in 317 in base dieci può essere interpretato come 3 centinaia, 1 decina e 7 unità ossia:
237= 710 alla 0 + 310 alla 1 + 210 alla 2 SISTEMA BINARIO Allo stesso modo si interpreta un numero in base due. Si noti che in questo caso la base (2) viene scritta come pedice accanto al numero. Per convenzione se non è riportata alcuna base si assume che essa è quella decimale. Ad esempio 100101 vale: 1001012 = 12^5 + 02^4 + 02^3 + 12^2 + 02^1 + 12^0 = = 32 + 0 + 0 + 4 + 0 + 1= 37 10 in base 2= 02 alla 0 + 12 alla 1 = 1011 base 2= 12 alla 0 + 12 alla 1 + 02 alla 2 + 12 alla 3= 11 ESEMPI Quanto valgono in decimale i seguenti numeri binari? o 1012 = 12^2 + 02^1 + 12^0 = 4 + 1= 5 (in base 10) o 1112 = 12^2 + 12^1 + 12^0 = 4 + 2 + 1= 7 (in base 10) o 0002 = 02^2 + 02^1 + 02^0 = 0 + 0 + 0 = 0 (in base 10) o 10002 = 12^3 + 02^2 + 02^1 + 02^0 = 8 + 0+ 0 + 0 = 8 (in base 10) o 102 = 12^1 + 02^0 = 2 (in base 10) Dall’ultimo esempio, ricaviamo una regola generale: in ogni base, la base si rappresenta con
Così in base 10, la base si rappresenta con 10. In base 2, la base (appunto il nostro 2 decimale) si rappresenta con 10 2. Si noti ancora che i numeri che terminano con 1 sono dispari in base 10, meglio quelli che terminano con 0 sono pari in base 10 LEZIONE 14/03/ Numero più grande che posso scrivere è 2 n - Quante parole diverse posso scrivere= 2 n 0123456789(10)B(11)C(12)D(13)E(14)F(15) Si arriva fino ad F perché si va da 0 fino a 15
La tabella Unicode è una codifica gestita e diffusa da Unicode Consortium; inizialmente pensato a 2 byte (16 bit per un totale di 65 536 caratteri) prevede ora la possibilità di impiegare fino a 21 bit (oltre 2 milioni di caratteri diversi. Esso ingloba l’ASCII esteso nella versione Latin1, i caratteri utilizzati in quasi tutte le lingue vive e alcune lingue morte, ideogrammi, l’alfabeto Braille, simboli matematici, chimici e cartografici. Useremo in HTML5, la codifica UTF-8 (Unicode Transformation Format, 8 bit): si tratta di una codifica dei caratteri Unicode in sequenze di lunghezza variabile di byte, creata da Rob Pike e Ken Thompson. UTF-8 usa gruppi di byte per rappresentare i caratteri Unicode.
Le frasi del linguaggio naturale possono essere affermative, esclamative, interrogative, imperative. Le frasi affermative possono essere vere o false. o Maria mangia la mela. o Oggi piove. o 3 è un numero primo. o Il gatto è un felino. In logica (proposizionale), esse vengono chiamate proposizioni. Proposizioni semplici sono le proposizioni non scomponibili. Esse non contengono altre frasi come componenti. Data una proposizione semplice, essa può assumere due valori di verità: o VERO o FALSO una proposizione scomponibile in una o più proposizioni semplici è detta composta. o Se un numero è pari, allora è divisibile per due. o Oggi c’è il sole e vado al mare.
A partire dalle proposizioni, George Boole , matematico e logico inglese, formalizzò, a metà del 1800, un sistema algebrico, detto algebra di Boole. Una proposizione semplice suscettibile di assumere due soli valori di verità si dice variabile booleana. I valori di verità sono indicati in genere con le coppie: o 1 – 0 o Vero – falso o On – Off Gli esempi di preposizioni semplici elencati prima sono variabili booleane. Date due variabili booleane A e B, è possibile applicare loro una funzione booleana F F(A, B) = C A e B sono dette variabili indipendenti, C variabile dipendente. Operatori booleani elementari sono: NOT END OR
L’operatore NOT (negazione) nega il valore di verità assunto dalla variabile booleana. Si tratta di un operatore unario. Esistono varie notazioni: C= NOT(A) = A =!A Tavola di verità del NOT A NOT A 0 1 1 0
L’operatore NOR è si ottiene combinando due operatori: NOT e OR. Genera un valore vero solo se entrambe le variabili sono false. C = NOR(A, B) = A + B = A∨ B Tavola di verità di NOR
L’operatore NAND è si ottiene combinando due operatori: NOT e AND. Genera un valore falso solo se entrambe le variabili sono vere. C = NAND(A, B) = A.^ B = A ∧ B Tavola di verità di NAND A B NAND(A, B) 0 0 1 0 1 1 1 0 1 A B NOR(A, B) 0 0 1 0 1 0 1 0 0 1 1 0
1 1 0
L’operatore XOR (OR esclusivo) genera un valore vero se le due variabili assumono valore di verità diverso. Operatore binario. C = XOR(A, B) = A + B Tavola di verità di XOR CIRCUITI LOGICI Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull’1. I mattoni fondamentali dei circuiti logici sono le porte logiche, che si basano sui 6 operatori dell’algebra di Boole. A B XOR(A, B) 0 0 0 0 1 1 1 0 1 1 1 0