Fondamenti di informatica 4 -  · Fondamenti di informatica 4 Federica Baroni Università degli...

74
11/03/2017 1 Fondamenti di informatica 4 Federica Baroni Università degli Studi di Bergamo Dipartimento di Scienze umane e sociali a.a.2016/2017 Obiettivi del corso Consapevolezza Conoscenze Abilità Competenze Perché anche noi?

Transcript of Fondamenti di informatica 4 -  · Fondamenti di informatica 4 Federica Baroni Università degli...

11/03/2017

1

Fondamenti di informatica 4Federica Baroni

Università degli Studi di Bergamo

Dipartimento di Scienze umane e sociali a.a.2016/2017

Obiettivi del corso

Consapevolezza

Conoscenze

Abilità

Competenze

Perché anche noi?

11/03/2017

2

Testo di riferimento

M. Lazzari et al., Informatica umanistica, McGraw-Hill, 2014 (II edizione)

Capitoli 1, 2, 3, 4, 5, 7, 8, 9, 11

www.ateneonline.it/lazzari2e

Nessuna distinzione frequentanti/non frequentanti

I materiali e la frequenza al corso integrano il libro di testo

Piattaforma ConnectInfo http://dinamico2.unibg.it/cazzaniga/teaching.html

Slide sull'utilizzo della piattaforma

Accesso alla piattaforma per gli studenti di Fondamenti di Informatica 3 (25143)

11/03/2017

3

Indice

Parte I - Fondamenti di InformaticaCap. 1 Fondamenti di informatica e hardware Cap. 2 Il software Cap. 3 La rappresentazione dei dati per le scienze umane Cap. 4 Dalle reti a Internet Cap. 5 Il World Wide WebParte II - Temi per le scienze umaneCap. 6 La computazione linguistica Cap. 7 Arte e beni culturali nell'era digitale Cap. 8 Biblioteconomia e ricerca delle informazioni in Internet Cap. 9 Tecnologie educative Cap. 10 Informatica per la musica, l'intrattenimento e lo spettacolo Cap. 11 Qualità, usabilità e accessibilità del webCap. 12 Comunicazione digitale e turismo

Esame

Test informatizzato con risposte a scelta multipla

18 domande in 18 minuti!

Dal primo appello disponibile dopo la fine delle lezioni

Prima della data d’esame, consultare i turni in bacheca online

Portare documento di riconoscimento, n.matricola e password!

11/03/2017

4

Terminologia: «Informatica»

«Informatique» (anni ‘60): Information + automatique [francese]

Disciplina tecnico-scientifica che si occupa di macchine in grado di elaborare automaticamente l’informazione

• Riduzione dei tempi e della fatica

• Maggior affidabilità

• Elaborazioni, anche difficili, che richiedono competenze

«Informazione»

• Quantitativa (numerica) «calcolatore» «computer» [inglese]

Informatica o «Tecnologia dell’informazione» «Information Technology» (IT)

IT + telecomunicazioni (trasmissione dell’info a distanza) «Information & Communication Technology» (ICT, TIC)

«elaboratore»Elaborare

Comunicare

11/03/2017

5

Conoscenza: regole

Informazione: dato + proprietà = significato

Dato: insieme di simboli su supporto fisico

Simbolo

In relazione con…

Esempio

• Simbolo: «3», «7»

• Dato: 37 come numero, insieme di simboli scritto su carta

• Informazione: 37 + proprietà fisica (temperatura corporea)

• Conoscenza: regole (febbre e suo trattamento)

11/03/2017

6

Linguaggi

Naturali

• Comunicazione tra uomini

• Potenziale polisemia

• Possibili ambiguità errori di interpretazione

• Disambiguazione dal contesto

Formali

• In specifici settori scientifici

• Evitare l’ambiguità

• Alfabeto finito di simboli

• Grammatica formale regole sintattiche per la combinazione di simboli

• Semantica formale significato alle frasi in linguaggio formale

Rappresentazione dell’informazione e simboli

La stessa informazione può essere codificata con simboli e modalità diverse

10

Dieci

11/03/2017

7

Nei calcolatori?

• Codifica dell’informazione in bit (da «binary digit» = cifra binaria)

• Alfabeto di due simboli: 0 e 1 notazione binaria

• Un bit può assumere due configurazioni possibili: 0 e 1

• Valori rappresentabili in dispositivi bistabili

• Tutte le informazioni sono rappresentate da sequenze di bit

Dispositivi bistabili (es.)

• foro in una scheda

• polarizzazione magnetica

• carica elettrica

• passaggio di corrente

• passaggio di luce

11/03/2017

8

Contare in base 2

2 bit: 4 (22) sequenze possibili: 00, 01, 10, 11

3 bit: 8 (23) sequenze possibili: 000, 001, 010, 011, 100, 101, 110, 111

...

8 bit: 256 (28) sequenze possibili

n bit: 2n sequenze possibili

8 bit = 1 byte

Quante informazioni?

• 1 bit: 0 1 2 info

• 2 bit 00 01 10 11 4 info

• 3 bit 000 001 010 011 100 101 110 111 8 info

• n bit 2n info

11/03/2017

9

Multipli nel sistema binarioPrefisso Sistema binario

Kilo 210 (= 1024)

Mega 220 (= 1024 x 1024)

Giga 230

Tera 240

Peta 250

Exa 260

Zetta 270

Yotta 280

• La capacità di memoria di un calcolatore si misura in bit (b), byte (B) o multipli

Elaborazione dell’informazione• Creazione (codifica)

• Modifica/eliminazione

• Confronto (se..allora..)

• Conservazione (memorizzazione)

• Trasmissione (diffusione)

Codifica dell’informazione (dati) su supporto

Trasformazione fisica del supporto

(nuovi dati)

Decodifica dei dati (nuova

informazione)

Processo che si avvale di algoritmi sequenze di istruzioni (in ling formale) che indicano le operazioni da eseguire

11/03/2017

10

Linguaggi di programmazione:

Linguaggi formali progettati per descrivere algoritmi in modo da poter essere eseguiti da un moderno calcolatore

• Sintassi semplice

• Semantica limitata

• Assenza di ambiguità

Es. Basic, Pascal, C, C++, Java..

Sistemi per l’elaborazione: storia

• Dita (10), falangi (12)

• abaco (rappresentazione numerica posizionale): 2000 a.c.

• regolo calcolatore (strumento di calcolo analogico): XVII – XX sec

• Pascalina (calcolatrice meccanica): 1642

• macchina analitica (primo calcolatore programmabile): 1812

• Dalla meccanica a disp elettrici: II Guerra Mondiale

• Colossus (primo calcolatore tot. elettronico): 1943-44 [Inghilterra]

• ENIAC: 1943-1945 [USA]

• EDVAC

11/03/2017

11

Regolo calcolatore

Pascalina

11/03/2017

12

ENIAC

• Primo calcolatore elettronico universale

• 18.000 valvole/30 tonnellate

• 6 persone su singoli interruttori e cavetti

EDVAC

• Aritmetica binaria vs decimale

• Unico dispositivo di memoria per istruzioni e dati

• Rif. all’architettura di von Neumann

11/03/2017

13

Personal Computer

Legge di Moore (1965)

11/03/2017

14

MiniaturizzazioneTecnologia Tecnologia

Valvole 1945-1955

Transistor 1955-1965

Circuiti integrati (microchip) 1965-1980

Microprocessori 1980-

Anni ‘60

• Grandi centri di calcolo

• Macchine costose

• Specialisti

Anni ‘70

• Informatica centralizzata

• Un elaboratore per molti utenti

Anni ‘80

• Elaboratore monoutente per tutti

• Interfaccia grafica facilitata

1984

Anni ’90 – Oggi

• Computer = rete

• Internet• Web

• Web 2.0

• Multimedia

• Cloud

• Velocità• Dimensioni

(portabilità/mobilità)• Affidabilità

Calcolatore

• Macchina fisica: hardware (ferraglia)

• Macchina virtuale: software (istruzioni)

• Sistema di diffusione di informazioni: Web

• Comunicatore bidirezionale: Web 2.0

[Lazzari, 2012]

11/03/2017

15

Architettura di Von Neumann

• John von Neumann (1903-1957): matematico ungherese

• Progetto ENIAC EDVAC

• Bozza preliminare dell’architettura di nuovo modello di calcolatore

• Modello alla base dei calcolatori digitali

Calcolatore universale versatilità, multiuso

Dispositivo di memorizzazione in cui DATI e ISTRUZIONI hanno la stessa codifica

Aritmetica binaria

Separazione tra dispositivi di MEMORIZZAZIONE ed ELABORAZIONE

Sottosistemi che compongono il calcolatore

Cal

cola

tore

Processore (CPU)Trasforma i dati (in

memoria) eseguendo istruzioni (in memoria)

MemoriaCelle che possono

contenere dati o istruzioni

InterfacciaInterazione

utente/macchina (I/O)

Bus Canale per lo scambio di info

11/03/2017

16

Macchina di Von Neumann

Input Memoria Output

CPU

Possibile collo di bottiglia di von Neumann: CPU > bus se elaborazioni semplici su grande massa di dati

Operazioni su istruzioni (codifica in binario) Insieme di istruzioni = linguaggio macchinaCalcolatori compatibili se CPU con lo stesso l.m.

HW/SW

• «Componente dura» (hw) ferraglia

• «Componente morbida» (sw) Alan Turing (istruzioni per configurare Enigma su carta solubile) istruzioni (+ dati)

11/03/2017

17

Struttura del calcolatore

Unità centrale

case

ventola

alimentatore

scheda madre

Scheda madre

11/03/2017

18

Hw

1. Processore (CPU)

2. Memoria centrale (RAM)

3. Memorie di massa - Dischi e nastri magnetici- Dischi ottici- Memorie flash

4. Periferiche- Tastiera; dispositivi di puntamento- Video; audio- Stampanti; dispositivi per acquisizione img- Periferiche combinate

1. Processore (CPU)

• Central Processing Unit

• Esegue istruzioni (in binario) prese dalla memoria centrale

• Modifica dati (in binario); risultati scritti nella memoria centrale

• Sfrutta registri (unità di memorizzazione interne)

• Ciclo di 4 attività

• Operazioni scandite da dispositivo «clock» (impulso) frequenza di clock (hertz): n.di impulsi al secondo (oggi GHz: miliardi) velocità CPU

11/03/2017

19

Ciclo del processore

Lettura dalla memoria

Decodifica

Esecuzione

Scrittura

• Memorizza l’istruzione nel registro IR (Instruction Register)

• Il PC (Program Counter) garantisce l’ordine di esecuzione

• Quale operazione eseguire• Su quali dati

ALU (Arithmetic Logic Unit)

2. Memoria centrale (RAM)

• Random Access Memory

• Centrale vs. «memorie secondarie» o «di massa»

• Interagisce con la CPU per leggere e scrivere istruzioni e dati (in binario)

• Insieme di unità elementari di memorizzazione (celle), ciascuna identificata da un indirizzo numerico (in binario)

• Circuiti integrati

• Volatilità, rapido accesso

• Accesso diretto (random access)

ROM: Read Only Memory «Memoria di sola lettura» Contiene istruzioni di inizializzazione all’avvio + funzioni di diagnosi

11/03/2017

20

Memorie: tipi di accesso

• Sequenziale: per leggere una cella bisogna leggere quelle che la precedono (es. nastri magnetici)

• Diretto: accesso immediato, dato un indirizzo di cella (RAM)

• Misto: diretto + sequenziale (dischi magnetici)

• Associativo (memorie cache): accesso guidato dal contenuto ricercato su più celle

3. Memorie di massa (o secondarie)

• Dispositivi per la memorizzazione

• Memoria persistente

• Maggior capacità, minor costo, tempi di accesso più lunghi

• Rimovibili o fisse

• Contenuto più prezioso del supporto backup!

11/03/2017

21

Dischi e nastri magnetici

• Supporto con superficie con strato ferromagnetico + testina che magnetizza/scrive e legge i dati

• Disco rigido «Hard disk»: uno o più dischi («piatti») interno o esterno; diametro di 3,5’’ per desktop e 2,5’’ per notebook; capacità da 100 GB a 2 TB

• Formattazione (primo uso)

• Frammentazione (riorganizzazione dei blocchi)

• Ridondanza (duplicazione dati su più supporti)

• Nastro magnetico (sequenziale; oggi per backup)

Dischi ottici

• Supporti in appositi drive (lettori) letti con luce laser

• Traccia a spirale su superficie iridescente; pit / land + testina

• ROM: sola lettura

• WORM: scrivibili (masterizzatore)

• RW: riscrivibili

CD (anni ’80: 700MB)

DVD (anni ’90: 4,7GB -8,5GB)

Blu-ray Disc (anni 2000: 25 – 50GB)

11/03/2017

22

Memorie flash

• EEPROM Electrically

• Contenuto scritto («programmato») o cancellato e riprogrammato per processi elettrici

• Costi e dimensioni contenute, buona capacità

• Memory card

• Drive USB

• non più di 1.000.000 di operazioni di scrittura

Principio di località vs. collo di bottiglia

• Principio di località temporale: un programma facilmente torna a riusare la stessa cella

• Principio di località spaziale: un programma facilmente usa celle vicine

• Una cache per M è una memoria più piccola e veloce di M, che mantiene copia degli ultimi dati usati in M

11/03/2017

23

Gerarchie di memoria

• registri della CPU (in CPU, centinaia di byte)

• cache di livello 1 (in CPU, decine di KB)

• cache di livello 2 (in CPU, >512KB)

• cache di livello 3 (in CPU, >2MB)

• memoria centrale

• dischi interni

• dischi esterni

+ velocità- capacità

- velocità+ capacità

4. Periferiche

• Dispositivi connessi all’unità centrale; supportano l’I/O

• Apposita interfaccia (es. integrata nella scheda madre in PC o su schede di espansione in laptop) collegata al bus e al dispositivo

Due tipi di comunicazione interfaccia – dispositivo:

• Seriale: 1 canale 1 bit alla volta

• Parallela: più canali simultanea trasmissione di gruppi di bit (1 byte)

• Per un tipo di dispositivo possibili diverse interfacce (es.stampante)

• USB oggi standard

11/03/2017

24

Connettori: tipologie

• connettori parallel ATA (HD, lettore CD, masterizzatore)

• connettori serial ATA e SCSI (HD)

• 2 connettori PS/2 (tastiera viola e mouse verde)

• connettore VGA (o DVI) (video)

• connettori minijack (audio)

• connettore seriale RS-232 (mouse, modem, terminale seriale)

• porta parallela (centronics rosa per stampante)

• connettore RJ11 (modem/fax interno a linea telefonica)

• connettore RJ45 (interfaccia di rete)

• connettori USB

• connettore FireWire (IEEE 1394) (simile a USB per dispositivi multimediali)

• dispositivo IrDA (infrarossi) e Bluetooth (onde radio)

Tastiera

• Input

• Tasti alfanumerici; tasti modificatori usati in combinazione con altri (es. <Maiuscolo>, <Alt Gr>); tasti funzione per comandi rapidi in swapplicativo (es. <F5>); tasti freccia nell’editing

• Integrata o esterna (via cavo o wireless)

11/03/2017

25

Video

• Output

• Matrice di pixel

• CPU – scheda grafica (mappa dello schermo per gestione info) – schermo

• Dimensione dell’immagine: diagonale in pollici (4’’, 15’’, 19’’, 27’’)

• Rapporto d’aspetto: rapporto b/a (4:3, 16:9)

• Risoluzione: nr di pixel visualizzabili (1024x768, 1280x1024..)

• Profondità di colore, luminosità, contrasto, frequenza di aggiornamento, angolo di visibilità

Raggi catodici, cristalli liquidi, plasma

Dispositivi di puntamento

• Input

• GUI: interfaccia grafica

• Interazione tramite puntamento con oggetti grafici (controlli, interattori o widget) interazione point-and-click

Mouse (meccanico o ottico)

Trackball

Joystick

Touchpad

Pointing stick

Tavoletta grafica

Touchscreen

11/03/2017

26

Stampante

• Output

• Formato (A4 … plotter)

• Colori (monocromatiche, a colori)

• Risoluzione DPI (punti per pollice)

• Velocità ppm (pages per minute)

• Multifunzione, di rete

Getto, laser, impatto, 3D

Acquisizione immagini

• Input

• Digitalizzazione (codifica in pixel di un’img)

Scanner piano / manuale / per pellicola

• Risoluzione ppi (pixels per inch) 1200 / 5400

• Riconoscimento ottico dei caratteri (OCR)

Macchine fotografiche/videocamere digitali

Lettori di codici a barre

11/03/2017

27

Gestione dell’audio

• Input/output

• Convertitore digitale-analogico per invio del suono ad amplificatori e cuffie

• Suoni sintetizzati o campionati (da strumenti tradizionali)

• Sintesi vocale (testo parlato)

• Riconoscimento vocale (parlato testo)

• VoIP (Voice over Internet Protocol)

• Media center

• Dispositivi portatili (lettori mp3)

Combinazione di periferiche

• Sistemi di realtà virtuale/realtà aumentata

• Google Glass

• CAVE (Cave Automatic Virtual Environment)

• LIM

11/03/2017

28

Caratteristiche calcolatori (classi)

• velocità

• capacità di memoria

• affidabilità

• sicurezza

• periferiche

• connettività

• dimensioni (trasportabilità)

• modularità (sostituzione per standardizzazione)

• scalabilità (sostituzione per miglioramento)

• semplicità di interazione

• dotazione software

• prezzo

Personal computer (PC)

• Anni ‘70

• Mono-utente

• Home computer

• Per non esperti con programmi pacchettizzati

Desktop

Tower

Small form factor

11/03/2017

29

Laptop

• Mobilità

• Componenti integrati

Notebook

Subnotebook

Ultrabook

Netbook

Tablet PC (tablet)

PDA (Personal Digital Assistant)

(palmtop, handheld, pocket PC)

• su un palmo di una mano

• tablet a dimensioni ridotte

• smartphone (PDA + telefono cell)

11/03/2017

30

Intrattenimento/alte prestazioni

Console per videogiochi

Media center

Workstation (es. CAD, elaborazioni matematiche, etc.)

Computer multiutente

• Client/server

• Videoterminale

Minicomputer

Mainframe

Supercomputer

11/03/2017

31

Istruzioni e algoritmo

• Memoria: Dati + istruzioni per l’elaborazione (software)

• Algoritmo: sequenza di istruzioni (elementari) che un esecutore (calcolatore) deve seguire (ordine ben preciso input – elaborazione –output); linguaggio comprensibile (o tradotto in linguaggio noto), non ambiguo, con numero finito di istruzioni e in un tempo finito; deterministico (input su stessi dati = output); parametrico (risolve non un solo problema, ma classi di problemi)

Linguaggi di programmazione

• Linguaggio di programmazione: linguaggio formale impiegato per descrivere algoritmi in modo da poter essere eseguiti da un calcolatore

• Programmatore: «insegna» algoritmi ai calcolatori scrivendo programmi (file di testo)

• Linguaggio macchina: linguaggio di programmazione (linguaggio della CPU; sequenze di bit) linguaggio assemblatore (1 istruzione in binario codifica inglese)

Programma assemblatore: I (in ling assemblatore) O (linguaggio macchina)

11/03/2017

32

Traduttori

• Linguaggi di programmazione di alto livello (es. Basic, Pasca, Java ..PROGRAMMA SORGENTE) mediati da traduttori in linguaggio macchina (PROGRAMMA OGGETTO):

• Traduttori: traducono e consentono di eseguire lo stesso programma su calcolatori diversi (macchina astratta vs macchina fisica)Compilatore: intero programma

Interprete: singole istruzioni eseguite direttamente

Macchina di Turing

• Dispositivo (astratto) per l’elaborazione dell’informazione

• finalità: studiare le proprietà dell’elaborazione automatica dell’informazione e degli algoritmi

• alfabeto finito di simboli

• nastro di lunghezza infinita diviso in celle

• testina in grado di leggere e scrivere le celle

• insieme finito di stati (stato iniziale e finale)

• registro di stato (stato corrente)

• tabella delle azioni (registro delle azioni)

11/03/2017

33

Ingegneria del software e licenze

• Ciclo di vita del software

• Software house

• Licenza d’uso: uso limitato, copia vietata

• Licenza shareware: in prova per un certo tempo

• Licenza freeware: distribuito gratuitamente

• Software libero e software open source: distribuito gratuitamente con la versione sorgente per studio, modifiche e ridistribuzione

Tipologie di software

• Sw di base: interazione utente-calcolatore (sistema operativo, compilatori e assemblatori)

• Sw applicativo: applicazioni che supportano l’utente in specifici campi applicativi (spesso in pacchetti)

11/03/2017

34

Sw applicativo

videoscritturagestione di fogli elettroniciproduzione di presentazioni

multimedialidesktop publishing (volantini,

brochure, ...)gestione di basi di datieditor webgrafica e fotoritoccorealizzazione di diagrammigestione finanziaria

organizerproject managementapplicazioni legate a Internet e al

web (browser, posta elettronica, peer2peer, ...)OCRCADvideogiochifruizione e manipolazione

audio/video

Sistema operativo

• Utilizzo generale

• Interazione h-m

• Gestione risorse

• Esecuzione sw applicativo

• Costituito da più macchine virtuali stratificate (interfaccia: nuove funzionalità agli strati superiori dalla macchina fisica ai programmi applicativi, all’utente)

onucleo (kernel): CPU

ogestore della memoria: RAM

ogestore dei dispositivi I/O: periferiche

ofile system: memorie massa

ogestore della rete: rete

ointerprete dei comandi: interazione utente

11/03/2017

35

Es.

Linux (ad es. Ubuntu): open source

Microsoft Windows

Microsoft Windows CE, Mobile, Phone

Mac OS

iPhone OS

Android

Gestione CPU

• Monoprogrammazione (esecuzione di 1 prog per volta, no SO, accesso al ling macchina su schede perforate) anni ‘60 multiprogrammazione (in RAM più programmi)

• Più terminali – 1 calcolatore: Timesharing e multitasking parallelismo virtuale (simulazione di una CPU per utente, simulazione di esecuzione parallela dei processi)

• Processo: programma in esecuzione

✓pronto

✓in esecuzione (accede alla CPU)

✓in attesa

11/03/2017

36

• Context swapping (commutazione di contesto): cambio del processo in esecuzione: salvataggio stato del P1 + recupero stato del processo P2 per essere eseguito dalla CPU

• Videoterminali collegati contemporaneamente o in PC monoutente: virtuale contemporanea esecuzione di più processi

• 1 sola finestra attiva: processo in foreground

• altri processi in background

Gestione RAM

La multiprogrammazione richiede alla RAM:• controllo efficiente

• spazio garantito per i processi

• spazio protetto da intrusione di altri processi• gestione di aree dati comuni a più processi e scambio di messaggi

Memoria virtuale (ogni programma opera come se avesse la RAM tutta per sé). In realtà:• RAM suddivisa in pagine (blocchi di memoria)• Programma rilocato in pagine libere della RAM gestite da Memory Management

Unit (dispositivo hardware)• Se non c’è memoria libera a sufficienza, si fa swapping su disco rigido

11/03/2017

37

Gestione periferiche

• Periferiche virtuali: un processo opera come se la periferica fosse a sua completa disposizione

• Processo device independent (comandi di alto livello adatti al tipo di preriferica) grazie ai driver (il gestore trasforma comandi generici in istruzioni specifiche attraverso i driver)

• L’impiego di una periferica in un dato SO è dipendente dalla presenza di un driver specifico (oggi Plug and Play: riconoscimento, installazione e configurazione del driver appropriato)

Gestione file

• Gestione dei file dal file system (gestione memorie di massa dal SO)• File organizzati gerarchicamente a partire da una cartella radice (root)• Struttura ad albero• File identificato univocamente tramite percorso (pathname)• File:formato dimensionedata e ora di creazionedata e ora dell’ultima modificaautorizzazioni

11/03/2017

38

Gestione rete

• Oggi SO integrano la gestione della rete: Network operating systems(NOS)

• Tipi di interazione:

uomo - calcolatore locale (no rete)

uomo - calcolatore remoto (es. client - server)

uomo-uomo (es. chat)

Interfaccia utente

• Gestisce l’interazione uomo/macchina• Inizio sessione SO autenticazione utente dimostrando:

conoscenza (credenziali)

possesso (smart card e simili)caratteristiche fisiche (dati biometrici)

• Possibili diverse autorizzazioni:amministratore di sistema

operatore di sistema (alcune operazioni)programmatore (applicazioni per altri utenti)utente applicativo

• GUI e WYSIWYG (Acronimo di What You See Is What You Get)

11/03/2017

39

Software maligno (malware)

• Virus: blocco di codice infetto in un programma comune• Worm: intero programma che si diffonde e genera problemi sulla rete• Trojan: programma d’utilità che indebolisce il sistema • Spyware: raccoglie info sull’utente senza autorizzazione• Adware: proposta continua di pubblicità non richiesta• Crimeware: furto d’identità• hoax (bufala) e spam

• Firewall (hw o sw)• Antivirus

Codifica dell’informazione

• Tutte le informazioni (numeri, testo, img, suoni) codificate in binario

• Calcolatori che sfruttano dispositivi bistabili codifica binaria

• Informazioni tramite bit: sequenze di 0 e 1

11/03/2017

40

Rappresentazione dei numeri

1. Decimale posizionale (base 10, ruolo per posizione)• Con n cifre si possono esprimere 10n numeri naturali: da 0 a 10n –

1

• 2465 = 2 x 103 + 4 x 102 + 6 x 101 + 5 x 100

2. Non posizionale sistema additivo (nr. romani)• VIII = 5 + 1 + 1 + 1 = 8

2000 400 60 5

3. Posizionale non decimale (es. esadecimale, base 16, H):• Con n cifre in base b si possono esprimere bn numeri naturali: da 0 a bn – 1

1…9

A = 10

B = 11

C = 12

D = 13

E = 14

F = 15

• 1B6FH = 1 x 163 + 11 x 162 + 6 x 161 + 15 x 160 = 7023

Notazione esadecimale(usata per rappresentare gruppi di bit)

4096 2816 96 15

11/03/2017

41

Codifica binaria

• Dati nel calcolatore: codifica binaria

• Per rappresentare i numeri notazione binaria posizionale: cifre 0 e 1 moltiplicate per potenze di 2

• Con n bit si possono esprimere 2n numeri naturali: da 0 a 2n – 1

• 1 nibble: sequenza di 4 bit 24 (=16) numeri naturali

• 1 byte: sequenza di 8 bit (2 nibble) 28 (=256) numeri naturali

Conversioni

• Binario decimale

• Decimale binario

• Binario esadecimale

11/03/2017

42

Binario decimale

100101012 = 1 x 27 + 0 x 26 + 0 x 25 + 1 x 24+ 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 128 + 0 + 0 + 16 + 0 + 4 + 0 + 1 = 149

Decimale binario

149 : 2 = 74 resto 1

74 : 2 = 37 resto 0

37 : 2 = 18 resto 1

18 : 2 = 9 resto 0

9 : 2 = 4 resto 1

4 : 2 = 2 resto 0

2 : 2 = 1 resto 0

1 : 2 = 0 resto 1

149 = 100101012

11/03/2017

43

Codifica analogica/digitale

Analogico Digitale

Grandezza analoga: individuazione di una grandezza analoga (49 stanghette)

Alfabeto di simboli + regole di codificaEs. Notazione numerica decimale posizionale 49

Contiene metainformazioni• di tipo ordinale: quale valore max,

min, uguale• di tipo metrico: quantificazione delle

differenze tra i valori

Digitale (da «cifra»): simbolo utilizzato per rappresentare numeri in un sistema numerico.

Sistema più compatto

Grandezze

• Discrete: valori riconducibili ai nr naturali (es.sassolini, termometro digitale: elementi isolati)

• Continue: valori riconducibili ai nr reali, infiniti elementi senza spazi vuoti (es.termometro a mercurio: codifica analogica, rappresentazione continua)

11/03/2017

44

Grandezza continua codifica digitale

• Quantizzazione: l’intervallo dei valori possibili di una grandezza continua deve essere suddiviso in un nr.finito di intervalli (livelli) discretizzazione del valore della grandezza

• Campionamento: valore assunto dalla grandezza misurato nell’istante di riferimento (campione) discretizzazione del tempo

Approssimazione perdita di informazione:aumento dei livelli di quantizzazione e della frequenza di

campionamento = incremento delle informazioni

Nr di campioni acquisiti nell’unità di

tempo

Errori di trasmissione

• Segnale digitale binario: valori possibili «0» e «1» più facile individuare errori causati da rumore

• Ridondanza vs. rumore

Semplice (ritrasmissione)

Ripetizione

Mex scomposto in blocchi (1 byte o 1 nibble); cfr. tra blocchi

trasmessi più volte

Controllo di parità

Mex scomposto in blocchi; conteggio di nr. di «1» e

attribuzione di 1 bit in coda se pari/dispari; cfr. dal ricevitore

Complesso (correzione)

11/03/2017

45

Altre codifiche

• numero di matricola

• codice fiscale

• codice catastale

• partita IVA

• codice ISBN – International Standard Book Number

• numero di telefono

• codice IBAN – International Bank Account Number

• codice a barre

E – D: condivisione del codice

Informazione non numerica codifica binariaQuante sequenze di bit per i giorni della settimana?

• Sequenze di 3 bit 8 valori diversi (23 = 8) per rappresentare i giorni della settimana (1 configurazione inutilizzata)

lunedì = 000

martedì = 001

mercoledì = 010

giovedì = 011

venerdì = 100

sabato = 101

domenica = 110

Quante sequenze posso esprimere con n bit? 2n

11/03/2017

46

Il testo: codifica ASCII

• Rappresentazione del testo in binario

• Distinzione lettere maiuscole, minuscole, segni interpunzione, spazio

• 1 carattere sequenza 7 bit (27 = 128 caratteri)

• ASCII esteso sequenza 8 bit (28 = 256 caratteri)ISO 8859-1 (Latin1) caratteri dell’Europa occidentaleISO 8859-2 caratteri dell’Europa orientaleISO 8859-5 caratteri cirillici

• Unicode (interoperabilità) fino 21 bit (2 milioni): ASCII esteso (Latin1), caratteri di lingue vive e morte, ideogrammi, Braille, simboli matematici, chimici, cartografici

Formati per i file di testo

• File di solo testo: plain text (.txt)

• File che contengono meta-informazioni (es.formattazione): .doc

• File in linguaggio di marcatura: HTML <> letti da browser

• File di Word (Microsoft Office) e Writer (Open Office) in linguaggio XML: .docx; .odt

• File PDF

11/03/2017

47

Le immagini

• Campionamento (digitalizzazione): suddivisione dell’img in matrice di pixel = bitmap

• Quantizzazione (rappresentazione del colore): nr di bit per codificare il colore per ciascun pixel = profondità di colore • 0 = nero; 1 = bianco 1 pixel 1 bit = profondità di colore 1

• 256 (28) tonalità di grigio 1 pixel 1 byte = profondità di colore 8

Le immagini: i colori

! Occupazione della memoria

Modelli sottrattivi

• Somma colori primari su sfondo bianco = nero

• CMYK = Cyan, Magenta, Yellow, Key

• Stampa

Modelli additivi

• Somma colori primari su sfondo nero = bianco

• RGB = Red, Green, Blue

• Video

• Oltre 16milioni colori diversi (truecolor)

11/03/2017

48

Formati per le immaginiRaster

• Bitmap pixel

• Img fotografiche e web

JPEG: truecolor, compressione lossy, dimensioni ridotte

GIF: massimo 256 colori, compressione lossless, animazioni

BMP: formato non compresso di Windows

TIFF: compressione lossy e lossless, stampe professionali, OCR scanner

PNG: truecolor, compressione lossless

Possibili conversioni: es.BMP JPEG

Vettoriale

• Primitive geometriche (linee, punti..) codificate in equazioni matematiche

• CAD, modellazioni etc

• Necessaria rasterizzazione per video e stampa

Formati per i file audio

WAV (Microsoft) e AIFF (Apple): non compressi

MP3: compressione lossy (poco spazio in memoria -1/10 e facilità di trasmissione)

AAC: compressione lossy di miglior qualità

Possibili conversioni: es. WAV MP3

11/03/2017

49

Formati per i file video

Serie di fotogrammi (frames)

QuickTime: Apple

MPEG-2: DVD e Bluray, compressione lossy

FLV (flash video): compressione lossy, diffuso per YouTube etc..

AVI: contenitore di file codificati/decodificati tramite codec

CompressioneCodifica di un contenuto per limitare lo spazio di memorizzazione e il tempo di trasmissione

Lossless

• Senza perdita

• Input output (file ridotto)

• Processo reversibile

• Es. uso di sw WinZip

Lossy

• Con perdita

• Processo irreversibile

• Garantita fruibilità

• IMG: cambiamento di colore per alcuni pixel

• AUDIO: tagliate alcune frequenze

• VIDEO: mantenute differenze tra frames

11/03/2017

50

Basi di dati

• Sistema informativo: insieme della risorse che raccolgono informazioni (es.archivi). Oggi sistemi informatici

• Basi di dati (DB, Data base) gestite da un DBMS (Data base Management System (su server oppure su pc con Access o Base)Linguaggi:DDL (Data Definition Language): dati e relazioni

DML (Data Manipulation Language): modifica del contenuto e interrogazioni

SQL (Structured Query Language): DDL + DML

Modelli: due livelli

Modello concettuale

• Modello Entità-Relazione (schema concettuale, più astratto)

• Riferimento ai concetti del mondo reale

• Entità: classi di oggetti

• Relazioni: legami tra entità

• Attributi: proprietà di entità o relazioni

Modello logico

• Struttura dei dati (schema logico)

• Modello relazionale DB come insieme di relazioni (tabelle) tra loro collegate contenenti dati organizzati in record (righe) e campi (colonne) in base alle proprietà

11/03/2017

51

Sicurezza informatica

• Riservatezza (privacy): protezione da letture non autorizzate

• Integrità: protezione da modifiche non autorizzate• Autenticità: identità certa di sorgente, destinatario, contenuto• Non ripudiabilità: trasmissione e ricezione certe, non negate

• Disponibilità: Accesso garantito (se autorizzati)

Legge sulla Privacy in Italia: DL 30 giugno 2003, n. 196

1. Dato personale: info relative a persona, ente, etc

2. Dato sensibile: etnia, religione, politica, salute,vita sessuale

3. Dato giudiziario: provvedimenti giudiziari

• Consenso al trattamento (1-3)

• Garante o specifiche disposizioni (2-3)

Crittografia

Tecnica crittografica: codice di Cesare

Algoritmi a chiave segreta (crittografia simmetrica): cifratura/decifratura su unica chiave (rischio nella trasmissione)

Algoritmi a chiave pubblica (crittografia asimmetrica): sistema a doppia chiave (chiave privata + chiave pubblica). Es. firma elettronica (chiave privata)

11/03/2017

52

Reti

• Telematica: informatica + telecomunicazioni

• rete di calcolatori: insieme di due o più calcolatori e dispositivi (es.stampante) interconnessi per comunicare e condividere dati e risorse

• Nodi: singoli elementi connessi alla rete; costituiscono l’infrastruttura

• Due nodi di due reti diverse: internetworkingInternet = Rete rete (globale) di reti di calcolatori

Rete globale (GAN)

Rete geografica (WAN)

Rete metropolitana

(MAN)

Rete locale (LAN – WLAN: wireless LAN)

Rete personale

(PAN –WPAN)

Reti come insieme di:• Dispositivi informatici (calcolatori, stampanti, etc)

• Connessioni (canali)

• Protocolli di rete (regole di funzionamento: FTP o HTTP; organismi ISO, W3C) regolano il sistema della commutazione di pacchetto: comunicazione simultanea (più messaggi sulla rete), efficienza, in comunicazione calcolatori anche molto diversi; possibile bypassare guasti; formati e modalità di trasmissione Strati (layer) di protocolli e interazione fra livelli

• Software (es.per gestione posta o browser che devono rispettare le regole di comunicazione)

• Utenti (non si preoccupa dell’infrastruttura, delega ai programmi che rispettano regole): usano servizi di rete (posta, chat, WWW) per reperimento, deposito e scambio di info

11/03/2017

53

Reti, nodi, architetture

• intranet: comunicazione e accesso all’info interna a un’organizzazione

• extranet: parte della intranet accessibile a esterni autorizzati

Nodo attivo: es. mainframe per l’elaborazione

Nodo passivo: es. terminale I/O

Server: fornisce servizio (es.nel web: calcolatore che ospita il sito (hw) + programma per ricevere richieste (sw) – es Apache)

Client: chiede servizi (es.nel web: calcolatore che chiede la pag web + programma per accedere – browser)

Funzioni delle reti

1. Comunicazione tra più nodi/utenti

2. Condivisione di risorse

Es. LAN: programmi di calcolo scientifico su mainframe, archivi centralizzati, unità disco condivisa (per scambio materiali), backup dati aziendali, stampanti in rete

WAN: cooperazione tra sedi distaccate

! Possibilità di comunicazione su una LAN (es.posta elettronica: Internet?)

11/03/2017

54

Trasmissioni

• Segnale: grandezza fisica il cui valore cambia nel tempo necessaria possibilità di modulare (=controllare) l’andamento

• Messaggio: sequenza finita di simboli

• Canale: sistema fisico in grado di trasferire il segnale da trasmettitore a ricevitore

• Rumore/ridondanza

Mezzi di collegamento

• Guidati: segnali su linee fisiche (reti cablate = cavi)

• Non guidati: segnale nello spazio, via etere (wireless)

• Caratteristiche: distanza massima (oltre, il segnale è illeggibile) e velocità massima di trasmissione dei dati (bit al secondo: bps)

• ! Unità di misura: velocità di trasmissione in Mb, dimensione dei file in MB

11/03/2017

55

Mezzi fisici

• Doppino telefonico: segnali elettrici 100 Mbps – 1 Gbps; distanza max100 m (tipicamente LAN); cavo Ethernet con connettore RJ45

• Cavo coassiale: segnali elettrici; fino a 10 o 200 Mbps; fino a 200 o 500 m

• Fibra ottica: segnali luminosi; lunghe distanze; fino a 10 Gbps e lunghe distanze (tipicamente LAN e MAN)

• IrDA: onde elettromagnetiche infrarosse, oggi obsoleta

• Bluetooth: onde radio (WPAN); fino a qualche decina di m; fino a 3 Mbps

• Wi-Fi: onde radio (WLAN); fino a 100 m; fino a 100 Mbps

Internetworking

• Fornitore di connettività: ISP (Internet Service Provider)

• Modem: dispositivo di interfaccia calcolatore-linea telefonica

• Mod-ulazione: bit calcolatore segnali elettrici alla linea telef

• Dem-odulazione: segnali elettrici alla linea telef bit calcolatore

• Router: collega due reti e instrada i dati tra sottoreti

• Oggi dispositivi che integrano modem, router, firewall, switch (per LAN cablata), access point wi-fi

11/03/2017

56

Modem analogico (calcolatore – ISP): 56 Kbps

Modem digitale ISDN (calcolatore – ISP): 128 Kbps

Linea dedicata CDN per imprese medio-grandi

Tecnologie DSL: 160 Kbps – 52 Mbps connessione a banda larga; filtro per le frequenze. ADSL (download > upload)

WiMAX: banda larga senza fili

Telefonia mobile

Internet

• Fine anni ‘60: USA Ministero della Difesa ambienti militari e accademici Europa (anni ‘70), Italia (1986)

• Infrastruttura: struttura ridondante e commutazione di pacchetto (protocolli di rete) decentrata, non vulnerabile

• Anni ‘90 «Killer application di Internet»: World Wide Web

• Internet: rete di reti collegate tramite infrastrutture di interconnessione (sottoreti con porta di accesso - gateway – tra calcolatori della sottorete e Internet)

11/03/2017

57

Indirizzi IP

• Necessario individuare univocamente ciascun nodo (host) indirizzi IP (Internet Protocol): indirizzi a 32 cifre binarie (232) con rappresentazione decimale (es.193.204.205.20)

• ICANN (International Corporation for Assigned Names and Numbers): attribuzione di indirizzi IP, assegnazione di domini

• Nr. limitato di IP• Tecniche sw di mascheramento (NAT: Network Address Translation): al

gateway assegnato un indirizzo univoco; ai nodi della sottorete indirizzi diversi tra loro, non necessariamente diversi da quelli di altre sottoreti

• IPv6: versione 6 dell’IP con indirizzi a 128 bit

Domini

• Indirizzi IP indirizzi simbolici (es.mailservernew.unibg.it) basati su tabelle di corrispondenza gestite da server DNS (Domain NameSystem)

• uso di «tecniche di ricorsione» per l’identificazione di un server autorevole per disambiguazione

• Domini 3 livelli:

w w w. u n i b g . i t

1°livello (nazionali o sovranazionali)2°livello(3°livello)

11/03/2017

58

Servizi Internet

• Posta elettronica e liste di discussione

• FTP e reti paritarie peer to peer

• Gruppi di news e forum

• Chat, instant messaging e VOIP

• Backup, archiviazione e condivisione

• Web

Internet =infrastruttura tecnologica

Web = servizio

Posta elettronica

• Sistema asincrono

• Primi anni ‘70

• nomeutente@nomedominio

• Mail server (calcolatori per instradamento, smistamento e conservazione dei messaggi) + mail client (redazione e invio al mail server, ricezione dal mail server)

• Tipi di client:1. Programma di posta (es.Outlook)2. Programma integrato nel browser 3. Funzione di un sito web (es.Gmail)

11/03/2017

59

• Comunicazione client/server gestita da protocolli SMTP (invio), POP (ricezione), IMAP (consultazione)

• Messaggio: corpo, allegati, campi (da, a, oggetto, cc, ccn)

• Uso improprio: spam, catene di Sant’Antonio, phishing, allegati inutilmente pesanti• Scambio tramite FTP

• Intermediazione di servizi web (es. wetransfer) per memorizzazione remota e scaricamento differito

• Posta certificata: garanzia di ricezione e integrità del messaggio

Mailing list o liste di discussione

• Sistema asincrono basato su posta elettronica

• Messaggi su argomento comune

• Iscrizione e cancellazione gestite automaticamente da un programma di amministrazione

• Liste moderate/non moderate

11/03/2017

60

FTP

• Allegato come copia da un calcolatore a un altro = copia tra nodi della rete

• Protocollo FTP (File Transfer Protocol) per la copia tra nodi scambio di dati, doc, programmi tra calcolatori con SO o file system diversi

• Server (riservato uno spazio di memoria)/client FTP (accesso con credenziali, es. Filezilla)• Distribuzione sw

• Caricamento pagine web su un server

• Invio file di grandi dimensioni

p2p

• Reti paritarie: ogni nodo è cliente e servente

• Sfruttato per file sharing (es.eMule)

• Download, condivisione automatica e copyright

11/03/2017

61

Newsgroups e forum

• Scambio di informazioni tra comunità su temi specifici

• Metafora della bacheca tramite server (rete di servizi USENET) per la diffusione dei messaggi

• Fruizione tramite programmi dedicati, servizi integrati in browser o interfacce web

• Organizzazione tematica (threads), non solo cronologica, dei messaggi

• Oggi su web: Forum (+ immediatezza dei messaggi; - necessario conoscere indirizzo web)

Sistemi di comunicazione sincrona

• Tempo reale

• Utenti conosciuti/sconosciuti (nickname)

• IRC (Internet Relay Chat): chat testuale Instant messaging: chat ibride testo + MM (es.MSN)

• Protocollo VOIP + sistema p2p: Skype

11/03/2017

62

Servizi di backup

• Salvataggio via Internet (online backup) es. Dropbox, Google Drive

• (Possibile) installazione di un client sul pc per collegamento automatico e periodico a server remoto

• Salvataggio incrementale: aggiornamento del server per le sole differenze dal precedente salvataggio

• Previa compressione: risparmio di tempo e spazio

• Previa cifratura: sicurezza e privacy

• Backup: copia in remoto

• Archiviazione: copia in remoto con diverse versioni del medesimo file

• Condivisione: disco virtuale condiviso per la creazione, modifica, conservazione di documenti condivisi

Cloud computing: servizi di archiviazione

e/o di elaborazione dati in remoto

11/03/2017

63

Ipertesto

• Concettualmente: da secoli

• Termine hypertext: anni ‘70 Ted Nelson documenti con sistemi informatici (anni ‘80 prime realizzazioni, anni ‘90 web)

• Documento informatizzato costituito da porzioni di testo (blocchi, nodi o lessie) collegate tramite collegamenti (link) per nessi logici struttura reticolare navigazione non lineare (determinata dalla struttura) per il lettore: struttura aperta (determinata dall’autore)

• Blocchi autonomi e completi

• Collegamenti per tematiche affini e/o correlazione logica: hotwords

Forma di un ipertesto (struttura)

• Definita dai collegamenti tra i nodi• Lineare• Circolare• A stella• Gerarchica• A grafo completo

- Non necessariamente link bidirezionali- Possibili rimandi interni al singolo blocco (loop)

11/03/2017

64

Link: classificazione

• Interni al nodo / interni allo stesso sito

• Esterni al nodo (altre pagine)/ al sito (altri siti)

▪ Link di navigazione: transizione predeterminata dall’autore (destinazione certa)

▪ Link di attivazione: transizione dinamica (dipende da elaborazioni del programma, dal contesto, dall’utente) es.modulo di ricerca

➢Testuali: legati alla hotword ragionevole esperienza

➢Procedurali: cornice ipertestuale (pulsanti del browser, menu) ripetitività esperienza

oAssociativi: testuali per associazione concettuale

oStrutturali: portano a sezioni del sito

❖Link sitografici: elenchi di link a siti esterni

11/03/2017

65

Multimedialità

• Media diversi

• Fruizione multisensoriale

oDebole: giustapposizione di mezzi (es.PPT a lezione)

oIntrinseca: natura del mezzo (es.fumetto)

oAdditiva: aggiunta di diversi linguaggi (es. sottotitolazione)

oNativa: originaria del mezzo (es.cinema)

oRistretta: coesistenza e convergenza di più linguaggi (es.pag web) supporti elettronici e codifica digitale

oInterattiva: MM + interattività (es.navigazione web, videogioco)

Il Web

• Ipertestualità: struttura

• Multimedialità: contenuto

• Ipertestualità + MM = ipermedialità

• World Wide Web: Tim Berners-Lee, CERN, fine anni ‘80 (dal 1993 tecnologia resa pubblica) sistema documentale ipertestuale multimediale distribuito su rete/Internet (servizio di Internet)

11/03/2017

66

Architettura

• Pagine ospitate su server web (server http, es.Apache)

• Utente: naviga attraverso un programma client browser (IE, Firefox, Opera, Chrome, Safari)

• Testo superficiale (utente)/ testo profondo: visualizzazione di testo e formati img compatibili (es.jpg, gif, png) + altri formati visualizzabili con plug-in

Sito web: coerenza

• Autorialità

• Argomento

• Strategia (layout, grafica)

• Destinatario

• Collocazione fisica (pagine del sito su un solo server web)

• Collocazione virtuale (pagine con un unico indirizzo web radice)

11/03/2017

67

Terminologia

• Cos’è la homepage?

• Cos’è una splash page?

• Cos’è un portale? Orizzontale (generalista)/ verticale (specializzato)

• Cos’è un servizio web?• motore di ricerca (Google, Yahoo!, Bing)

• aste online (eBay)

• vendita online (Amazon, IBS)

• intermediazione commerciale (PayPal)

• posta elettronica (Gmail, Hotmail, Yahoo!)

Classificazione siti web: emittente

• Modalità di presentazione direzionale (proposta contenuti)

• Modalità di partecipazione circolare (scambio contenuti)

Siti aziendali: commercio commercio elettronico

Siti istituzionali: enti, università, etc erogazione servizi

Siti personali: individuali blog

11/03/2017

68

Classificazione siti web: funzioni linguaggio

• Funzione informativa: dati, info, notizie contesto

• Funzione conativa: siti aziendali destinatario

• Funzione emotiva: siti personali emittente

Statico - dinamico

• Pagina statica: corrispondenza 1:1 pagina utente-server (.htm, .html)

• Pagina dinamica: generata da un programma da parziali info su server e archivi; oggi nomi search engine friendly per ottimizzazione delle ricerche• File temporanei: esito di cui non c’è copia remota

• Elementi dinamici: script (es. nr. accessi alla pagina)

• CMS (Content Management Systems): facilità e coralità di gestione di un sito web; blog (es.WordPress)

11/03/2017

69

Pagina web

• Contenuti

• Cornice ipertestuale• Navigazione: menu, ritorni a home/pag precedente, barre del browser

• Identificazione e contatto: intestazione, banner, logo, colophon

3 standard

• HTTP (HyperText Transfer Protocol): protocollo di rete per comunicazione client/server

• HTML (HyperText Markup Language): formalismo per la formattazione, ipertestualizzazione e restituzione MM da testo profondo (tags) a testo superficiale (pagina come appare all’utente) tramite browser

• URL (Uniform Resource Locator): identificazione univoca di una risorsa web (es.indirizzo pag web o img)

11/03/2017

70

Navigazione web client/server

• client (calcolatore + browser) server (calcolatore/i + sw di gestione siti web)

• Protocolli TCP/IP + servizio DNS

• Generazione di un file preso dal file system (se pag statica) o generazione di file (se pag dinamica)

• Formattazione, ipertestualizzazione, restituzione MM da browser in base alle indicazioni contenute nel codice HTML

• Eventuali altre interazione per altri files correlati

• Client rilascia informazioni su di sé al server (file di log) servizi web di statistica

Feed RSS

• Tecnologie push vs. client/server

• Non occorre che l’utente richieda ogni volta un’informazione

• Attraverso programmi aggregatori (oggi integrati in browser) è possibile fruire di un flusso di notizie a cui ci si è iscritti (abbonati)

• Es.podcasting per audio/video (aggregatori es.iTunes o Juice)

≠ downloading: fruizione dopo scaricamento completo

≠ streaming: fruizione durante lo scaricamento

Occorre raggiungerela risorsa (≠ feed RSS)

11/03/2017

71

HTML

• Linguaggio di marcatura: uso di marche singole <hr> o doppie <p> </p>

• Struttura del documento, (formattazione), inserimento link e incorporazione di oggetti MM

• Oggi ulteriori linguaggi/tecnologie per gestire eventi, controllare automaticamente la correttezza di dati inseriti in un campo, aggiungere animazioni o simulazioni, aggiungere metainformazioni, etc. (JavaScript, Java, Flash, XML)

URLprotocollo://hostname:porta/pathname?query#frammento

http://www.unibg.it/baroni/fondamenti/pagina.htm#qui

• protocollo (http, https, ftp)

• hostname (indirizzo IP o nome indirizzo, non necessariamente WWW)

• porta (opzionale, identificato da un nr.)

• pathname (percorso nel file system del server: cartelle, sottocartelle, file)

• query (informazioni parametriche per la generazione di pagine dinamiche)

• frammento (punto preciso nella pagina)

11/03/2017

72

Semplificazione e permanenza

• Alias (es. http://www.unibg.it/alias )

• Ridirezione con refresh (es. http://www.unibg.it/lazzari)

• URL shorteners (servizio web es. https://bitly.com/ )

➢PURLs (Persistent URLs): sistema di corrispondenza che assicura che una pagina sia sempre raggiungibile da siti esterni anche se l’URL cambia

Motori di ricerca

• Ricerca testuale per parole chiave: lista di parole chiave (I) pagina dinamica contenente lista di collegamenti (O)

• Ricerca avanzata con operatori logici (AND, OR), doppi apici (“ ”), filtro per Paese, lingua, data

• Numerose aree del Web inaccessibili

• Interrogazione ad un database contenente informazioni su pagine web precedentemente catalogate in base al contenuto o a parole chiave che la descrivono

• Programmi (robot, spider, crawler) che analizzano e indicizzano le pagine (attività ciclica) copia da conservare nell’archivio del motore

11/03/2017

73

Motori di ricerca

• Ordinamento dei risultati: ranking

• Algoritmo di page rank: rilevanza, popolarità, sponsor, ??

Motori generalisti (Google, bing)

Metamotori (Metacrawler)

Motori paralleli

Clusterizzatori (https://yippy.com/ )

Motori specialistici (Google Libri, Google Scholar)

Web 2.0

• Evoluzione di un presunto Web 1.0?

• Condivisione, interazione, dialogo utente-utente e utente-sito

• Social network

• Piattaforme di condivisione di documenti

• Social network + sistemi di geolocalizzazione

• Wiki (saggezza della folla)

• Sistemi basati su reputazione (di persone, servizi, prodotti, etc.) e sistemi di raccomandazione (d’acquisto per affinità)

• Folksonomie e social bookmarking

11/03/2017

74

Riferimenti (slides)

Lazzari, Marco, “La Convenzione delle Nazioni Unite sui diritti delle persone con disabilità e le tecnologie telematiche”, in Olivia Osio, Paride Braibanti (a cura di), Il diritto ai diritti, Milano, Franco Angeli, 2012, pp.77-82

Lazzari, Marco (a cura di), Informatica umanistica, Milano, McGraw-Hill, 2014