








































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 dei principali argomenti trattati nelle lezioni
Tipologia: Appunti
1 / 48
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!









































INFORMATICA --> scienza che studia l'elaborazione delle informazioni e le sue applicazioni. Più precisamente si occupa della rappresentazione, dell'organizzazione e del trattamento automatico dell'informazione.
-informazione: come rappresentare i dati in modo informatico?
-automatico: come funziona una macchina?
-trattamento: come istruire una macchina?
COME RAPPRESENTARE IN MODO INFORMATICO I DATI
CODICE : è un sistema di segni o simboli e di regole di composizione, pensati per rappresentare una qualche informazione (numero, lettera, immagine, suono).
Viene assegnata ad un informazione una particolare sequenza di simboli --> si crea una mappa BIUNIVOCA (partendo da un informazione precisa abbiamo un unica sequenza nel codice corrispondente a quell'informazione).
Quando si usano i codici sono coinvolti due processi:
(es. codice Morse e codice di Cesare)
CODICE BINARIO: modo in cui i computer memorizzano e elaborano informazioni, rappresentate secondo sequenze di BIT (binary digit)
I computer usano il sistema binario per due ragioni tecnologiche: la prima è che i transitor (ovvero il componente base delle memorie) hanno due stati di funzionamento (acceso/spento) e la seconda è per la correlazione con il sistema di numerazione binario (i calcoli matematici in binario sono facili da eseguire per un calcolatore)
Per rappresentare un numero maggiore di informazioni è necessario usare sequenze di bit (sequenze di simboli 0 e 1). Con due bit posso rappresentare 4 informazioni diverse (00-01-11-10).
Con una sequenza di N Bit (numero indefinito) riesco a codificare 2^N informazioni differenti --> con 4 bit riesco a rappresentare 16 informazioni diverse (2^4). Con 6 bit posso rappresentare 64 informazioni diverse.
Viceversa, se voglio sapere quanti bit mi servono per rappresentare quelle informazioni ⟶ 2^n >= M (informazioni diverse) --> per rappresentare 40 informazioni servono almeno 6 bit (2^6=64 > 40)
BYTE : sequenza di 8 bit. Viene usato per misurare la quantità di memoria di un dispositivo.
Multipli del byte:
-kilobyte --> 2^10 (1024 byte)
-megabyte --> 2^
-gigabyte --> 2^
-terabyte --> 2^
Il codice binario nasce da Leibniz. In uno dei suoi lavori aveva creato un sistema per fare dei conti basato su numeri che si potevano scrivere solo con 0 e 1.
Qualcosa di simile era già conosciuto dalla cultura cinese ⟶ nel Libro dei Mutamenti erano presenti 64 esagrammi (6 linee) di simbolo 1 (tratteggio pieno) e 0 (due trattini).
Con il codice possiamo rappresentare numeri, caratteri, video, suoni, immagini…
per ottenere una rappresentazione digitale:
per ottenere il numero corrispondente --> faccio il procedimento inverso
OVERFLOW --> quando si eccede il numero di bit destinati alla rappresentazione si genera un errore perché il numero non può essere gestito
Rappresentare le lettere dell'alfabeto ⟶ si usano le tabelle di corrispondenza (Coded Character set). Per ogni sequenza di bit c'è un carattere.
ASCII --> prima tabella diffusa (American Standard Code for Information Interchange)
Nasce in America e codifica cifre numeriche, lettere minuscole, maiuscole, punteggiatura.
Ad ogni carattere è associata una sequenza di 7 bit (2^7 = 128 caratteri diversi) ⟶ nella versione successiva diventano 8 bit per rappresentare ulteriori caratteri ( in alfabeti o lingue diverse).
Organizzata in 3 parti : i primi 31 caratteri erano di controllo (vai a capo, sposta a destra), dal 32 fino al 127 ci sono quelli stampabili e sono quelli anglosassoni, e quelli estesi sono dal 128 al 256. Per passare da lettera maiuscola a minuscola si cambia il terzo bit
operazione inversa: ogni 8 bit taglio la sequenza e identifico il carattere
-è un file che consiste in solo una sequenza di codici binari di caratteri.
-Il contenuto può essere non necessariamente testuale
-è il codice sorgente di tutti i linguaggi di programmazione per computer
ASCII ha avuto varie estensioni per includere simboli aggiuntivi, alcune standardizzate da ISO.
PROBLEMA! la stessa sequenza di un'estensione nella tabella 1 rappresenta una lettera, nella tabella 2 un altra.
MOJIBAKE ⟶ testo contiene caratteri sbagliati perché la tabella usata è sbagliata.
Per gestire un testo contenente parole di lingue diverse da loro --> nuova tabella di codifica UNICODE ⟶ copre la maggior parte dei simboli degli alfabeti usati in tutto il mondo. Inizialmente unicode usava 16 bit (65000 simboli), ora ne usa 21 (più di 2 mln di simboli diversi).
Occupano più del doppio dello spazio in memoria rispetto ad ascii + testi con tabella ascii non erano interpretabili con quella unicode --> proposto UTF-
UTF-8 ⟶ rappresenta tutto Unicode ⟶ la lunghezza delle sequenze non è più fissa ma con un numero variabile di byte --> i caratteri più usati vengono rappresentati con 8 bit (gli stessi di ascii). Per i caratteri rari usa sequenze di bit più grandi.
VANTAGGI --> copre tutto unicode, i caratteri codificati in ascii possono essere aperti, è la codifica predefinita per il formato xml e quella standard del web.
il numero di bit per rappresentare l’immagine è dato da RISOLUZIONE x PROFONDITA’
Esistono formati di compressione ⟶ vengono fatte strategie per comprimere l’informazione. Ciò comporta una perdita di informazione e di qualità.
Grafica vettoriale (SVG) ⟶ altra modalità per rappresentare immagini. Si descrivono gli oggetti nell’immagine dal punto di vista geometrico ⟶ definita un’asse e vengono elencati i componenti dell’immagine (le coordinate).
Possiamo ridimensionare l’immagine a piacere senza ridurne la qualità (non possibile con immagini bitmap). è un formato plain text ⟶ le istruzioni sono scritte in caratteri.
Variazione di pressione dell’aria dovuta da sorgente che emette suono e si propaga nel TEMPO. Può essere rappresentato come un’onda.
In informatica abbiamo strumento che permette di catturare il suono (microfono) che con membrana trasforma pressione in segnale elettrico.
campionamento ⟶ a certi intervalli regolari di tempo misuro quanto è ampia l’onda in quel particolare momento del tempo.
Ottengo una successione di ampiezze ⟶ stabilisco che per rappresentare una certa altezza mi serve una certa sequenza di bit ( quantizzazione ) ⟶ ad ogni campione associo una sequenza di bit in base all’altezza.
● Frequenza di campionamento: numero di campioni registrati al secondo. Più volte vado a campionare in un secondo, maggiore è il file audio. ● Dimensione di campionamento: numero di bit disponibili per memorizzare ciascun campione d’onda
Per comprimere ⟶ mp3 (qualità si perde)
Immagini una dopo l’altra, movimento dovuto alla velocità. Ogni immagine che compone il video si chiama FRAME (25 frame al secondo vengono visti come un’immagine continua).
Vengono messe in sequenza la codifica delle immagini che lo compongono
es. • 5 minuti di video (300 secondi) • 25 frame al secondo • risoluzione: 640 x 480, profondità: 16 bit ⟶ dimensione: 300 x 25 x (640 x 480 x 16) = 36.864.000.000 bit =4,3GB
Tecniche di compressione ⟶ nel frame successivo viene codificato solo ciò che è cambiato.
Il computer è un esecutore di programmi. Il programma è risultato di un’analisi di un problema, delle operazioni per la sua risoluzione (attraverso l’algoritmo) e dall’esecuzione delle istruzioni.
ALGORITMO ⟶ è un insieme finito di passi elementari (istruzioni) che, eseguiti secondo un ordine prestabilito, permettono di risolvere un determinato problema trasformando i dati di input in dati di output (o risultati) sfruttando la relazione tra input e output.
Come si costruisce?
Realizzazione pratica della Macchina di Turing Universale → permette di costruire calcolatori elettronici in grado di eseguire qualsiasi compito. L’architettura hardware del modello di Von Neumann è quella su cui è basata la maggior parte dei moderni computer programmabili.
ARCHITETTURA DI VON NEUMANN
1. Memoria Interna - Conserva i dati e le istruzioni necessari all’esecuzione del programma.
Decodifica le istruzioni dalla memoria interna e le esegue È composta da:
canale di comunicazione → collega tra loro le diverse unità , consentendo lo scambio dei dati. Composto da:
● hardware è l’insieme dei dispositivi meccanici , magnetici, elettrici ed elettronici che compongono un calcolatore ● software è l’insieme delle istruzioni e dei programmi usati per determinare le operazioni di un calcolatore
Sistema operativo
Software applicativi:
INTERNET E WEB
Importanti per le DH perchè Internet abilita numerosi servizi , tra cui il Web, che ha segnato profondamente le modalità della ricerca delle discipline umanistiche.
INTERNET → rete interconnessa di migliaia di reti e milioni di computer che collega aziende, istituti, agenzie governative, individui. ● Permette di fornire servizi (web, e-mail, app) ● Non è governata da o di proprietà di un singolo
Introdotto da Leonard Kleinrock nel 1964. Il messaggio viene suddiviso in pacchetti → ad ogni pacchetto vanno aggiunti: indirizzo mittente e destinatario, numero totale di pacchetti, numero progressivo del pacchetto.
ARPANET
Rete pre-cursore di Internet (1969) → rete di computer realizzata dalla DARPA
Siti/Applicazioni/Piattaforme Web di natura “ sociale ”, che supportano la comunicazione tra individui all'interno di gruppi o reti sociali. → Si passa da contenuti generati da “professionisti” a contenuti generati autonomamente dagli utenti (social network, blog)
Identificano le pagine web che sembrano corrispondere a parole chiave (query) immesse da un utente e forniscono le migliori corrispondenze.
Nascono nei primi anni '
Surface Web → indicizzato dai motori di ricerca Deep Web → parte del web che non viene indicizzata dai motori di ricerca (500 volte più grande del Surface Web) Dark Web → parte del deep web non accessibile dai browser tradizionali: richiede software specifico (Tor). Traffico crittografato e anonimizzato (onion routing). Viene usato per: scambio/vendita di dati, mercati illegali, terrorismo.
tcp ⟶ transmission control protocol
ip ⟶ internet protocol
si possono creare delle reti tra dispositivi diversi tra loro ma comunicano usando la stessa rete (vengono usati protocolli comuni).
PROTOCOLLI
● TCP ⟶ si occupa di permettere la comunicazione , stabilisce la connessione tra mittente e destinatario, si assicura che siano ricevuti correttamente (verifica degli errori).
Per associare gli indirizzi ip a dei nomi è stata definita un’organizzazione gerarchica.
● Hanno tutti una stessa radice , ovvero il punto (.). ● Sotto c’è il dominio di primo livello (o rappresentano il paese ⟶ it, uk o per ambito di utilizzo ⟶ com - commerciale, edu - sito università, org - organizzazioni). ● Sotto c’è quello di secondo livello, deciso autonomamente da chi crea l’indirizzo (univr). ● Possono esserci anche quelli di terzo livello (per identificare particolare servizio) ⟶ www
Il domain name system si occupa di convertire il nome di dominio nel corrispondente indirizzo IP. ha due caratteristiche: è distribuito su più computer ed è ridondante.
indirizzo che serve per recuperare una risorsa messa a disposizione dal computer in rete (dove si trova il tal documento nel computer).
Composto da:
● protocollo da utilizzare (es. http) ● dominio dove si trova la risorsa (www.univr.it) ● cartella sul server dove trovare la risorsa (/documenti/persona/foto) ● nome della risorsa o file (Foto756889.png)
3 livelli ⟶ al primo c’è il dorso del web , sono ad esempio i cavi sotterranei. Negli altri ci sono provider. Al secondo livello si connettono grandi aziende come Google. Noi invece ci colleghiamo al terzo.
Diverso da internet. Internet è una connessione tra dispositivi, il web invece è una connessione a livello di documenti. Il web è uno dei servizi che è stato possibile grazie a Internet.
Ci permette di accedere a documenti contenuti su computer differenti.
Nasce a fine anni 80 e inizio 90. Viene sviluppato da Tim Berners - Lee (lavorava presso il CERN di Ginevra). Si è accorto che recuperare info all’interno del cern era complicato, in particolare voleva sapere quali progetti c’erano in corso e quali strumenti venivano usati al cern. Si è costruito per sé un meccanismo per organizzare queste informazioni, attraverso il meccanismo del collegamento. Consentiva di collegare i dati relativi ai software, persone e progetti di ricerca.
Mette a disposizione questa tecnologia di chiunque in modo aperto e gratuito. Dal 91 iniziano ad esserci altre realtà che usavano lo stesso meccanismo.
Principi del web:
● decentralizzazione delle risorse ⟶ risorse distribuite su più computer ● universalità di accesso ⟶ chiunque , con qualsiasi dispositivo deve poter essere in grado di accedervi, indipendentemente dal dispositivo e dal software)
Il modello alla base del web è l’ipertesto ⟶ documento che contiene connessioni (link) ad altri documenti o altri oggetti (audio-video).
Il web non è di proprietà di un’azienda, ma di un'organizzazione che si occupa di gestire la tecnologia e le regole (world wide web consortium) ⟶ creato da Tim Barnes-Lee.
HTML
Ingredienti delle pagine web
● Hypertext Markup Language ⟶ Usato per organizzare la struttura di una pagina web ● Cascading Style Sheets (CSS) : • Fogli di stile • Usato per definire l’aspetto visuale ed estetico di un sito web (colori, stili, font, configurazione avanzata, ecc.) • Tutte le istruzioni di “formattazione” vengono raccolte in questi file, e poi possono essere “richiamate” da ogni pagina del sito.
HTML è un linguaggio di markup (annotazione), non di programmazione! •
● Non stiamo programmando la macchina per svolgere un particolare task computazionale ● Stiamo annotando un testo con dei tag • I tag servono ad indicare una determinata caratteristica del testo o elemento del documento (e.g., un intestazione, un paragrafo, un’immagine, ecc. e vengono poi interpretati da un particolare software (il web browser) per mostrare il contenuto secondo le specifiche dei tag usati
La prima versione di HTML pubblicata da Tim Berners-Lee nel 1991, l’ultima HTML 5.2, rilasciata come W3C Recommendation nel 2017.
● Un editor di file “di solo testo” (non un word processor come Microsoft Word!) ● Un browser web
definisce che tipo di documento andiamo a creare (non è un tag)
il primo tag che dobbiamo vedere in un sito web è il tag “html”, l’attributo “lang” indica la lingua principale del testo. (lang= “en”).
Ha due sotto elementi ⟶
● head (raccoglie i metadati della pagina, ad esempio titolo, autore, keyword) spiega di cosa si occupa la pagina ed è usato principalmente dai motori ricerca per far uscire le pagine. ● body ⟶ scritto il contenuto della pagina
Elementi di intestazione – ⟶ ci sono 6 livelli
Paragrafi di testo ⟶ indicano le unità di testo
Contenitori ⟶ servono per raggruppare elementi o contenuti per scopi di stile o perchè condividono valori di attributo (es. lingua).
● < div > .. ⟶ raggruppa contenuti di flusso, elementi (parte dello stesso contenitore) ● < span > .. ⟶ raggruppa caratteri che verranno trattati insieme.
Separatori
● < br /> indicano un ritorno a capo del testo (va marcato esplicitamente). E’ un self closing tag (un tag unico) ● < hr /> separazione esplicita tra parti di un testo
Enfatizzare il testo
● < i > .. indica che il testo è diverso o distinto dal normale testo in cui è inserito (quando si usa un termine di un altra lingua o termine tecnico ● < em >.. usato per sottolineare l’importanza di una parte di testo ● < strong > .. ulteriore importanza (in grassetto).