Dati, Web e Contenuti Digitali: Informatica e gestione dati sul web

Slide su Dati, Web e Contenuti Digitali, che esplora i fondamenti dell'informatica, dalla definizione all'elaborazione dei dati. Il Pdf approfondisce la codifica dell'informazione, i concetti di bit e byte, le unità di misura e la sicurezza informatica, inclusi malware, DDoS, firewall e VPN, con strategie di backup. Questo documento universitario di Informatica introduce anche la gestione dei dati sul web, con focus sui database NoSQL e la scalabilità.

See more

68 Pages

Dati, Web e Contenuti digitali 26.09.2023
Informatica = Infor(mation) (auto)matique
L’informatica è la scienza che studia l’elaborazione delle informazioni e le sue applicazioni: si occupa della
rappresentazione, dell’organizzazione e del trattamento automatico delle informazioni o, più specificamente,
dell’elaborazione di dati per mezzo di calcolatori elettronici
alcune parole chiave e concetti avanzati che mostrano l’importanza della interdisciplinarietà tra mediazione
linguistica e scienze informatiche
Linguistica computazionale (Computational Linguistics)
Semantica Computazionale
Elaborazione del Linguaggio Naturale (Natural Language Processing, NLP) algoritmi di AI in grado di
analizzare, rappresentare e quindi comprendere il linguaggio naturale le cui finalità possono variare dalla
comprensione del contenuto, alla traduzione, fino alla produzione di testo in modo autonomo a partire da dati
o documenti forniti in input
Analisi del sentiment (Sentiment Analysis)
Intelligenza Artificiale generativa (Generative Artificial Intelligence, GenAI) sviluppa sistemi informatici
intelligenti in grado di simulare la capacità e il comportamento del pensiero umano
Apprendimento automatico (Machine Learning)
Chatbot e chatGPT è un chatbot basato su AI e apprendimento automatico specializzato nella
conversazione con un utente umano. La sigla GPT sta per Generative Pre-trained Transformer, un recente
framework per AI generativa
La codifica dell’informazione 02.10.23
L’informatica è l’elaborazione automatica dell’informazione informazione, dal latino, significa ‘’dare forma
alla mente’, ‘’insegnare’’ ed è un concetto astratto che definisce un concetto, idea, dato che fornisce
(trasmette) conoscenza su un fatto, argomento, fenomeno
Per essere utilizzata (da una persona o da un elaboratore), l’informazione deve essere rappresentata in
maniera appropriata. Esempi: la lingua parlata permette di comunicare (trasmettere l’informazione) attraverso
il suono e la scrittura e il disegno permettono di trasmettere l’informazione tramite documenti e libri
La codifica è l’insieme di convenzioni e di regole da adottare per trasformare un’informazione in una sua
rappresentazione
comprensibile all’interlocutore
adatta al tipo di elaborazione che si vuole applicare
La stessa informazione può essere codificata in modi (rappresentazioni) diverse, a seconda del contesto
(culturale, tecnologico)
Un codice è:
un insieme di simboli (alfabeto)
un insieme di regole di composizione per creare rappresentazioni valide (sequenze di simboli dell’alfabeto)
Il numero di sequenze che possiamo esprimere dipende dalla lunghezza della sequenza
se abbiamo un alfabeto di k simboli
e messaggi di lunghezza L
possiamo calcolare il numero N di sequenze che compone il codice come: 𝑁 = 𝑘^L
alfabeto = {♥,♦,♣,♠}, quindi 𝑘 = 4
Quante sequenze N possiamo codificare se la lunghezza dei messaggi è:
𝐿 = 1 𝑁 = 4^1 = 4
𝐿 = 2 𝑁 = 4^2 = 16
𝐿 = 3 𝑁 = 4^3 = 64
- Codice a lunghezza fissa: tutte le sequenze generate usano esattamente lo stesso numero di simboli
- Codice a lunghezza variabile: codice permette di utilizzare un numero diverso di simboli per diverse
rappresentazioni, assegnando una codifica più corta (e quindi più efficiente e facile da gestire) per
informazioni presenti con maggiore probabilità di utilizzo
es.: nella lingua italiana, la lettera ‘’A è presente con una probabilità 20 volte maggiore della lettera ‘’Z’’
vincoli: una sequenza ‘’corta’’ deve essere comunque univoca (non può apparire come ‘’prefisso’ di
una sequenza più lunga)
bisogna prevedere un simbolo per indicare la fine di una rappresentazione e l’inizio di un’altra, visto
che non possiamo basarci sul numero fisso di simboli
Nel contesto della elaborazione automatica da parte di un calcolatore, la codifica utilizzata per l’informazione è
determinata dal concetto di bit (binary digit) = l’unità minima di informazione memorizzabile o elaborabile da
un calcolatore che può assumere solo due valori, come convenzione ‘’0’ e ‘’1’’
Di conseguenza, ogni elemento di informazione che deve essere elaborato da un calcolatore, viene codificato
usando la codifica binaria basata su un alfabeto composto da 2 soli simboli (𝑘 = 2) viene quindi
rappresentato da una sequenza di ‘’0’’ e ‘’1’
Esempio 1 codice binario per i nomi delle stagioni (primavera, estate, autunno, inverno)
alfabeto = {0,1}, k=2 𝑁 = 4
quanto deve essere la lunghezza dei messaggi (cioè, quanti bit servono per codificare tutti i messaggi)?
avevamo visto: 𝑁 = 𝑘^𝐿 se ci serve L 𝑳 = I𝒍𝒐𝒈𝒌 𝑵I dove le 2 ‘’parentesi’’ indicano la funzione di ceiling
(che ritorna il più piccolo numero intero non minore dell’argomento) quindi 𝑳 = 𝒍𝒐𝒈𝟐 𝟒 = 𝟐 = 𝟐 2 bit bastano
a rappresentare tutte e 4 le stagioni
codifica binaria primavera 00, estate 01, autunno 10, inverno 11
Memoria di massa e bit L’informazione in forma di sequenza di bit è memorizzata dentro un calcolatore su
una memoria di massa, pronta a essere letta e elaborata
Componente elettronica all’interno del calcolatore dedicata alla memorizzazione delle sequenze di bit
rappresentanti gli elementi di informazione
chiamato disco rigido o fisso (hard disk, HDD) anche se i dispositivi attuali (Solid State Drive, SSD) sono
simili alle memorie utilizzate nelle chiavette USB e schede microSD (memorie flash)
Rapporto con il concetto di bit (semplificando parecchio):
la memoria contiene una griglia di piccole ‘’celle di memoria’’ elettroniche ogni cella può avere due soli stati
possibili, accesa o spenta
dati dal livello, alto o minimo, di corrente elettrica che la attraversa di conseguenza, ogni cella contiene il
valore di un bit dove accesa=‘’1’’ e spenta=‘’0’
In informatica, si considera una codifica binaria a lunghezza fissa, con L=8
Byte = sequenza di 8 bit 1 byte può rappresentare quindi 2^8=256 valori
rappresenta l’unità di misura di informazione digitale e tutte le informazioni
contenute in memoria sono rappresentate da multipli di byte
I termini più usati sono quelli indicati in tabella sono
espressi in base 10, seguendo i prefissi indicati dal Sistema Internazionale delle
unità di misura (SI)
Ma per la natura stessa del byte, la notazione più corretta dovrebbe essere in
base 2 ad es.: con 2 10=1024 il valore per il multiplo dell’ordine delle migliaia
invece che 103=1000 e questo ha portato a ambiguità nell’utilizzo dei nomi dei
multipli, dove a volte venivano usati per numeri di byte espresso in una
notazione piuttosto che un’altra

Unlock the full PDF for free

Sign up to get full access to the document and start transforming it with AI.

Preview

Informatica: Elaborazione delle Informazioni

26.09.2023 Informatica = Infor(mation) (auto)matique L'informatica è la scienza che studia l'elaborazione delle informazioni e le sue applicazioni: si occupa della rappresentazione, dell'organizzazione e del trattamento automatico delle informazioni o, più specificamente, dell'elaborazione di dati per mezzo di calcolatori elettronici

-> alcune parole chiave e concetti avanzati che mostrano l'importanza della interdisciplinarietà tra mediazione linguistica e scienze informatiche

  • Linguistica computazionale (Computational Linguistics)
  • Semantica Computazionale
  • Elaborazione del Linguaggio Naturale (Natural Language Processing, NLP) -> algoritmi di Al in grado di analizzare, rappresentare e quindi comprendere il linguaggio naturale le cui finalità possono variare dalla comprensione del contenuto, alla traduzione, fino alla produzione di testo in modo autonomo a partire da dati o documenti forniti in input
  • Analisi del sentiment (Sentiment Analysis)
  • Intelligenza Artificiale generativa (Generative Artificial Intelligence, GenAI) -> sviluppa sistemi informatici intelligenti in grado di simulare la capacità e il comportamento del pensiero umano
  • Apprendimento automatico (Machine Learning)
  • Chatbot e chatGPT -> è un chatbot basato su Al e apprendimento automatico specializzato nella conversazione con un utente umano. La sigla GPT sta per Generative Pre-trained Transformer, un recente framework per AI generativa

La Codifica dell'Informazione

02.10.23 L'informatica è l'elaborazione automatica dell'informazione -> informazione, dal latino, significa "dare forma alla mente', "insegnare" ed è un concetto astratto che definisce un concetto, idea, dato che fornisce (trasmette) conoscenza su un fatto, argomento, fenomeno Per essere utilizzata (da una persona o da un elaboratore), l'informazione deve essere rappresentata in maniera appropriata. Esempi: la lingua parlata permette di comunicare (trasmettere l'informazione) attraverso il suono e la scrittura e il disegno permettono di trasmettere l'informazione tramite documenti e libri La codifica è l'insieme di convenzioni e di regole da adottare per trasformare un'informazione in una sua rappresentazione

  • comprensibile all'interlocutore
  • adatta al tipo di elaborazione che si vuole applicare

La stessa informazione può essere codificata in modi (rappresentazioni) diverse, a seconda del contesto (culturale, tecnologico) Un codice è:

  • un insieme di simboli (alfabeto)
  • un insieme di regole di composizione per creare rappresentazioni valide (sequenze di simboli dell'alfabeto) Il numero di sequenze che possiamo esprimere dipende dalla lunghezza della sequenza
  • se abbiamo un alfabeto di k simboli
  • e messaggi di lunghezza L
  • possiamo calcolare il numero N di sequenze che compone il codice come: N = k^L alfabeto = {v,*,*,{}, quindi k = 4 Quante sequenze N possiamo codificare se la lunghezza dei messaggi è: L =2 ->N=4^2 =16 L=3->N=4^3 =64

Codice a Lunghezza Fissa e Variabile

  • Codice a lunghezza fissa: tutte le sequenze generate usano esattamente lo stesso numero di simboli
  • Codice a lunghezza variabile: codice permette di utilizzare un numero diverso di simboli per diverse rappresentazioni, assegnando una codifica più corta (e quindi più efficiente e facile da gestire) per informazioni presenti con maggiore probabilità di utilizzo es .: nella lingua italiana, la lettera "A" è presente con una probabilità 20 volte maggiore della lettera "Z"
  • vincoli: · una sequenza "corta" deve essere comunque univoca (non può apparire come "prefisso" di una sequenza più lunga) · bisogna prevedere un simbolo per indicare la fine di una rappresentazione e l'inizio di un'altra, visto che non possiamo basarci sul numero fisso di simboli

Codifica Binaria e Bit

Nel contesto della elaborazione automatica da parte di un calcolatore, la codifica utilizzata per l'informazione è determinata dal concetto di bit (binary digit) = l'unità minima di informazione memorizzabile o elaborabile da un calcolatore che può assumere solo due valori, come convenzione "0" e "1" . Di conseguenza, ogni elemento di informazione che deve essere elaborato da un calcolatore, viene codificato usando la codifica binaria · basata su un alfabeto composto da 2 soli simboli (k = 2) · viene quindi rappresentato da una sequenza di "0" e "1" Esempio 1 -> codice binario per i nomi delle stagioni (primavera, estate, autunno, inverno) · alfabeto = {0,1}, k=2 · N = 4 · quanto deve essere la lunghezza dei messaggi (cioè, quanti bit servono per codificare tutti i messaggi)? - avevamo visto: N = k^L -> se ci serve L -> L = Ilogk NI . dove le 2 "parentesi" indicano la funzione di ceiling (che ritorna il più piccolo numero intero non minore dell'argomento) . quindi L = log2 4 = 2 = 2 -> 2 bit bastano a rappresentare tutte e 4 le stagioni codifica binaria -> primavera 00, estate 01, autunno 10, inverno 11

Memoria di Massa e Byte

Memoria di massa e bit -> L'informazione in forma di sequenza di bit è memorizzata dentro un calcolatore su una memoria di massa, pronta a essere letta e elaborata

  • Componente elettronica all'interno del calcolatore dedicata alla memorizzazione delle sequenze di bit rappresentanti gli elementi di informazione
  • chiamato disco rigido o fisso (hard disk, HDD) . anche se i dispositivi attuali (Solid State Drive, SSD) sono simili alle memorie utilizzate nelle chiavette USB e schede microSD (memorie flash) Rapporto con il concetto di bit (semplificando parecchio):
  • la memoria contiene una griglia di piccole "celle di memoria" elettroniche · ogni cella può avere due soli stati possibili, accesa o spenta
  • dati dal livello, alto o minimo, di corrente elettrica che la attraversa · di conseguenza, ogni cella contiene il valore di un bit · dove accesa="1" e spenta="0" In informatica, si considera una codifica binaria a lunghezza fissa, con L=8 Byte = sequenza di 8 bit . 1 byte può rappresentare quindi 2^8=256 valori
  • rappresenta l'unità di misura di informazione digitale e tutte le informazioni contenute in memoria sono rappresentate da multipli di byte 4 I termini più usati sono quelli indicati in tabella - sono espressi in base 10, seguendo i prefissi indicati dal Sistema Internazionale delle unità di misura (SI) Ma per la natura stessa del byte, la notazione più corretta dovrebbe essere in base 2 · ad es .: con 2 10=1024 il valore per il multiplo dell'ordine delle migliaia invece che 103=1000 · e questo ha portato a ambiguità nell'utilizzo dei nomi dei multipli, dove a volte venivano usati per numeri di byte espresso in una notazione piuttosto che un'altra Nome Simbolo Multiplo chilobyte KB 103 megabyte MB 106 gigabyte GB 109 terabyte TB 1012 petabyte PB 1015 exabyte EB 1018 zettabyte ZB 1021 yottabyte YB 1024 ronnabyte RB 1027 quettabyte QB 1030

Prefissi Binari e Ambiguità

-> La soluzione (?): prefissi binari! . nel 1998, la Commissione elettrotecnica internazionale (IEC) ha istituito una serie di prefissi da utilizzare per i multipli di byte espressi su base 2 · l'indicazione era di interrompere l'uso dei prefissi SI · questi nuovi prefissi non sono in pratica stati adottati, e ancora esiste l'ambiguità nell'utilizzo dei prefissi su base 10 in contesti non formalmente corretti Ma, in fondo, quale sarebbe il problema? · l'errore di calcolo tra le due notazioni, che diventa rilevante al crescere del multiplo · questo porta a una discrepanza notevole, a parità di bytes, nel descrivere la capacità effettiva di una memoria, o la dimensione di un file · fatto utilizzato anche in fase di "marketing" dai produttori di memoria di massa, che indicano la capacità utilizzando la notazione in base 10, per "gonfiare" un po' la capacità effettiva del dispositivo . inoltre, confusione tra indicazioni tra SO che usano base 10 (macOs, Linux) e SO che usano base 2 (Windows) la motivazione originale della scelta dei prefissi SI nasce da qui: · ai tempi, la capacità di memoria era limita solo alle migliaia di byte · la differenza tra 1000 e 1024 era stata considerata trascurabile, di fronte al beneficio di adottare una metrica "universale" come quella del SI · utilizzata già in ambito telecomunicazioni per misurare la velocità di trasmissione (bit-rate) in multipli di bit al secondo

Codifica di Numeri Interi

Notazione Posizionale in Base 10

Noi utilizziamo la numerazione araba in base 10, rappresentati in notazione posizionale · ogni cifra assume un peso diverso in base alla posizione che assume . 1977: 1 migliaia, 9 centinaia, 7 decine, 7 unità · Numero espresso in notazione posizionale: · si legge da destra a sinistra, moltiplicando ogni cifra per una potenza crescente della base · 1977 = 1*103 + 9*102 + 7*101 + 7*100 = 1000 + 900 + 70 + 7

Conversione da Base 10 a Base 2

Conversione - da base 10 a base 2 Si divide ripetutamente il numero per 2 fino ad arrivare a quoziente nullo e si prendono i resti a partire dall'ultimo 197710 = 111101110012 quoziente resto 1977 / 2 988 1 988 / 2 494 0 494 /2 247 0 247 / 2 123 1 123 / 2 61 1 61 / 2 30 1 30 / 2 15 0 15 /2 7 1 7 / 2 3 1 3 / 2 1 1 1 / 2 0 1

Conversione da Base 2 a Base 10

- da base 2 a base 10 Usiamo la notazione posizionale che abbiamo visto prima, ma usando la base 2 111101110012 = 1*210 + 1*29 + 1*28 + 1*27 + 0*26 + 1*25 + 1*24 + 1*23 + 0*22 + 0*21 + 1*20 = 1024 + 512 + 256 + 128 + 0 + 32 + 16 + 8 + 0 + 0 + 1 = 197710

Sistemi Ottale ed Esadecimale

Codifica di numeri interi: sistema ottale e esadecimale Oltre a binario e decimale, in informatica si usano anche il sistema a base 8 e a base 16

  • base 8 = {0, 1, 2, 3, 4, 5, 6, 7}
  • base 16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
  • usati come notazione intermedia, grazie alla mappatura diretta con il sistema binario, in modo da poter usare una notazione più "human friendly" di una sequenza binaria
  • 1 cifra ottale rappresenta direttamente 3 cifre binarie
  • 1 cifra esadecimale rappresenta direttamente 4 cifre binarie· 2 cifre esadecimali rappresentano 1 byte (8 bit) · - Esempio di applicazione: nell'ambito della definizione di una pagina web, i colori possono essere rappresentati con una tripletta di valori esadecimali
  • Conversione da e per il sistema decimale segue i metodi visti nelle slide precedenti
  • solo applicati a basi diverse
  • Conversione da e per il sistema binario, tramite sostituzione diretta tra blocchi di 3 o 4 bit e l'equivalente valore ottale o esadecimale binario ottale decimale esadecimale binario ottale decimale esadecimale 0000 0 0 0 1000 10 8 8 0001 1 1 1 1001 11 9 9 0010 2 2 2 1010 12 10 A 0011 3 3 3 1011 13 11 B 0100 4 4 4 1100 14 12 C 0101 5 5 5 1101 15 13 D 0110 6 6 6 1110 16 14 E 0111 7 7 7 1111 17 15 F

Codifica del Testo

03.10.23 Per quanto riguarda i caratteri, la codifica di solito prevede:

  • l'assegnamento di un numero intero identificativo univoco a ogni carattere
  • la conversione in codifica binaria dell'intero identificativo per essere poi memorizzato La codifica del testo è indipendente dall'aspetto grafico e dalle diverse piattaforme di visualizzazione e utilizzo grafico del carattere. Questi aspetti sono contenuti nei font:
  • se adotto una codifica di caratteri che NON contiene il codice per un certo carattere, NON verrà visualizzato anche se ho installato un font che ne prevede la descrizione grafica
  • ho problemi anche nel caso inverso, se il codice del carattere è presente, ma il font NON prevede la sua descrizione grafica

ASCII: Standard per la Codifica dei Caratteri

American Standard Code for Information Interchange (ASCII) -> uno degli standard più noti per la codifica dei caratteri:

  • prima versione (1963) considerava alfabeto inglese . 26 lettere minuscole + 26 maiuscole + 10 numeri (0-9) + 32 caratteri di punteggiatura + 34 caratteri controllo (spazio, delete, ritorno a capo, ecc.)
  • per un totale di 128 caratteri, etichettati appunto con un numero intero tra 0 e 127 · il numero identificativo di ogni carattere viene poi codificato a 7 bit (2^7=128) I 7 bit sono utilizzati per indicare riga e colonna in una tabella
  • primi 3 bit a sinistra: colonna
  • ultimi 4 bit a destra riga
  • "D" = 1000100 - ASCII standard permette un numero molto limitato di caratteri e limitato a caratteri dell'Inglese moderno - ASCII esteso:
  • passaggio da 7 bit a 8 bit (quindi 1 byte) per carattere
  • "allineamento" alle dimensioni e alla struttura delle memoria digitali
  • maggior numero di caratteri rappresentabili 000 00 010 011 100 101 110 111 0000 NUL DLE SP 32 0 48 @ 64 P 80 96 P 112 0001 SOH DC1 ! 3 1 49 A 65 Q 81 a g 9 113 0010 STX DC2 # 34 2 50 B R 82 b 98 [ 114 0011 ETX DC3 # 35 3 51 S 83 C 99 $ 115 0100 D 68 T 84 d 100 t 116 0101 ENQ NAK % 37 5 5 E 65 U 85 e 101 U 117 0110 ACK SYN & 38 6 54 F 70 V 86 f 102 V 118 0111 BEL ETB 1 39 7 5 G 7 W 87 g 103 W 119 1000 BS CAN ( 40 8 56 HT X 88 h 104 X 120 1001 HT EM ) 41 9 57 1 73 Y 89 i 105 V 121 1010 LF SUB * 42 : 58 J 74 Z 90 j 106 Z 122 1011 VT ESC + 43 : 59 K 75 [ 91 k 107 { 123 1100 FF FS , 44 < 60 L ze \ 92 | 108 | 124 1101 CR GS - 45 = 61 M 77 ] 93 m 109 } 125 1110 SO RS . 46 > 6 N 78 n 110 ~ 126 1111 SI US / 47 ? 6 O 79 95 O 111 DEL

Can’t find what you’re looking for?

Explore more topics in the Algor library or create your own materials with AI.