cover-tecnologia-digitale-web

Marcello Missiroli
Tecnologia e progettazione per il mondo digitale e per il web 1
NUOVA EDIZIONE 2015
Digital Index Editore, Modena, 2015 - 
ISBN 9788897982692

 

 

 

 

Indice dell'opera

  224

Introduzione
Introduzione (per i docenti)
Come usare questo libro
Fil Rouge
1 - DATI E INFORMAZIONI
1.1 Il dato e l'informazione
1.1.1 Dati e codici
1.1.2 Informazione
1.1.3 La saggezza
1.1.4 Riassumendo
1.1.5 E ora?
1.1.6 Domande ed esercizi - Il dato e l'informazione
1.2 Il sistema di numerazione binario
1.2.1 Analogico e digitale
1.2.2 Il codice
1.2.3 I sistemi di numerazione
1.2.4 Il codice binario
1.2.4.1 Il “bit” e il “byte”
1.2.4.2 I multipli del byte
1.2.5 Riassumendo
1.2.6 Domande ed esercizi - Il sistema di numerazione binario
1.3 Usare il sistema binario
1.3.1 Conversione da decimale a binario
1.3.2 Conversione da Binario a Decimale
1.3.3 Operazioni elementari in base 2
1.3.4 Sistemi ottali ed esadecimali
1.3.4.1 Conversione rapida da esadecimale/ottale a binario
1.3.4.2 Conversione rapida da binario a esadecimale/ottale
1.3.5 Riassumendo
1.3.6 Domande ed esercizi - Usare il sistema binario
1.3.7 E ora?
Quiz 1
1.4 I numeri nel computer
1.4.1 Aritmetica degli insiemi limitati
1.4.2 Rappresentazione dei dati interi senza segno
1.4.3 Rappresentazione dei numeri con segno
1.4.4 Rappresentazione in complemento a 1
I calcoli
1.4.5 Rappresentazione in complemento a 2
1.4.5.1 La sottrazione in complemento a 2
1.4.5.2 Errori e anomalie
1.4.6 Codifica BCD
1.4.7 I numeri interi nei linguaggi di programmazione
1.4.8 Riassumendo
1.4.9 E ora?
1.4.10 Domande ed esercizi - I numeri nel computer
1.5 I numeri reali
1.5.1 Rappresentazione in virgola fissa
1.5.1.1 Conversione da decimale a virgola fissa
1.5.2 Rappresentazione in virgola mobile
1.5.3 I calcoli in virgola mobile
1.5.4 Errori e anomalie
1.5.5 Riassumendo
1.5.6 E ora?
1.5.7 Domande ed esercizi - I numeri reali
1.6 Numeri e lettere
1.6.1 Codifica ASCII
Tabella Caratteri ASCII non stampabili
Tabella Caratteri ASCII stampabili
1.6.2 Codepages: esplode la babele
1.6.3 Un po' di ordine: ASCII Esteso
1.6.3.1 Diffusione di ISO 8859 e problemi
1.6.4 Arriva l'Unicode
1.6.4.1 Implementazione sul calcolatore
1.6.4.2 Dettagli su UTF-8.
1.6.4.3 Utilizzo pratico di Unicode
1.6.5 Nei linguaggi di programmazione
1.6.6 Riassumendo
1.6.7 E ora?
1.6.8 Domande ed esercizi - Numeri e lettere
Quiz 2
1.7 Facciamo il punto e tracciamo la rotta
1.7.1 Esercizi di ricapitolazione - DATI E INFORMAZIONI
1.7.2 Spunti di riflessione
1.7.2.1 Codifiche
1.7.2.1 Complemento a 2
1.7.3 Mappe mentali
2 - COMUNICAZIONE, CODIFICA, FORMATI
2.1 La teoria dell'informazione
2.1.1 Comunicazione e codifiche
2.1.2 Misurare l'informazione
2.1.2.1 Nozione intuitiva di misura dell'informazione
2.1.2.1 Nozione un po' più formale della misura dell'informazione
2.1.3 A cosa serve tutto questo?
2.1.4 Compressione: distruttiva e non distruttiva
2.1.5 Il codice migliore
2.1.6 Entropia della comunicazione
2.1.7 La codifica migliore
2.1.8 Sorgenti con memoria
2.1.9 Correzione e rilevazione degli errori
2.1.9.1 Distanza di Hamming
2.1.9.2 Codice di parità longitudinale
2.1.9.3 Codice di parità verticale (checksum)
2.1.9.4 Codice di ridondanza ciclica (CRC)
2.1.9.5 Codice autocorrettivo di Hamming
2.1.10 Applicazioni pratiche
2.1.11 Riassumendo
2.1.12 E ora?
2.1.13 Domande ed esercizi - La teoria dell'informazione
2.2 Computer graphics
2.2.1 Come codificare le immagini?
2.2.2 La rappresentazione raster
2.2.3 Risoluzione
2.2.4 Colore e memoria
2.2.5 Problemi e anomalie
2.2.6 La rappresentazione vettoriale
2.2.7 Problemi e anomalie
2.2.8 I formati grafici
2.2.8.1 Fax
2.2.8.2 BMP
2.2.8.3 GIF
2.2.8.4 JPEG
2.2.8.5 PNG
2.2.8.6 Formati Autocad
2.2.8.7 Formato SVG
2.2.8.8 Postscript
2.2.8.9 PDF
2.2.9 I font: le forme dei caratteri
2.2.10 I font bitmap
2.2.11 I font outline
2.2.13 Problemi artistici
2.2.14 Aspetti pratici
2.2.14.1 Installazione
2.2.14.2 Modifiche
2.2.15 Riassumendo
2.2.16 E ora?
2.2.17 Domande ed esercizi - Computer graphics
2.3 Digital audio & video
2.3.1 Il suono in salsa digitale
2.3.2 Formati non compressi
2.3.2.1 Formato audio del CD
2.3.3 Formati compressi, senza perdita
2.3.4 Formati compressi, con perdita
2.3.5 Il video digitale
2.3.5.1 Digitalizzazione e codec
2.3.5.1 Tipi di compressione
2.3.6 I formati
2.3.7 I codec più diffusi
2.3.7.1 MPEG
2.3.7.2 I fratelli di MPEG-4
2.3.7.3 Windows Media
2.3.7.4 DVD e Blu-ray
2.3.8 Aspetti pratici
2.3.9 Riassumendo
2.3.10 E ora?
2.3.11 Domande ed esercizi - Digital audio & video
2.4 Facciamo il punto e tracciamo la rotta
2.4.1 Esercizi di ricapitolazione - Comunicazione, codifica, formati
2.4.2 Spunti di riflessione
2.4.3 Mappe mentali
3 - INTRODUZIONE AI SISTEMI OPERATIVI
3.1 Primo incontro con il sistema operativo
3.1.1 Definizione di un sistema operativo
3.1.2 Compiti del S.O.
3.1.3 Classificazione dei sistemi operativi
3.1.3.1 Desktop
3.1.3.2 Server
3.1.3.3 Mobile
3.1.3.4 Real time
3.1.3.5 Embedded
3.1.3.6 Distribuiti
3.1.4 Organizzazione di un sistema operativo
3.1.4.1 Sistema semplice
3.1.4.2 Struttura a due strati
3.1.4.3 Struttura a più strati
3.1.4.4 Macchine virtuali
3.1.4.5 Modelli ibridi
3.1.5 Il kernel
3.1.5.1 Tipologie di kernel
3.1.6 Panoramica dei SO attuali
3.1.6.1 Windows
3.1.6.2 Linux
3.1.6.3 Sistemi Apple: Mac OSX e IOS
3.1.6.4 Android
3.1.6.5 Cosa ci riserva il futuro?
3.1.7 Riassumendo
3.1.8 E ora?
3.1.9 Esercizi e domande - Primo incontro con il sistema operativo
3.2 L'accensione del computer
3.2.1 Sequenza di avvio classica
3.2.2 Il bootloader
3.2.3 Il bootloader di Window XP
3.2.4 Il bootloader nelle ultime versioni di Windows
3.2.4.1 Avvio e riavvio
3.2.5 GRUB
3.2.5.2 Configurazione
3.2.6 La nuova sequenza di avvio: (U)EFI
3.2.7 Problemi e anomalie
3.2.7.1 Troubleshooting
3.2.7.2 Modalità di emergenza
3.2.8 Riassumendo
3.2.9 E ora?
3.2.10 Esercizi e domande - L'accensione del computer
3.3 I processi
3.3.1 Le strutture del processo
3.3.2 Monotasking
3.3.2.1 Batch processing
3.3.2.2 Spooling
3.3.2.3 Sistemi operativi monotasking
3.3.3 Le interruzioni
3.3.4 La multiprogrammazione
3.3.4.1 Gli stati del processo
3.3.4.2 Foreground e background
3.3.4.3 Sistemi operativi multiprogrammati
3.3.5 Il multitasking preemptive
3.3.6 Algoritmi di scheduling
3.3.7 I thread
Implementazioni pratiche
3.3.8 Esecuzione parallela
3.3.8.1 Il pericolo dello stallo
3.3.9 Gestione dei processi in Windows
3.3.9.1 Teoria
3.3.9.2 Gestione Attività (Task Manager)
3.3.10 Gestione dei processi in Linux
3.3.10.1 Teoria
3.3.10.2 Gestione processi
3.3.11 Gestione dei processi nel SO mobili
3.3.12 Riassumendo
3.3.13 E ora?
3.3.14 Esercizi e Domande - I processi
3.4 Gestione utenti
3.4.1 Il “mio” computer
3.4.1 Controllo remoto
3.4.2 Identificazione e login
3.4.2 Multiutenza in Windows
3.4.2.1 Tipi di utenti
3.4.2.2 Gestione utenti (7 e 8)
3.4.2.3 Gestione utente (10)
3.4.2.4 Cambio dell'utente attivo
3.4.2.5 Utenti, gruppi e permessi sui file
3.4.3 Multiutenza in Linux
3.4.3.1 Tipi di utenti
3.4.3.2 Gestione utenti in Ubuntu
3.4.3.3 Cambio dell'utente attivo
3.4.3.4 Utenti, gruppi e permessi sui file
3.4.4 Il caso Android
3.4.5 Riassumendo
3.4.6 E ora?
3.4.7 Domande ed esercizi - Gestione utenti
3.5 La memoria
3.5.1 Vicino all'hardware: la cache
3.5.1.1 Stesso nome, altre applicazioni
3.5.1.2 Funzionamento della cache
3.5.2 La memoria centrale
3.5.2.1 Prime metodologie
3.5.2.2 La paginazione
3.5.2.3 Segmentazione
3.5.2.4 Il meglio dei due mondi.
3.5.3 La memoria virtuale
3.5.3.1 Funzionamento
3.5.3.2 Implementazione della memoria virtuale in Linux
3.5.3.3 Implementazione della memoria virtuale in Windows
3.5.4 Riassumendo
3.5.5 E ora?
3.5.6 Domande ed esercizi - La memoria
3.6 Gestione del disco
3.6.1 Le partizioni
2.6.1.1 Tabella delle partizioni classica: MBR
3.6.1.2 Tabelle delle partizioni generale: GPT
3.6.1.3 Nomenclatura delle partizioni
3.6.1.4 Strumenti
3.6.2 File
3.6.2.1 Tipi di file
3.6.2.2 Operazioni sui file
3.6.3 Il filesystem
3.6.3.1 Montaggio del filesystem
3.6.3.2. Journaling
3.6.3.3 Snapshot
3.6.3.4 Basta teoria!
3.6.4 Implementazione: il filesystem FAT
3.6.4.1 Funzionamento
3.6.4.2 Limitazioni di FAT
3.6.4.3 La "soluzione" ExFAT
3.6.5 Filesystem HFS
3.6.6 Filesystem NTFS
3.6.6.1 Dettagli tecnici
3.6.7 Filesystem EXT2
3.6.7.1 Directory, soft e hard links
3.6.7.2 Evoluzione di ext2
3.6.8 Filesystem su CD-ROM e DVD-ROM: ISO9660 e UDF
3.6.9 Oltre le partizioni: gestione logica del volumi
3.6.9.1 RAID
3.6.9.2 Problemi dei RAID
3.6.10 Riassumendo
3.6.11 E ora?
3.6.12 Domande ed esercizi - Gestione del disco
3.7 Facciamo il punto e tracciamo la rotta
3.7.1 Esercizi di ricapitolazione - INTRODUZIONE AI SISTEMI OPERATIVI
3.7.2 Spunti di riflessione
3.7.3 Mappe mentali
4 - SVILUPPO WEB
4.1 Le basi di HTML
4.1.1 Breve storia dell'HTML
4.1.2 Evoluzione del linguaggio
4.1.3 Struttura di un file HTML
4.1.3.1 Versione minimalistica
4.1.3.2 DTD e validazione
4.1.3.3 Qualche dettaglio in più: codifiche del testo
4.1.4 Gli elementi base
4.1.5 Formato del carattere
4.1.6 Liste
4.1.7 Gli strumenti del mestiere
4.1.7.1 Visualizzare : i browser
4.1.7.1 Scrivere: editor testuali, semitestuali e WYSWYG
4.1.7.3 Controllare: strumenti di supporto
4.1.8 Riassumendo
4.1.9 E ora?
4.1.10 Domande ed esercizi - Le basi di HTML
4.2 Link e grafica
4.2.1 Dal testo all'ipertesto
4.2.1.1 Dove andare?
4.2.1.2 I link esterni
4.2.1.3 I link interni
4.2.1.4 Problemi
4.2.2 Le immagini
4.2.2.1 Il tag img e i suoi attributi
4.2.2.2 Posizionamento dell'immagine
4.2.3 I colori
4.2.4 Blocchi di testo
4.2.5 L'allineamento del testo
4.2.6 Le tabelle
4.2.6.1 Dimensioni
4.2.6.2 Tabelle più complesse
4.2.6.3 Didascalie
4.2.6.4 Gruppi di colonne
4.2.7 Riassumendo
4.2.8 E ora?
4.2.9 Domande ed esercizi - Link e grafica
4.3 I Fogli di stile a cascata
4.3.1 Cosa sono?
4.3.2 Perche' usarli?
4.3.3 La regola dello stile
4.3.4 Posizionare lo stile
4.3.5 I selettori
4.3.5.1 Selettori di elemento
34.3.5.2 Selettori di classe
4.3.5.3 Selettore di ID
4.3.5.4 Pseudo-classi e pseudo-elementi
4.3.5.5 Commenti
4.3.6 Riassumendo
4.3.7 Strumenti
4.3.8 E ora?
4.3.9 Domande ed esercizi - I Fogli di stile a cascata
4.4 CSS1 – Le basi dello stile
4.4.1 Proprieta' dello sfondo e dei colori
4.4.1.1 Il colore in primo piano e di sfondo
4.4.1.2 Immagine di sfondo
4.4.2 Proprieta' relative al testo
4.4.2.1 Il carattere
4.4.2.2 Lo spazio
4.4.3 Stili sovrapposti: ereditarieta' e regole di cascata
4.4.3.1 Importanza
4.4.3.2 Specificità
4.4.3.3 Ordine di definizione (autore, utente)
4.4.3.4 Ordine di definizione (posizionamento)
4.4.3.5 Per far chiarezza...
4.4.4 La "rogna" Explorer
4.4.5 E ora?
4.4.6 Domande ed esercizi - CSS1 – Le basi dello stile
Quiz 3
4.5 CSS2 - Posizione e altri media
4.5.1 Selettori e pseudo-elementi più raffinati
4.5.2 Box Model
4.5.3 Altezza e overflow
4.5.4 Posizionamento
4.5.5 Image sprites
4.5.6 Elementi flottanti (floats)
4.5.8.1 Problemi con i float
4.5.7 Molti media, ma la stampa in particolare
4.5.7.1 Dimensioni della pagina stampata
4.5.7.2 Interruzioni di pagina
4.5.7.3 Preparazione per la stampa
4.5.8 Il layout delle pagine
4.5.9 Riassumendo
4.5.10 E ora?
4.5.11 Domande ed esercizi - CSS2 - Posizione e altri media
4.6 CSS3 - Uno sguardo al futuro
4.6.1 Selettori
4.6.2 Trasparenza (alpha channel)
4.6.3 Bordi arrotondati
4.6.4 Transizioni e animazioni
4.6.5 Incorporare i font
4.6.6 Riassumendo
4.6.7 E ora?
4.6.8 Domande ed esercizi - CSS3 - Uno sguardo al futuro
4.7 Facciamo i punto e tracciamo la rotta.
4.7.1 Esercizi di ricapitolazione - SVILUPPO WEB
4.7.2 Mappe mentali
5 - LA PROGETTAZIONE INFORMATICA
5.1 Scienza o arte?
5.1.1 Il "prodotto" software
5.1.1.1 Curva dei guasti atipica
5.1.1.2 Il software è immateriale
5.1.1.3 Differenza tra l'idea iniziale e la sua realizzazione
5.1.2 Il ciclo di vita del software
5.1.3 Modelli di sviluppo
5.1.3.1 Modello artigianale
5.1.3.2 Modello a cascata
5.1.3.3 Modelli iterativi
5.1.3.4 Modelli agili
5.1.4 Riassumendo
5.1.5 E ora?
5.1.6 Domande ed esercizi - Scienza o arte?
5.2 Analisi: che cosa vogliamo fare?
5.2.1 Prima fase: esplorazione
5.2.2 Seconda fase: organizzazione
5.2.3 Terza fase: Revisione e approvazione
5.2.4 Lo studio di fattibilita'
5.2.4.1 Struttura e contenuti
5.2.5 Demo: studio di fattibilita'
5.2.5.1 Analisi della situazione
5.2.5.2 Progetto di massima
5.2.5.3 Analisi del rischio
5.2.5.4 Analisi di impatto costi-benefici:
5.2.5.5 Raccomandazioni conclusive
5.2.6 Il documento dei requisiti
5.2.6.1 Casi d'uso: diagrammi
5.2.6.2 Casi d'uso: descrizione
5.2.6.3 Struttura generale
5.2.7 Demo: documento dei requisiti
5.2.7.1 Elenco dei requisiti
5.2.7.2 Diagramma dei casi d'uso
5.2.7.3 Descrizione dei casi d'uso
5.2.8 Strumenti
5.2.9 Riassumendo
5.2.10 Domande ed esercizi - Analisi: che cosa vogliamo fare?
5.3 Progettazione: come lo facciamo?
5.3.1 Progetto dell'architettura
5.3.2 Progetto di dettaglio
5.3.3 Progettazione web: Web design
5.3.3.1 Architettura informazioni
5.3.3.2 Struttura del sito
5.3.3.3 Mappa del sito
5.3.3.5 Prototipo di navigazione
5.3.4 Progettazione web: Visual design
5.3.4.1 Da dove si parte?
5.3.4.2 Personalizzazione
5.3.5 Progettazione web: prototipo di comunicazione
5.3.6 Progettazione tradizionale: progetto di dettaglio
5.3.7 Riassumendo
5.3.8 E ora?
5.3.9 Domande ed esercizi - Progettazione: come lo facciamo?
5.4 Realizzazione: facciamolo!
5.4.1 Progettazione tradizionale: codifica
5.4.2 Progettazione web: prototipi funzionali ed editoriali
5.4.2.1 Prototipo funzionale
5.4.2.2 Prototipo editoriale
5.4.3 Qualita' del software
5.4.4 La documentazione del codice
5.4.4.1 Documentazione cartacea
5.4.4.1 Documentazione automatica
5.4.5 Riassumendo
5.4.6 E ora?
5.4.7 Domande ed esercizi - Realizzazione: facciamolo!
5.5 Testing-1: Funziona?
5.5.1 Come testare?
5.5.2 Tipi di test
5.5.3 Test di unita'
5.5.3.1 I test funzionali
5.5.3.2 Test per classi di equivalenza
5.5.3.3 Altri tipi di test d'unità
5.5.5 Debugging
5.5.5.1 Leggere
5.5.5.2 Chiedere
5.5.5.3 Cercare
5.5.5.4 Tracciare
5.5.6 Classificazione e risoluzione degli errori
5.5.6.1 Errori di compilazione
5.5.5.6.2 Errori di linker
5.5.6.3 Errori in fase di esecuzione (runtime)
5.5.6.4 Errori logici
5.5.7 Test d'integrazione
5.5.8 Strumenti di debugging
5.5.8.1 assert()
5.5.8.2 Stampa messaggi
5.5.8.3 Debugger
5.5.8.4 Traccia a mano e “Walkthrough”
5.5.9 Riassumendo
5.5.10 E ora?
5.5.11 Domande ed esercizi - Testing-1: Funziona?
5.6 Testing-2: È quello che il cliente voleva?
5.6.1 Test di accettazione
5.6.2 Test di sistema
5.6.3 Usabilita'
5.6.3.1 Valutazioni euristiche
5.6.4 Euristica: il caso web
5.6.4.1 "Catturare" il cliente in fretta
5.6.4.2 Limitare tempi di caricamento
5.6.4.3 Accessibilità web
5.6.4.4 Farsi trovare
5.6.4 Test di usabilita'
5.6.4.1 Effettuare un test di usabilità
5.6.5 Post-test: Rilascio e Manutenzione
5.6.5.1 Responsabilità e durata
5.6.6 E ora?
5.6.7 Riassumendo
5.6.8 Domande e Esercizi - Testing-2: È quello che il cliente voleva?
5.7 Facciamo il punto
5.7.1 Esercizi di ricapitolazione - LA PROGETTAZIONE INFORMATICA
5.7.2 Mappe mentali
APPENDICE
La proprieta' intellettuale
I sistemi esistenti
Le nuove tecnologie
No-copyright
Irrigidimento delle normative
Il software e i contenuti liberi
Premessa storica
Le licenze attuali
Pubblico dominio
Licenze Commerciali (chiuse)
Licenze Aperte
Creative Commons
Cosa significa tutto questo, in pratica?
E ora?
Linux
Introduzione generale
Installazione
Interfaccia utente grafica
Interfaccia testuale
E ora?
Ringraziamenti
Guida per i docenti di teoria e ITP